jax.numpy.linalg.eigh(a, UPLO=None, symmetrize_input=True)[source]#

Return the eigenvalues and eigenvectors of a complex Hermitian

LAX-backend implementation of numpy.linalg.eigh().

Original docstring below.

(conjugate symmetric) or a real symmetric matrix.

Returns two objects, a 1-D array containing the eigenvalues of a, and a 2-D square array or matrix (depending on the input type) of the corresponding eigenvectors (in columns).

  • a ((..., M, M) array) ā€“ Hermitian or real symmetric matrices whose eigenvalues and eigenvectors are to be computed.

  • UPLO ({'L', 'U'}, 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.

Return type

Tuple[Array, Array]


  • w ((ā€¦, M) ndarray) ā€“ The eigenvalues in ascending order, each repeated according to its multiplicity.

  • v ({(ā€¦, M, M) ndarray, (ā€¦, M, M) matrix}) ā€“ The column v[:, i] is the normalized eigenvector corresponding to the eigenvalue w[i]. Will return a matrix object if a is a matrix object.



G. Strang, Linear Algebra and Its Applications, 2nd Ed., Orlando, FL, Academic Press, Inc., 1980, pg. 222.


symmetrize_input (bool) ā€“