numpy.linalg.inv¶
- linalg.inv(a)[source]¶
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.
- Returns
- ainv(…, M, M) ndarray or matrix
(Multiplicative) inverse of the matrix a.
- Raises
- LinAlgError
If a is not square or inversion fails.
See also
scipy.linalg.inv
Similar function in SciPy.
Notes
New in version 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 ]], [[-1.25, 0.75], [ 0.75, -0.25]]])