numpy.linalg.inv — NumPy v1.11 Manual (original) (raw)

numpy.linalg.inv(a)[source]

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. ]]])