LanczosEvolution¶
full name: tenpy.linalg.lanczos.LanczosEvolution
parent module:
tenpy.linalg.lanczostype: class
-
class
tenpy.linalg.lanczos.LanczosEvolution(H, psi0, params)[source]¶ Bases:
tenpy.linalg.lanczos.LanczosGroundStateCalculate \(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 topsi0in 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