我有一个关于NumPy模块linalg.lstsq(a,b)的问题。有没有可能检查这种方法找到收敛的速度有多快?我的意思是一些特征表明计算会有多快收敛? 谢谢你提前了解脑风暴。
答案 0 :(得分:5)
Numpy函数linalg.lstsq
使用奇异值分解(SVD)来解决最小二乘问题。因此,如果您的矩阵A
为n
n
,则需要n^3
个触发器。
更确切地说,我认为该函数使用Householder Bidiagonalization来计算SVD,因此,如果您的矩阵是m
n
,则复杂性将为O(max(m, n) * min(m, n)^2)
。