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

Eigenvalues and eigenvectors of a symmetric matrix.

This method calculates eigenvalues and eigenvectors of a given symmetric matrix.

  • 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 a tuple (w, v). w contains eigenvalues and v contains eigenvectors. v[:, i] is an eigenvector corresponding to an eigenvalue w[i]. For batch input, v[k, :, i] is an eigenvector corresponding to an eigenvalue w[k, i] of a[k].

Return type

tuple of ndarray


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().