我需要解决(在最小二乘意义上)一大组(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],从而节省内存?会用吗?