相同点
用于求解形如AX=b
的方程组。
不同点
numpy.linalg.solve需要A矩阵为方阵,求解的结果为方程准确解。
numpy.linalg.lstsq允许A矩阵为超定的,当方程数大于未知数时求解结果为最小二乘近似解。
另外在使用时注意返回值不同,lstsq返回更多信息。
X = numpy.linalg.solve(A, b)
X = np.linalg.lstsq(A, B, rcond=None)[0]
当A矩阵为方阵时,计算结果没有差别,可以认为lstsq是solve的超集。
参考
https://numpy.org/doc/stable/reference/generated/numpy.linalg.solve.html
https://numpy.org/doc/stable/reference/generated/numpy.linalg.lstsq.html