SyTen
syten::Krylov::SolverPolicies::Exponential Class Reference

Policy class to solve the Krylov problem and calculate \( \mathrm{exp}(t H) |\psi\rangle \) given a Krylov space, a timestep t and if necessary an initial norm. More...

#include <solver_policies.h>

+ Inheritance diagram for syten::Krylov::SolverPolicies::Exponential:
+ Collaboration diagram for syten::Krylov::SolverPolicies::Exponential:

Public Member Functions

SRDef sp_convergence (DenseTensor< 2, SDef > mat, SDef _idt)
 Returns the change in coefficients between the last call and the current call with the new matrix. More...
 
template<typename Vec >
auto sp_result (std::vector< Vec > const &krylov, SRDef initialnorm, SDef _idt) const
 Calculates \( \mathrm{exp}(t H) |\psi\rangle \) where \( |\psi \rangle \) is taken as the first element of krylov multiplied by its initial norm initialnorm and t = _idt. More...
 
template<typename... Unused>
void sp_wrapup (Unused &&...)
 Unused dummy implementation. More...
 

Static Protected Member Functions

static DenseTensor< 1, SDefget_coeffs (DenseTensor< 2, SDef > mat, SDef _idt)
 Given a dense matrix mat and a coefficient _idt, attempts to calculate the coefficients of the basis vectors to sum up to \( \mathrm{exp}( \mathtt{_idt} H) |e_0\rangle \). More...
 

Private Attributes

DenseTensor< 1, SDefmemoizedCoeffs
 Coefficients calculated during previous call. More...
 
SDef memoizedPrefactor = NAN
 Coefficient t used during previous call. More...
 

Detailed Description

Policy class to solve the Krylov problem and calculate \( \mathrm{exp}(t H) |\psi\rangle \) given a Krylov space, a timestep t and if necessary an initial norm.

The timestep t is transported in the solver-dependent parameter.


The documentation for this class was generated from the following file: