上一主题

numpy.linalg.lstsq

下一主题

numpy.linalg.pinv

numpy.linalg.inv

numpy.linalg.inv(a)[source]

计算矩阵的(乘法)逆。

Given a square matrix a, return the matrix ainv satisfying dot(a, ainv) = dot(ainv, a) = eye(a.shape[0]).

参数:

a:(...,M,M)array_like

矩阵要反转。

返回:

ainv:(...,M,M)ndarray或矩阵

(乘法)逆矩阵a

上升:

LinAlgError

如果a不是正方形或倒置失败。

笔记

版本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]],
       [[-5. ,  2. ],
        [ 3. , -1. ]]])