Я працюю над матричною бібліотекою, призначеною лише для заголовка, щоб забезпечити деяку розумну ступінь можливості лінійної алгебри в максимально простому пакеті, і я намагаюся дослідити, що таке сучасний рівень техніки: обчислення SVD а складна матриця.
Я роблю двофазну декомпозицію, бідіагоналізацію з подальшим обчисленням сингулярного значення. Зараз я використовую метод домогосподарства для бідіагоналізації (я вважаю, що LAPACK також використовує це), і я думаю, що це приблизно так само добре, як і в даний час (якщо хтось не знає алгоритм для нього..).
Наступне в моєму списку - обчислення сингулярних значень, і я дещо вийшов із циклу щодо загальних алгоритмів для цього. Я прочитав тут, що дослідження спрямовувалося на метод зворотної ітерації, що гарантує ортогональність зі складною . Мені було б цікаво почути про той чи інший прогрес.