原文:https://docs.scipy.org/doc/numpy/reference/generated/numpy.linalg.solve.html
校对:(虚位以待)
numpy.linalg.
solve
(a, b)[source]求解线性矩阵方程或线性标量方程组。
计算良好确定的,即满秩线性矩阵方程ax = b的“精确”解,x。
参数: | a:(...,M,M)array_like
b:{(...,M,),(...,M,K)},array_like
|
---|---|
返回: | x:{(...,M,),(...,M,K)} ndarray
|
上升: | LinAlgError
|
笔记
版本1.8.0中的新功能。
广播规则适用,有关详细信息,请参阅numpy.linalg
文档。
使用LAPACK程序_gesv计算解
a必须是正方形且满秩,即所有行(或等效地,列)必须是线性无关的;如果任一个不为真,则使用lstsq
计算系统/方程的最小二乘最佳“解”。
参考文献
[R43] | G. Strang, Linear Algebra and Its Applications, 2nd Ed., Orlando, FL, Academic Press, Inc., 1980, pg. 22. |
例子
求解方程系统3 * x0 + x1 = 9
和x0 + 2 x1 = 8
:
>>> a = np.array([[3,1], [1,2]])
>>> b = np.array([9,8])
>>> x = np.linalg.solve(a, b)
>>> x
array([ 2., 3.])
检查解决方案是否正确:
>>> np.allclose(np.dot(a, x), b)
True