eigvalsh

tenpy.linalg.np_conserved.eigvalsh(a, UPLO='L', sort=None)[source]

Calculate eigenvalues for a hermitian matrix.

Assumes that a is hermitian, a.conj().transpose() == a.

Parameters:
  • a (Array) – The hermitian square matrix to be diagonalized.

  • UPLO ({'L', 'U'}) – Whether to take the lower (‘L’, default) or upper (‘U’) triangular part of a.

  • sort ({‘m>’, ‘m<’, ‘>’, ‘<’, None}) – How the eigenvalues should are sorted within each charge block. Defaults to None, which is same as ‘<’. See argsort() for details.

Returns:

W – The eigenvalues, sorted within the same charge blocks according to sort.

Return type:

1D ndarray

Notes

The eigenvalues are sorted within blocks of the completely blocked legs.