# LanczosGroundState

Inheritance Diagram

Methods

 `LanczosGroundState.__init__`(H, psi0, options) `LanczosGroundState.iadd_prefactor_other`(w, ...) `LanczosGroundState.iscale_prefactor`(w, scale) Find the ground state of H.
class tenpy.linalg.krylov_based.LanczosGroundState(H, psi0, options)[source]

Bases: `KrylovBased`

Lanczos algorithm to find the ground state.

Assumes that H is hermitian.

Options

config LanczosGroundState
option summary

cutoff (from KrylovBased) in KrylovBased

Cutoff to abort if the norm of the new krylov vector is too small. [...]

E_shift (from KrylovBased) in KrylovBased

Shift the energy (=eigenvalues) by that amount *during* the Lanczos run by [...]

E_tol

Stop if energy difference per step < `E_tol`

min_gap (from KrylovBased) in KrylovBased

Lower cutoff for the gap estimate used in the P_tol criterion.

N_cache

The maximum number of `psi` to keep in memory during the first iteration. [...]

N_max (from KrylovBased) in KrylovBased

Maximum number of steps to perform.

N_min (from KrylovBased) in KrylovBased

Minimum number of steps to perform.

P_tol (from KrylovBased) in KrylovBased

Tolerance for the error estimate from the Ritz Residual, [...]

reortho

For poorly conditioned matrices, one can quickly loose orthogonality of the [...]

option E_tol: float

Stop if energy difference per step < E_tol

option N_cache: int

The maximum number of psi to keep in memory during the first iteration. By default, we keep all states (up to N_max). Set this to a number >= 2 if you are short on memory. The penalty is that one needs another Lanczos iteration to determine the ground state in the end, i.e., runtime is large.

option reortho: bool

For poorly conditioned matrices, one can quickly loose orthogonality of the generated Krylov basis. If reortho is True, we re-orthogonalize against all the vectors kept in cache to avoid that problem.

run()[source]

Find the ground state of H.

Returns:

• E0 (float) – Ground state energy (estimate).

• psi0 (`Array`) – Ground state vector (estimate).

• N (int) – Used dimension of the Krylov space, i.e., how many iterations where performed.