Наименьшие квадраты с использованием общего матричного векторного умножения, а не разреженных матриц - PullRequest
0 голосов
/ 23 сентября 2019

Есть ли способ вычисления

\argmin_{x}\|Ax-b\|_2

на основе функции, которая вычисляет матричные векторные произведения Ax, без явного сохранения, разреженного или не разреженного, A в памяти?

В Python для этого я бы использовал scipy.sparse.linalg.lsqr (несмотря на имя пакета, эта функция не требует разреженных матриц, но допускает LinearOperator s.

1 Ответ

0 голосов
/ 25 сентября 2019

В итоге я перевел открытый исходный код lsmr от Scipy на C #.Большая часть и без того удивительно короткого кода - это документирование и ведение журналов, возможно, есть 100 нетривиальных строк, каждая из которых имеет прямые эквиваленты в BLAS.(lsmr - улучшенная версия lsqr)

...