相同点

用于求解形如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

最后修改:2020 年 12 月 27 日
你的赞赏是我前进的动力