Mundy: Multibody Nonlocal Dynamics Version of the Day
Loading...
Searching...
No Matches
mundy::CGStrategy< ResidualPolicy, Config > Class Template Reference

The CG strategy: initialize/iterate/done/result over (Problem, State). More...

#include <linear_system.hpp>

Public Types

using value_type = typename Config::value_type
using residual_policy_t = ResidualPolicy
using config_t = Config
using result_t = CGResult<value_type>

Public Member Functions

 CGStrategy (residual_policy_t resid, config_t cfg={})
template<class Problem, class State>
void initialize (const Problem &prob, State &state) const
template<class Problem, class State>
bool iterate (const Problem &prob, State &state) const
template<class State>
bool done (const State &state) const
template<class State>
result_t result (const State &state) const

Detailed Description

template<class ResidualPolicy, class Config>
class mundy::CGStrategy< ResidualPolicy, Config >

alpha/beta are fixed by the conjugate-direction recurrence, so there is no step policy – only how the residual is measured (ResidualPolicy) is pluggable.

Member Typedef Documentation

◆ value_type

template<class ResidualPolicy, class Config>
using mundy::CGStrategy< ResidualPolicy, Config >::value_type = typename Config::value_type

◆ residual_policy_t

template<class ResidualPolicy, class Config>
using mundy::CGStrategy< ResidualPolicy, Config >::residual_policy_t = ResidualPolicy

◆ config_t

template<class ResidualPolicy, class Config>
using mundy::CGStrategy< ResidualPolicy, Config >::config_t = Config

◆ result_t

template<class ResidualPolicy, class Config>
using mundy::CGStrategy< ResidualPolicy, Config >::result_t = CGResult<value_type>

Constructor & Destructor Documentation

◆ CGStrategy()

template<class ResidualPolicy, class Config>
mundy::CGStrategy< ResidualPolicy, Config >::CGStrategy ( residual_policy_t resid,
config_t cfg = {} )
inline

Member Function Documentation

◆ initialize()

template<class ResidualPolicy, class Config>
template<class Problem, class State>
void mundy::CGStrategy< ResidualPolicy, Config >::initialize ( const Problem & prob,
State & state ) const
inline

◆ iterate()

template<class ResidualPolicy, class Config>
template<class Problem, class State>
bool mundy::CGStrategy< ResidualPolicy, Config >::iterate ( const Problem & prob,
State & state ) const
inline

◆ done()

template<class ResidualPolicy, class Config>
template<class State>
bool mundy::CGStrategy< ResidualPolicy, Config >::done ( const State & state) const
inline

◆ result()

template<class ResidualPolicy, class Config>
template<class State>
result_t mundy::CGStrategy< ResidualPolicy, Config >::result ( const State & state) const
inline