mindspore.scipy.linalg.inv

mindspore.scipy.linalg.inv(a, overwrite_a=False, check_finite=True)[source]

Compute the inverse of a matrix.

Note

  • inv is not supported on Windows platform yet.

  • Only float32, float64, int32, int64 are supported Tensor dtypes. If Tensor with dtype int32 or int64 is passed, it will be cast to mstype.float64.

Parameters
  • a (Tensor) – Square matrix to be inverted.

  • overwrite_a (bool, optional) – Discard data in a (may improve performance). Default: False.

  • check_finite (bool, optional) – Whether to check that the input matrix contains only finite numbers. Disabling may give a performance gain, but may result in problems (crashes, non-termination) if the inputs do contain infinities or NaNs. Default: True.

Returns

Tensor, inverse of the matrix a.

Raises
  • LinAlgError – If \(a\) is singular.

  • ValueError – If \(a\) is not square, or not 2D.

Supported Platforms:

CPU GPU

Examples

>>> import numpy as onp
>>> from mindspore.common import Tensor
>>> import mindspore.numpy as mnp
>>> from mindspore.scipy.linalg import inv
>>> a = Tensor(onp.array([[1., 2.], [3., 4.]]))
>>> print(inv(a))
[[-2.   1. ]
 [ 1.5 -0.5]]
>>> print(mnp.dot(a, inv(a)))
[[1.0000000e+00 0.0000000e+00]
 [8.8817842e-16 1.0000000e+00]]