numpy.linalg.inv¶
- numpy.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.
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. ]]])