cupy.linalg.eigvalsh(a, UPLO='L')[source]#

Compute the eigenvalues of a complex Hermitian or real symmetric matrix.

Main difference from eigh: the eigenvectors are not computed.

  • a (cupy.ndarray) – A symmetric 2-D square matrix (M, M) or a batch of symmetric 2-D square matrices (..., M, M).

  • UPLO (str) – Select from 'L' or 'U'. It specifies which part of a is used. 'L' uses the lower triangular part of a, and 'U' uses the upper triangular part of a.


Returns eigenvalues as a vector w. For batch input, w[k] is a vector of eigenvalues of matrix a[k].

Return type:



This function calls one or more cuSOLVER routine(s) which may yield invalid results if input conditions are not met. To detect these invalid results, you can set the linalg configuration to a value that is not ignore in cupyx.errstate() or cupyx.seterr().