Solvers
Functions to perform local updates. These functions use Krylovkit.jl.
TenNetLib.eig_solver
— Functionfunction eig_solver(env, phi0::ITensor, time_step::Nothing; kwargs...)
Solver to find smallest eigenvalue corresponding to "matrix" env
and input vector phi0
.
Named arguments for solver
and their default values:
See the documentation of KrylovKit.jl.
ishermitian::Bool = true
solver_tol::Float64 = 1E-14
.solver_krylovdim::Int = 5
.solver_maxiter::Int = 2
.solver_outputlevel::Int = 0
: Seeverbosity
in KrylovKit.jl.solver_eager::Bool = false
.solver_check_convergence::Bool = false
.
Return values:
::Float64
: Smallest eigenvalue.::ITensor
: Eigenstate corresponding to the smallest eigenvalue.
TenNetLib.exp_solver
— Functionfunction exp_solver(env, phi0::ITensor, time_step::Union{Float64, ComplexF64}; kwargs...)
Exponentiation solver to find exp(env * phi0 * time_step)
.
Named arguments for solver
and their default values:
See the documentation of KrylovKit.jl.
ishermitian::Bool = true
solver_tol::Float64 = 1E-12
.solver_krylovdim::Int = 30
.solver_maxiter::Int = 10
.solver_outputlevel::Int = 0
: Seeverbosity
in KrylovKit.jl.solver_eager::Bool = true
.solver_check_convergence::Bool = true
.
Return values:
::Float64
:NaN
.::ITensor
: ExponentiatedITensor
.