Concavity assumption: Number of vectors needed for the next step is at most as large as the number of vectors needed for the previous step. More...
#include <krylov_evolve.h>
Inheritance diagram for syten::Krylov::Evolution::ConcaveHeuristic< Solver >:
Collaboration diagram for syten::Krylov::Evolution::ConcaveHeuristic< Solver >:Public Member Functions | |
| virtual bool | do_recycle (Conf const &) const override |
| override More... | |
| virtual void | init_evolve (Conf &conf) override |
| override: need to re-initialise the number of vectors used/stored so far. More... | |
| virtual IterativeExit | virt_continue_evolution (Solver &k, typename Solver::Vector_type &s, Conf &conf, SDef dt) override |
| override More... | |
| virtual IterativeExit | virt_evolve (Solver &k, typename Solver::Vector_type &s, Conf &conf, SDef dt) override |
| override More... | |
Public Member Functions inherited from syten::Krylov::Evolution::Evolver< Solver > | |
| template<typename... WrapUpParams> | |
| void | do_step (Solver &k, typename Solver::Vector_type &s, Conf &conf, std::string const &suffix, WrapUpParams &&... params) |
| Does one step if the subspace can be recycled does not discard it(hopefully) More... | |
| template<typename... WrapUpParams> | |
| void | evolve (Solver k, typename Solver::Vector_type &s, Conf &conf, std::string const &suffix, WrapUpParams &&... params) |
| Builds one Krylov space and evolves within that space as far as possible, recycling it if necessary. More... | |
| virtual void | init_evolve (Conf &) |
| Hook to initialise the evolution process for subclasses. More... | |
| template<typename... WrapUpParams> | |
| void | loop_evolve (typename Solver::Matrix_type o, typename Solver::Vector_type &v, Conf &conf, std::string const &suffix, WrapUpParams &&... params) |
| Constructs the solver and evolves until the target time is reached. More... | |
| virtual IterativeExit | virt_continue_evolution (Solver &k, typename Solver::Vector_type &s, Conf &conf, SDef dt) |
| Hook for the continued actual evolution, calling out to the external functions by default. More... | |
| virtual IterativeExit | virt_evolve (Solver &k, typename Solver::Vector_type &s, Conf &conf, SDef dt) |
| Hook for the actual evolution, calling out to the external functions by default. More... | |
| virtual | ~Evolver () |
| Virtual dtor to allow proper destruction. More... | |
Private Attributes | |
| Index | nMax =Maximum() |
| maximally allowed number of vectors More... | |
| Index | nPenult {0} |
| number of vectors during second-to-last iteration More... | |
| Index | nUlt {1} |
| number of vectors during last iteration More... | |
Additional Inherited Members | |
Public Attributes inherited from syten::Krylov::Evolution::Evolver< Solver > | |
| Index | count {} |
| number of steps taken More... | |
| DenseTensor< 2, SDef > | current_Heff |
| Current krylov vectors. More... | |
| Vec< typename Solver::Vector_type > | current_krylov_vectors |
| Current krylov vectors. More... | |
Concavity assumption: Number of vectors needed for the next step is at most as large as the number of vectors needed for the previous step.