numpy.linalg.inv

linalg.inv(a)[源代码]

计算矩阵的(乘法)逆矩阵。

给定一个方阵 a ,返回矩阵 ainv 令人满意的 dot(a, ainv) = dot(ainv, a) = eye(a.shape[0]) .

参数
a(…,m,m)数组类

要反转的矩阵。

返回
ainv(…,m,m)ndarray或matrix

矩阵的(乘法)逆矩阵 a .

加薪
LinAlgError

如果 a 不正或反转失败。

参见

scipy.linalg.inv

在SciPy中有类似的功能。

笔记

1.8.0 新版功能.

广播规则适用,见 numpy.linalg 有关详细信息的文档。

实例

>>> from numpy.linalg import inv
>>> a = np.array([[1., 2.], [3., 4.]])
>>> ainv = inv(a)
>>> np.allclose(np.dot(a, ainv), np.eye(2))
True
>>> np.allclose(np.dot(ainv, a), np.eye(2))
True

如果a是矩阵对象,则返回值也是矩阵:

>>> ainv = inv(np.matrix(a))
>>> ainv
matrix([[-2. ,  1. ],
        [ 1.5, -0.5]])

几个矩阵的逆矩阵可以同时计算:

>>> a = np.array([[[1., 2.], [3., 4.]], [[1, 3], [3, 5]]])
>>> inv(a)
array([[[-2.  ,  1.  ],
        [ 1.5 , -0.5 ]],
       [[-1.25,  0.75],
        [ 0.75, -0.25]]])