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

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

#include <num_collect/regularization/explicit_regularized_solver_base.h>

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

Public Member Functions

auto first_derivative_of_regularization_term (const scalar_type &param) const -> scalar_type
 Calculate the first-order derivative of the Regularization term.
 
auto first_derivative_of_residual_norm (const scalar_type &param) const -> scalar_type
 Calculate the first-order derivative of the squared norm of the residual.
 
auto gcv (const scalar_type &param) const -> scalar_type
 Calculate GCV function.
 
auto l_curve_curvature (const scalar_type &param) const
 Calculate the curvature of L-curve.
 
auto regularization_term (const scalar_type &param) const -> scalar_type
 Calculate the regularization term.
 
auto residual_norm (const scalar_type &param) const -> scalar_type
 Calculate the squared norm of the residual.
 
auto second_derivative_of_regularization_term (const scalar_type &param) const -> scalar_type
 Calculate the send-order derivative of the Regularization term.
 
auto second_derivative_of_residual_norm (const scalar_type &param) const -> scalar_type
 Calculate the second-order derivative of the squared norm of the residual.
 
void solve (const scalar_type &param, data_type &solution) const
 Solve for a regularization parameter.
 
auto sum_of_filter_factor (const scalar_type &param) const -> scalar_type
 Calculate the sum of filter factors.
 
- 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

 explicit_regularized_solver_base (logging::log_tag_view tag)
 Constructor.
 
- 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::explicit_regularized_solver_base< Derived, Data >

Base class of solvers using explicit formulas for regularization.

Template Parameters
DerivedType of derived class.
DataType of data.

Definition at line 37 of file explicit_regularized_solver_base.h.

Constructor & Destructor Documentation

◆ explicit_regularized_solver_base()

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

Constructor.

Parameters
[in]tagLog tag.

Definition at line 177 of file explicit_regularized_solver_base.h.

Member Function Documentation

◆ first_derivative_of_regularization_term()

template<typename Derived , base::concepts::dense_matrix Data>
auto num_collect::regularization::explicit_regularized_solver_base< Derived, Data >::first_derivative_of_regularization_term ( const scalar_type & param) const -> scalar_type
inlinenodiscard

Calculate the first-order derivative of the Regularization term.

Parameters
[in]paramRegularization parameter.
Returns
Result.

Definition at line 94 of file explicit_regularized_solver_base.h.

◆ first_derivative_of_residual_norm()

template<typename Derived , base::concepts::dense_matrix Data>
auto num_collect::regularization::explicit_regularized_solver_base< Derived, Data >::first_derivative_of_residual_norm ( const scalar_type & param) const -> scalar_type
inlinenodiscard

Calculate the first-order derivative of the squared norm of the residual.

Parameters
[in]paramRegularization parameter.
Returns
Result.

Definition at line 83 of file explicit_regularized_solver_base.h.

◆ gcv()

template<typename Derived , base::concepts::dense_matrix Data>
auto num_collect::regularization::explicit_regularized_solver_base< Derived, Data >::gcv ( const scalar_type & param) const -> scalar_type
inlinenodiscard

Calculate GCV function.

Parameters
[in]paramRegularization parameter.
Returns
Value.

Definition at line 165 of file explicit_regularized_solver_base.h.

◆ l_curve_curvature()

template<typename Derived , base::concepts::dense_matrix Data>
auto num_collect::regularization::explicit_regularized_solver_base< Derived, Data >::l_curve_curvature ( const scalar_type & param) const
inlinenodiscard

Calculate the curvature of L-curve.

Parameters
[in]paramRegularization parameter.
Returns
Curvature of L-curve.

Definition at line 139 of file explicit_regularized_solver_base.h.

◆ regularization_term()

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

Calculate the regularization term.

Parameters
[in]paramRegularization parameter.
Returns
Result.

Definition at line 71 of file explicit_regularized_solver_base.h.

◆ residual_norm()

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

Calculate the squared norm of the residual.

Parameters
[in]paramRegularization parameter.
Returns
Result.

Definition at line 60 of file explicit_regularized_solver_base.h.

◆ second_derivative_of_regularization_term()

template<typename Derived , base::concepts::dense_matrix Data>
auto num_collect::regularization::explicit_regularized_solver_base< Derived, Data >::second_derivative_of_regularization_term ( const scalar_type & param) const -> scalar_type
inlinenodiscard

Calculate the send-order derivative of the Regularization term.

Parameters
[in]paramRegularization parameter.
Returns
Result.

Definition at line 117 of file explicit_regularized_solver_base.h.

◆ second_derivative_of_residual_norm()

template<typename Derived , base::concepts::dense_matrix Data>
auto num_collect::regularization::explicit_regularized_solver_base< Derived, Data >::second_derivative_of_residual_norm ( const scalar_type & param) const -> scalar_type
inlinenodiscard

Calculate the second-order derivative of the squared norm of the residual.

Parameters
[in]paramRegularization parameter.
Returns
Result.

Definition at line 106 of file explicit_regularized_solver_base.h.

◆ solve()

template<typename Derived , base::concepts::dense_matrix Data>
void num_collect::regularization::explicit_regularized_solver_base< Derived, Data >::solve ( const scalar_type & param,
data_type & solution ) const
inline

Solve for a regularization parameter.

Parameters
[in]paramRegularization parameter.
[out]solutionSolution.

Definition at line 50 of file explicit_regularized_solver_base.h.

◆ sum_of_filter_factor()

template<typename Derived , base::concepts::dense_matrix Data>
auto num_collect::regularization::explicit_regularized_solver_base< Derived, Data >::sum_of_filter_factor ( const scalar_type & param) const -> scalar_type
inlinenodiscard

Calculate the sum of filter factors.

Parameters
[in]paramRegularization parameter.
Returns
Result.

Definition at line 128 of file explicit_regularized_solver_base.h.


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