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

Return the eigenvalues and eigenvectors of a complex Hermitian

LAX-backend implementation of 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.


  • 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.