numerical-collection-cpp 0.10.0
A collection of algorithms in numerical analysis implemented in C++
Loading...
Searching...
No Matches
num_collect::base::iterative_solver_base< Derived > Class Template Reference

Base class of iterative solvers. More...

#include <num_collect/base/iterative_solver_base.h>

+ Inheritance diagram for num_collect::base::iterative_solver_base< Derived >:
+ Collaboration diagram for num_collect::base::iterative_solver_base< Derived >:

Public Member Functions

 iterative_solver_base (logging::log_tag_view tag)
 Constructor.
 
auto is_stop_criteria_satisfied () const -> bool
 Determine if stopping criteria of the algorithm are satisfied.
 
void iterate ()
 Iterate the algorithm once.
 
void solve ()
 Solve the problem.
 
- Public Member Functions inherited from num_collect::logging::logging_mixin
 logging_mixin (log_tag_view tag)
 Constructor.
 
template<typename Child >
void configure_child_algorithm_logger_if_exists (Child &child)
 Configure a logger of a child algorithm if exists.
 
auto logger () const noexcept -> const num_collect::logging::logger &
 Access to the logger.
 
auto logger () noexcept -> num_collect::logging::logger &
 Access to the logger.
 
- Public Member Functions inherited from num_collect::logging::iterations::iteration_logger_mixin< Derived >
 iteration_logger_mixin ()=default
 Constructor.
 
void configure_iteration_logger (num_collect::logging::iterations::iteration_logger< Derived > &iteration_logger) const
 Configure an iteration logger.
 
auto initialize_iteration_logger () -> num_collect::logging::iterations::iteration_logger< Derived > &
 Get the iteration logger.
 

Protected Member Functions

auto derived () const noexcept -> const Derived &
 Access derived object.
 
auto derived () noexcept -> Derived &
 Access derived object.
 

Detailed Description

template<typename Derived>
class num_collect::base::iterative_solver_base< Derived >

Base class of iterative solvers.

Template Parameters
DerivedType of derived class.

Definition at line 35 of file iterative_solver_base.h.

Constructor & Destructor Documentation

◆ iterative_solver_base()

template<typename Derived >
num_collect::base::iterative_solver_base< Derived >::iterative_solver_base ( logging::log_tag_view tag)
inlineexplicit

Constructor.

Parameters
[in]tagLog tag.

Definition at line 44 of file iterative_solver_base.h.

Member Function Documentation

◆ derived() [1/2]

template<typename Derived >
auto num_collect::base::iterative_solver_base< Derived >::derived ( ) const -> const Derived&
inlinenodiscardprotectednoexcept

Access derived object.

Returns
Reference to the derived object.

Definition at line 99 of file iterative_solver_base.h.

◆ derived() [2/2]

template<typename Derived >
auto num_collect::base::iterative_solver_base< Derived >::derived ( ) -> Derived&
inlinenodiscardprotectednoexcept

Access derived object.

Returns
Reference to the derived object.

Definition at line 90 of file iterative_solver_base.h.

◆ is_stop_criteria_satisfied()

template<typename Derived >
auto num_collect::base::iterative_solver_base< Derived >::is_stop_criteria_satisfied ( ) const -> bool
inlinenodiscard

Determine if stopping criteria of the algorithm are satisfied.

Returns
If stopping criteria of the algorithm are satisfied.

Definition at line 62 of file iterative_solver_base.h.

◆ iterate()

template<typename Derived >
void num_collect::base::iterative_solver_base< Derived >::iterate ( )
inline

Iterate the algorithm once.

Warning
Any required initializations (with init functions) are assumed to have been done.

Definition at line 55 of file iterative_solver_base.h.

◆ solve()

template<typename Derived >
void num_collect::base::iterative_solver_base< Derived >::solve ( )
inline

Solve the problem.

Iterate the algorithm until the stopping criteria are satisfied.

Warning
Any required initializations (with init functions) are assumed to have been done.

Definition at line 74 of file iterative_solver_base.h.


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