speigs

tenpy.linalg.np_conserved.speigs(a, charge_sector, k, *args, **kwargs)[source]

Sparse eigenvalue decomposition w, v of square a in a given charge sector.

Finds k right eigenvectors (chosen by kwargs['which']) in a given charge sector, tensordot(A, V[i], axes=1) = W[i] * V[i].

Parameters
aArray

A square array with contractible legs and vanishing total charge.

charge_sectorcharges

ndim charges to select the block.

kint

How many eigenvalues/vectors should be calculated. If the block of charge_sector is smaller than k, k may be reduced accordingly.

*args, **kwargs :

Additional arguments given to scipy.sparse.linalg.eigs.

Returns
Wndarray

k (or less) eigenvalues

Vlist of Array

k (or less) right eigenvectors of A with total charge charge_sector. Note that when interpreted as a matrix, this is the transpose of what np.eigs normally gives.