numpy.linalg.inv — NumPy v1.11 Manual (original) (raw)
Compute the (multiplicative) inverse of a matrix.
Given a square matrix a, return the matrix ainv satisfyingdot(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. |
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]], [[-5. , 2. ], [ 3. , -1. ]]])