Exponential solver which also calculates a fine grid of overlaps for every time step taken. More...
#include <solver_policies.h>
Public Member Functions | |
template<typename VectorType , typename StreamType > | |
void | sp_wrapup (DenseTensor< 2, SDef > const &projected_mat, std::vector< VectorType > const &krylov, SRDef initialnorm, SDef toffset, SDef tbeg, SDef dt, Index num_points, std::vector< VectorType > const &overlapee, std::vector< StreamType > &output) |
Wrap-Up implementation discretizing the timestep dt into num_points smaller timesteps in which overlaps with the vectors stored in 'overlapees' will be computed and streamed into the outstreams stored in the vector 'output'. More... | |
template<typename VectorType , typename StreamType > | |
void | sp_wrapup (DenseTensor< 2, SDef > const &projected_mat, std::vector< VectorType > const &krylov, SRDef initialnorm, SDef toffset, SDef tbeg, SDef dt, Index num_points, VectorType const &overlapee, StreamType &output) |
Wrap-Up implementation which discretises the current timestep dt into num_points steps and evaluates the overlap with the vector overlapee at each of those steps. More... | |
Public Member Functions inherited from syten::Krylov::SolverPolicies::Exponential | |
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... | |
Additional Inherited Members | |
Static Protected Member Functions inherited from syten::Krylov::SolverPolicies::Exponential | |
static DenseTensor< 1, SDef > | get_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... | |
Exponential solver which also calculates a fine grid of overlaps for every time step taken.