cupynumeric.linalg.eigvalsh#

cupynumeric.linalg.eigvalsh(
a: ndarray,
UPLO: str = 'L',
) ndarray#

Compute the eigenvalues of a square array.

Parameters:
  • a ((..., M, M) array_like) – Matrices for which the eigenvalues will be computed, at least dimension 2.

  • {'L' (UPLO) – Specifies whether the calculation is done with the lower triangular part of a (‘L’, default) or the upper triangular part (‘U’). Irrespective of this value only the real parts of the diagonal will be considered in the computation to preserve the notion of a Hermitian matrix. It therefore follows that the imaginary part of the diagonal will always be treated as zero.

  • 'U'} – Specifies whether the calculation is done with the lower triangular part of a (‘L’, default) or the upper triangular part (‘U’). Irrespective of this value only the real parts of the diagonal will be considered in the computation to preserve the notion of a Hermitian matrix. It therefore follows that the imaginary part of the diagonal will always be treated as zero.

  • optional – Specifies whether the calculation is done with the lower triangular part of a (‘L’, default) or the upper triangular part (‘U’). Irrespective of this value only the real parts of the diagonal will be considered in the computation to preserve the notion of a Hermitian matrix. It therefore follows that the imaginary part of the diagonal will always be treated as zero.

Returns:

w – The eigenvalues in ascending order, each repeated according to its multiplicity.

Return type:

(…, M) array_like

Raises:

LinAlgError – If the eigenvalue computation does not converge.

Notes

Multi-GPU/CPU usage is limited to data parallel matrix-wise batching.

Availability:

Multiple GPUs, Multiple CPUs