# jax.numpy.linalg.invΒΆ

jax.numpy.linalg.inv(a)[source]ΒΆ

Compute the (multiplicative) inverse of a matrix.

LAX-backend implementation of inv(). Original docstring below.

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 β (Multiplicative) inverse of the matrix a.

Return type

(.., M, M) ndarray or matrix

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 ]],
[[-1.25,  0.75],
[ 0.75, -0.25]]])