当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python numpy linalg.solve用法及代码示例


本文简要介绍 python 语言中 numpy.linalg.solve 的用法。

用法:

linalg.solve(a, b)

求解线性矩阵方程或线性标量方程组。

计算 well-determined 的 “exact” 解 x,即满秩线性矩阵方程 ax = b。

参数

a (…, M, M) 数组

系数矩阵。

b {(…, M,), (…, M, K)}, 数组

纵坐标或“dependent variable” 值。

返回

x {(…, M,), (…, M, K)} ndarray

系统 a x = b 的解。返回的形状与 b 相同。

抛出

LinAlgError

如果 a 是单数或不是正方形。

注意

广播规则适用,有关详细信息,请参阅 numpy.linalg 文档。

使用 LAPACK 例程 _gesv 计算解决方案。

a必须是平方且满秩的,即所有行(或等效地,列)必须是线性独立的;如果其中一个不为真,请使用numpy.linalg.lstsq对于系统/方程的最小二乘最佳“solution”。

参考

1

G. Strang,线性代数及其应用,第 2 版,佛罗里达州奥兰多,学术出版社,1980 年,第 1 页。 22.

例子

求解方程组 x0 + 2 * x1 = 13 * x0 + 5 * x1 = 2

>>> a = np.array([[1, 2], [3, 5]])
>>> b = np.array([1, 2])
>>> x = np.linalg.solve(a, b)
>>> x
array([-1.,  1.])

检查解决方案是否正确:

>>> np.allclose(np.dot(a, x), b)
True

相关用法


注:本文由纯净天空筛选整理自numpy.org大神的英文原创作品 numpy.linalg.solve。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。