mindspore.ops.slogdet

mindspore.ops.slogdet(input)[source]

Computes the sign and the log of the absolute value of the determinant of one or more square matrices.

Parameters

input (Tensor) – A matrix to be calculated, its shape is \((..., M, M)\). The matrix must be at least two dimensions, and the last two dimensions must be the same size. Data type must be float32, float64, complex64 or complex128.

Returns

Tensor. The signs of the log determinants. The shape is \(input.shape[:-2]\) , and the dtype is same as input.

Tensor. The absolute values of the log determinants. The shape is \(input.shape[:-2]\). The dtype always be real-value, even input is complex.

Raises
  • TypeError – If input is not a Tensor.

  • TypeError – If dtype of input not float32, float64, complex64 or complex128.

  • ValueError – If the last two dimensions of input is not same size.

  • ValueError – If the dimension of input is less than 2.

Supported Platforms:

Ascend GPU CPU

Examples

>>> input_x = Tensor(np.array([[[-4.5, -1.5], [7.0, 6.0]], [[2.5, 0.5], [3.0, 9.0]]]), mindspore.float32)
>>> sign, output = ops.slogdet(input_x)
>>> print(sign)
[-1.   1.]
>>> print(output)
[2.80336046e+00    3.04452229e+00]