SyTen
syten::Krylov::ClassicImpl::ExponentialSolver< Solver > Struct Template Reference

The ExponentialSolver struct solves exp(prefactor*mat)*vec. More...

#include <classic_krylov.h>

+ Collaboration diagram for syten::Krylov::ClassicImpl::ExponentialSolver< Solver >:

Public Types

using Vector = typename Solver::Vector_type
 The vector type of the calling solver. More...
 

Public Member Functions

template<typename MatrixScalar , typename Vectors , typename Scalar >
void finalizeSolution (Solver const &, IterativeConfig const &, std::pair< DenseTensor< 2, MatrixScalar >, Vectors > &&mat_v, SRDef initialNorm, Scalar, Vector &vec)
 as the name suggests, this actually solves after the test has run More...
 
template<typename MatrixScalar , typename Vectors , typename Scalar >
SRDef solveForConvergence (Solver const &, IterativeConfig const &, std::pair< DenseTensor< 2, MatrixScalar >, Vectors > &&mat_v, SRDef, Scalar prefactor, Vector &)
 operator () solve exp(prefactor*mat)*vec and calculate the error, does not actually return the solution. More...
 

Private Member Functions

template<typename MatrixScalar , typename Scalar >
auto solve (DenseTensor< 2, MatrixScalar > mat, Scalar prefactor)
 Solves the Lanczos subproblem and calculates the current result. More...
 

Private Attributes

SRDef normPrev = NAN
 Norm of the result from the previous call. More...
 
DenseTensor< 1, SDefprev
 Result from previous call. More...
 
boost::any prevPrefactor
 Prefactor of the previous call to this solver. More...
 

Detailed Description

template<typename Solver>
struct syten::Krylov::ClassicImpl::ExponentialSolver< Solver >

The ExponentialSolver struct solves exp(prefactor*mat)*vec.


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