ArnoldiEvolution
full name: tenpy.linalg.krylov_based.ArnoldiEvolution
parent module:
tenpy.linalg.krylov_basedtype: class
Inheritance Diagram

Methods
|
|
|
|
|
|
|
Compute |
- class tenpy.linalg.krylov_based.ArnoldiEvolution(H, psi0, options)[source]
Bases:
ArnoldiCompute \(\\exp(\\delta H) |\\psi_0\\rangle\) using Arnoldi for non-Hermitian H.
Drop-in replacement for
LanczosEvolutionwhen H is not Hermitian. Builds an upper Hessenberg projection of H via full Gram-Schmidt orthogonalization (Arnoldi iteration), then computes the matrix exponential of the small projected matrix via eigendecomposition (numpy.linalg.eig+ pointwise scalar exponentials).- Parameters:
Options
- config ArnoldiEvolution
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 [...]
Inherited but ignored.
min_gap (from KrylovBased) in KrylovBased
Lower cutoff for the gap estimate used in the P_tol criterion.
N_max (from KrylovBased) in KrylovBased
Maximum number of steps to perform.
N_min (from KrylovBased) in KrylovBased
Minimum number of steps to perform.
Inherited but ignored.
P_tol (from KrylovBased) in KrylovBased
Tolerance for the error estimate from the Ritz Residual, [...]
reortho (from KrylovBased) in KrylovBased
For poorly conditioned matrices, one can quickly loose orthogonality of the [...]
Inherited but ignored.
- delta
Prefactor of H in the exponential.
- Type:
float/complex or None
- run(delta, normalize=None)[source]
Compute
expm(delta * H).dot(psi0)using Arnoldi.- Parameters:
delta (float/complex) – Prefactor of H in the exponential. Note that the complex
iis not included.normalize (bool) – Whether to normalize the result. Defaults to
False. UnlikeLanczosEvolution(which defaults tonp.real(delta) == 0), non-Hermitian evolution does not in general preserve the norm, so normalization would strip physically meaningful decay or growth and is off by default.
- Returns:
psi_f (
Array) – Best approximation forexpm(delta * H).dot(psi0).N (int) – Krylov space dimension used.