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

Base class of solvers using implicit formulas for regularization. More...

#include <num_collect/regularization/implicit_regularized_solver_base.h>

+ Inheritance diagram for num_collect::regularization::implicit_regularized_solver_base< Derived, Data >:
+ Collaboration diagram for num_collect::regularization::implicit_regularized_solver_base< Derived, Data >:

Public Member Functions

void calculate_data_for (const data_type &solution, data_type &data) const
 Calculate data for a solution.
 
void change_data (const data_type &data)
 Change data.
 
auto regularization_term (const data_type &solution) const -> scalar_type
 Calculate the regularization term.
 
auto residual_norm (const data_type &solution) const -> scalar_type
 Calculate the squared norm of the residual.
 
- Public Member Functions inherited from num_collect::regularization::regularized_solver_base< Derived, Data >
auto data_size () const -> index_type
 Get the size of data.
 
auto param_search_region () const -> std::pair< scalar_type, scalar_type >
 Get the default region to search for the optimal regularization parameter.
 
void solve (const scalar_type &param, data_type &solution)
 Solve for a regularization parameter.
 
- 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.
 

Protected Member Functions

 implicit_regularized_solver_base (logging::log_tag_view tag)
 Constructor.
 
auto derived () const noexcept -> const Derived &
 Access derived object.
 
auto derived () noexcept -> Derived &
 Access derived object.
 
- Protected Member Functions inherited from num_collect::regularization::regularized_solver_base< Derived, Data >
 regularized_solver_base (logging::log_tag_view tag)
 Constructor.
 
auto derived () const noexcept -> const Derived &
 Access derived object.
 
auto derived () noexcept -> Derived &
 Access derived object.
 

Additional Inherited Members

- Public Types inherited from num_collect::regularization::regularized_solver_base< Derived, Data >
using data_type = Data
 Type of data.
 
using scalar_type
 Type of scalars.
 

Detailed Description

template<typename Derived, base::concepts::dense_matrix Data>
class num_collect::regularization::implicit_regularized_solver_base< Derived, Data >

Base class of solvers using implicit formulas for regularization.

Template Parameters
DerivedType of derived class.
DataType of data.

Definition at line 35 of file implicit_regularized_solver_base.h.

Constructor & Destructor Documentation

◆ implicit_regularized_solver_base()

template<typename Derived , base::concepts::dense_matrix Data>
num_collect::regularization::implicit_regularized_solver_base< Derived, Data >::implicit_regularized_solver_base ( logging::log_tag_view tag)
inlineexplicitprotected

Constructor.

Parameters
[in]tagLog tag.

Definition at line 86 of file implicit_regularized_solver_base.h.

Member Function Documentation

◆ calculate_data_for()

template<typename Derived , base::concepts::dense_matrix Data>
void num_collect::regularization::implicit_regularized_solver_base< Derived, Data >::calculate_data_for ( const data_type & solution,
data_type & data ) const
inline

Calculate data for a solution.

Parameters
[in]solutionSolution.
[out]dataData.

Definition at line 76 of file implicit_regularized_solver_base.h.

◆ change_data()

template<typename Derived , base::concepts::dense_matrix Data>
void num_collect::regularization::implicit_regularized_solver_base< Derived, Data >::change_data ( const data_type & data)
inline

Change data.

Parameters
[in]dataNew data.

Definition at line 68 of file implicit_regularized_solver_base.h.

◆ derived() [1/2]

template<typename Derived , base::concepts::dense_matrix Data>
auto num_collect::regularization::implicit_regularized_solver_base< Derived, Data >::derived ( ) const -> const Derived&
inlinenodiscardprotectednoexcept

Access derived object.

Returns
Reference to the derived object.

Definition at line 105 of file implicit_regularized_solver_base.h.

◆ derived() [2/2]

template<typename Derived , base::concepts::dense_matrix Data>
auto num_collect::regularization::implicit_regularized_solver_base< Derived, Data >::derived ( ) -> Derived&
inlinenodiscardprotectednoexcept

Access derived object.

Returns
Reference to the derived object.

Definition at line 96 of file implicit_regularized_solver_base.h.

◆ regularization_term()

template<typename Derived , base::concepts::dense_matrix Data>
auto num_collect::regularization::implicit_regularized_solver_base< Derived, Data >::regularization_term ( const data_type & solution) const -> scalar_type
inlinenodiscard

Calculate the regularization term.

Parameters
[in]solutionSolution.
Returns
Result.

Definition at line 58 of file implicit_regularized_solver_base.h.

◆ residual_norm()

template<typename Derived , base::concepts::dense_matrix Data>
auto num_collect::regularization::implicit_regularized_solver_base< Derived, Data >::residual_norm ( const data_type & solution) const -> scalar_type
inlinenodiscard

Calculate the squared norm of the residual.

Parameters
[in]solutionSolution.
Returns
Result.

Definition at line 47 of file implicit_regularized_solver_base.h.


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