mindspore.ops.Eig

class mindspore.ops.Eig(compute_v=False)[source]

Computes the eigenvalues and eigenvectors of a square matrix(batch square matrices).

Parameters

compute_v (bool, optional) – If True, compute both eigenvalues and eigenvectors; If False, just eigenvalues will be computed. Default: False.

Inputs:
  • x (Tensor) - Square matrices of shape \((*, N, N)\), with float32, float64, complex64 or complex128 data type.

Outputs:
  • eigen_values (Tensor) - Shape \((*, N)\). Each inner most vector represents eigenvalues of the corresponding matrix. The eigenvalues may not have an order.

  • eigen_vectors (Tensor) - If compute_v is False, it’s an empty tensor. Otherwise, this tensor has shape \((*, N, N)\), whose columns represent normalized (unit length) eigenvectors of corresponding eigenvalues.

Raises
  • TypeError – If compute_v is not a bool.

  • TypeError – If dtype of x is not one of: float64, float32, complex64 or complex128.

  • TypeError – If x is not a Tensor.

  • ValueError – If x is not a square(batch squares).

Supported Platforms:

Ascend CPU

Examples

>>> input_x = Tensor(np.array([[1.0, 0.0], [0.0, 2.0]]), mindspore.float32)
>>> eig = ops.Eig(compute_v=True)
>>> u, v = eig(input_x)
>>> print(u)
[1.+0.j 2.+0.j]
>>> print(v)
[[1.+0.j 0.+0.j]
 [0.+0.j 1.+0.j]]