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.

Note

The type of output always be real-value, even input is complex.

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

Tensor. The absolute values of the log determinants. The shape is \(input.shape[:-2]\).

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

>>> import mindspore
>>> import numpy as np
>>> from mindspore import Tensor, ops
>>> 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]