class trainsum.lanczos.Lanczos(nsteps=1, subspace=3, eps=1e-08, solver=<trainsum.eighsolver.EigHSolver object>)

Lanczos eigenvalue solver.

Parameters:
nsteps: int = 1

Number of times the subspace is created and solved

subspace: int = 3

Size of the Lanczos basis

eps: float = 1e-08

Minimum difference between eigenvalues of consecutive steps, after which the algorithm is stopped

solver: MatrixEigenvalueDecomposition = <trainsum.eighsolver.EigHSolver object>

Eigenvalue solver for diagonalizing the matrix in the Lanczos basis

Parameters:

mat (T)

Return type:

tuple[T, T]

__call__(ham, guess, states=[], /)

Solve the eigenvalue problem for some linear map with an initial guess and a set of orthogonal states.

Parameters:
  • ham (Callable[[T], T])

  • guess (T)

  • states (Sequence)

Return type:

LanczosResult