This is documentation for an old release of NumPy (version 1.16). Read this page in the documentation of the latest stable release (version 2.2).
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. ]]])