The "Standard" Krylov method using the same solver and orthonormalisation policies as TensorNetworksKrylov but with the original Lanczos order. More...
#include <standard_krylov.h>
Inheritance diagram for syten::Krylov::Standard< Matrix, Vector, OrthoPolicy, SolverPolicy >:
Collaboration diagram for syten::Krylov::Standard< Matrix, Vector, OrthoPolicy, SolverPolicy >:Public Types | |
| using | Matrix_type = Matrix |
| type of the supplied matrix More... | |
| using | Vector_type = Vector |
| type of the supplied vector More... | |
Public Member Functions | |
| std::tuple< std::vector< Vector >, DenseTensor< 2, SRDef > > | get_krylov_and_Heff () |
| DenseTensor< 2, SRDef > | get_projected_matrix () |
Constructs a DenseTensor representation of the projected matrix from the stored a and b coefficients. More... | |
| Standard & | operator= (Standard &&)=default |
| Move assignment op defaulted. More... | |
| Standard & | operator= (Standard const &)=delete |
| Copy assignment op deleted. More... | |
| void | reinit (Vector &&initial_) |
| Reinitialise the solver by passing in a new initial vector. More... | |
| template<typename... Params> | |
| IterativeExit | solve (IterativeConfig const &conf, Vector &result, Params &&... params) |
Solve the problem obeying configuration conf. More... | |
| template<typename... Params> | |
| IterativeExit | solve_no_extend (IterativeConfig const &conf, Vector &result, Params &&... params) |
| Solves the problem once without extending the Krylov space. More... | |
| Standard ()=delete | |
| Default ctor deleted. More... | |
| Standard (Matrix const &matrix_) | |
| Second construction method: Pass in a matrix, you still have to call reinit() to pass in an initial vector. More... | |
| Standard (Matrix const &matrix_, Vector &&initial_) | |
| First construction method: pass in a matrix and an initial vector. More... | |
| Standard (Standard &&)=default | |
| Move ctor defaulted. More... | |
| Standard (Standard const &)=delete | |
| Copy ctor deleted. More... | |
| bool | test_solve_now (IterativeConfig const &conf) |
| Returns true if one should attempt a solution at this step, depending on the configuration. More... | |
| template<typename... Params> | |
| void | wrapup (Params &&... params) |
| Hook to evaluate data at completion of the current Krylov space calculation. More... | |
Private Attributes | |
| std::vector< SRDef > | a |
| Diagonal entries of generated matrix. More... | |
| std::vector< SRDef > | b |
| Off-diagonal entries of generated matrix. More... | |
| SRDef | initial_norm {NAN} |
| Norm of initial state, NAN if uninitialised. More... | |
| std::vector< Vector > | krylov |
| Vector of generated Krylov vectors. More... | |
| Matrix const & | matrix |
| Matrix object to solve. More... | |
| Vector | vec_stored |
| temporary Krylov vector candidate. More... | |
| bool | vec_valid {false} |
true if vec_stored contains a valid result of an operator application More... | |
The "Standard" Krylov method using the same solver and orthonormalisation policies as TensorNetworksKrylov but with the original Lanczos order.