線形システムの大規模なセット(50,000)を(最小二乗の意味で)解く必要があります。そのような各「システム」はAx=B
、A
N行K列の行列でx
あり、k行1列のベクトルであり、B(明らかに)はN行1列のベクトルです。(私の場合、Nは50,000、Kは〜10です)。
numpy.linalg.lstsqは当然の選択のようですが、ドキュメントには実装の詳細が含まれていないため、メモリと実行時のパフォーマンスについて疑問に思っています。
lstsqの実行時のパフォーマンスとメモリの要件は何ですか?
- A、A ^ Tを計算し、それらを乗算して逆行列を取りますか、それともAの疑似逆行列を直接計算しますか?
- 結果の各X[i]を直接計算して、メモリを節約する方法はありますか?使用しますか?