LanczosEvolution¶
full name: tenpy.linalg.lanczos.LanczosEvolution
parent module:
tenpy.linalg.lanczos
type: class
-
class
tenpy.linalg.lanczos.
LanczosEvolution
(H, psi0, params)[source]¶ Bases:
tenpy.linalg.lanczos.LanczosGroundState
Calculate \(exp(delta H) |psi0>\) using Lanczos.
It turns out that the Lanczos algorithm is also good for calculating the matrix exponential applied to the starting vector. Instead of diagonalizing the tri-diagonal T and taking the ground state, we now calculate
exp(delta T) e_0 in the Krylov ONB, where ``e_0 = (1, 0, 0, ...)
corresponds topsi0
in the original basis.- Parameters
- H, psi0, params :
Hamiltonian, starting vector and parameters as defined in
LanczosGroundState
. The parameters E_tol and min_gap are ignored, the parameters P_tol defines when convergence is reached, see_converged()
for details.
- Attributes
- deltafloat/complex
Prefactor of H in the exponential.
- _result_normfloat
Norm of the resulting vector.
Methods
run
(self, delta)Calculate
expm(delta H).dot(psi0)
using Lanczos.-
run
(self, delta)[source]¶ Calculate
expm(delta H).dot(psi0)
using Lanczos.- Parameters
- deltafloat/complex
Time step by which we should evolve psi0: prefactor of H in the exponential. Note that the complex i is not included!
- Returns
- psi_f
Array
Best approximation for
expm(delta H).dot(psi0)
- Nint
Krylov space dimension used.
- psi_f