SyTen
syten::Krylov::Evolution::GreedyHeuristic< Solver, Clock > Class Template Reference

Heuristic which takes into account the time to build a new Krylov vector compared to the time to build an entire new subspace. More...

#include <krylov_evolve.h>

+ Inheritance diagram for syten::Krylov::Evolution::GreedyHeuristic< Solver, Clock >:
+ Collaboration diagram for syten::Krylov::Evolution::GreedyHeuristic< Solver, Clock >:

Classes

struct  Element
 Element of the computational history. More...
 

Public Member Functions

 GreedyHeuristic ()=default
 Default ctor. More...
 
 GreedyHeuristic (SRDef fac)
 Adapt the growth factor. More...
 
- Public Member Functions inherited from syten::Krylov::Evolution::Evolver< Solver >
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...
 
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 ~Evolver ()
 Virtual dtor to allow proper destruction. More...
 

Protected Member Functions

virtual bool do_recycle (Conf const &conf) const override
 override More...
 
virtual void init_evolve (Conf &) override
 override: We need to place a new time holder in data. 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...
 

Protected Attributes

std::vector< std::vector< Element > > data
 Computational history. More...
 
SRDef factor = 1.
 assumed growth factor for cost of Krylov vectors More...
 

Additional Inherited Members

- Public Attributes inherited from syten::Krylov::Evolution::Evolver< Solver >
Index count {}
 number of steps taken More...
 

Detailed Description

template<typename Solver, typename Clock = std::chrono::steady_clock>
class syten::Krylov::Evolution::GreedyHeuristic< Solver, Clock >

Heuristic which takes into account the time to build a new Krylov vector compared to the time to build an entire new subspace.

Only checks the next step, not all steps potentially possible with the new Krylov vector.


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