# numpy.linalg.inv¶

`numpy.linalg.``inv`(a)[源代码]

Compute the (multiplicative) inverse of a matrix.

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

Parameters: a : (…, M, M) array_like Matrix to be inverted. ainv : (…, M, M) ndarray or matrix (Multiplicative) inverse of the matrix a. LinAlgError If a is not square or inversion fails.

Notes

1.8.0 新版功能.

Broadcasting rules apply, see the `numpy.linalg` documentation for details.

Examples

```>>> 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
```

If a is a matrix object, then the return value is a matrix as well:

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

Inverses of several matrices can be computed at once:

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