mindspore.ops.MatrixSolve

class mindspore.ops.MatrixSolve(adjoint=False)[source]

Solves systems of linear equations.

Parameters

adjoint (bool, optional) – Indicates whether the adjoint of the matrix is used during the computation. Default: False , use its transpose instead.

Inputs:
  • matrix (Tensor) - A tensor of shape \((..., M, M)\), is a matrix of coefficients for a system of linear equations.

  • rhs (Tensor) - A tensor of shape \((..., M, K)\), is a matrix of the resulting values of a system of linear equations. rhs must have the same type as matrix.

Outputs:

Tensor, a matrix composed of solutions to a system of linear equations, which has the same type and shape as rhs.

Raises
  • TypeError – If adjoint is not the type of bool.

  • TypeError – If the type of matrix is not one of the following dtype: mstype.float16, mstype.float32, mstype.float64, mstype.complex64, mstype.complex128.

  • TypeError – If the type of matrix is not the same as that of rhs.

  • ValueError – If the rank of matrix less than 2.

  • ValueError – If the dimension of matrix is not the same as rhs .

  • ValueError – If the inner-most 2 dimension of matrix is not the same.

  • ValueError – If the inner-most 2 dimension of rhs does not match matrix .

Supported Platforms:

Ascend CPU

Examples

>>> import mindspore
>>> import numpy as np
>>> from mindspore import Tensor, ops
>>> matrix = Tensor(np.array([[1.0  , 4.0],
...                       [2.0 , 7.0]]), mindspore.float32)
>>> rhs = Tensor(np.array([[1.0]  , [3.0]]), mindspore.float32)
>>> matrix_solve = ops.MatrixSolve(adjoint = False)
>>> output = matrix_solve(matrix, rhs)
>>> print(output)
[[5.0]
 [-1.0]]