Policy class to solve a Krylov subspace problem to get the lowest-eigenvalue eigenvector. More...
#include <solver_policies.h>
Public Member Functions | |
SRDef | sp_convergence (DenseTensor< 2, SDef > mat, SRDef &evalue) |
Tests convergence by calculating the overlap between the last-iteration result and the current result. More... | |
SRDef | sp_convergence (DenseTensor< 2, SDef > mat, SRDef &evalue, StandardImmediateSolve) |
Overload. More... | |
template<typename Vec > | |
auto | sp_result (std::vector< Vec > const &krylov, SRDef, SRDef &) const |
Calculates the result based on coefficients previously-calculated in sp_convergence(). More... | |
template<typename Vec > | |
auto | sp_result (std::vector< Vec > const &krylov, SRDef, SRDef &, StandardImmediateSolve) const |
Calculates the result based on coefficients previously-calculated in sp_convergence(). More... | |
template<typename... Unused> | |
void | sp_wrapup (Unused &&...) |
Unused dummy implementation. More... | |
Static Private Member Functions | |
static DenseTensor< 1, SDef > | get_coeffs (DenseTensor< 2, SDef > mat) |
Calculates coefficients by solving the subproblem. More... | |
Private Attributes | |
DenseTensor< 1, SDef > | memoizedCoeffs |
Coefficients calculated during previous call. More... | |
SRDef | memoizedNorm {NAN} |
Norm of previous solution. More... | |
Policy class to solve a Krylov subspace problem to get the lowest-eigenvalue eigenvector.
The only parameter is a reference to the place where the eigenvalue is to be stored.