numerical-collection-cpp 0.10.0
A collection of algorithms in numerical analysis implemented in C++
|
Class to perform generalized Tikhonov regularization on the condition that the matrix in the regularization term which have full row rank [4], [11]. More...
#include <num_collect/regularization/full_gen_tikhonov.h>
Public Types | |
using | base_type |
Type of base class. | |
using | coeff_type = Coeff |
Type of coefficient matrices. | |
Public Types inherited from num_collect::regularization::regularized_solver_base< full_gen_tikhonov< Coeff, Data >, Data > | |
using | data_type |
Type of data. | |
using | scalar_type |
Type of scalars. | |
Public Member Functions | |
full_gen_tikhonov () | |
Constructor. | |
void | compute (const coeff_type &coeff, const data_type &data, const coeff_type ®_coeff) |
Compute internal matrices. | |
auto | data_size () const -> index_type |
Get the size of data. | |
auto | first_derivative_of_regularization_term (const scalar_type ¶m) const -> scalar_type |
Calculate the first-order derivative of the Regularization term. | |
auto | first_derivative_of_residual_norm (const scalar_type ¶m) const -> scalar_type |
Calculate the first-order derivative of the squared norm of the residual. | |
auto | internal_solver () const -> const tikhonov< coeff_type, data_type > & |
Access to the internal solver (for debug). | |
auto | param_search_region () const -> std::pair< scalar_type, scalar_type > |
Get the default region to search for the optimal regularization parameter. | |
auto | regularization_term (const scalar_type ¶m) const -> scalar_type |
Calculate the regularization term. | |
auto | residual_norm (const scalar_type ¶m) const -> scalar_type |
Calculate the squared norm of the residual. | |
auto | second_derivative_of_regularization_term (const scalar_type ¶m) const -> scalar_type |
Calculate the send-order derivative of the Regularization term. | |
auto | second_derivative_of_residual_norm (const scalar_type ¶m) const -> scalar_type |
Calculate the second-order derivative of the squared norm of the residual. | |
auto | singular_values () const -> const typename Eigen::BDCSVD< coeff_type >::SingularValuesType & |
Get the singular values. | |
void | solve (const scalar_type ¶m, data_type &solution) const |
Solve for a regularization parameter. | |
auto | sum_of_filter_factor (const scalar_type ¶m) const -> scalar_type |
Calculate the sum of filter factors. | |
Public Member Functions inherited from num_collect::regularization::explicit_regularized_solver_base< full_gen_tikhonov< Coeff, Data >, Data > | |
auto | first_derivative_of_regularization_term (const scalar_type ¶m) const -> scalar_type |
Calculate the first-order derivative of the Regularization term. | |
auto | first_derivative_of_residual_norm (const scalar_type ¶m) const -> scalar_type |
Calculate the first-order derivative of the squared norm of the residual. | |
auto | gcv (const scalar_type ¶m) const -> scalar_type |
Calculate GCV function. | |
auto | l_curve_curvature (const scalar_type ¶m) const |
Calculate the curvature of L-curve. | |
auto | regularization_term (const scalar_type ¶m) const -> scalar_type |
Calculate the regularization term. | |
auto | residual_norm (const scalar_type ¶m) const -> scalar_type |
Calculate the squared norm of the residual. | |
auto | second_derivative_of_regularization_term (const scalar_type ¶m) const -> scalar_type |
Calculate the send-order derivative of the Regularization term. | |
auto | second_derivative_of_residual_norm (const scalar_type ¶m) const -> scalar_type |
Calculate the second-order derivative of the squared norm of the residual. | |
void | solve (const scalar_type ¶m, data_type &solution) const |
Solve for a regularization parameter. | |
auto | sum_of_filter_factor (const scalar_type ¶m) const -> scalar_type |
Calculate the sum of filter factors. | |
Public Member Functions inherited from num_collect::regularization::regularized_solver_base< full_gen_tikhonov< Coeff, Data >, 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 ¶m, 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. | |
Private Attributes | |
Coeff | coeff_actual_solution_ {} |
Coefficient matrix to calculate actual solution. | |
Data | offset_actual_solution_ {} |
Offset vector to calculate actual solution. | |
tikhonov< coeff_type, data_type > | tikhonov_ {} |
Object to perform Tikhonov regularization. | |
Additional Inherited Members | |
Protected Member Functions inherited from num_collect::regularization::explicit_regularized_solver_base< full_gen_tikhonov< Coeff, Data >, Data > | |
explicit_regularized_solver_base (logging::log_tag_view tag) | |
Constructor. | |
Protected Member Functions inherited from num_collect::regularization::regularized_solver_base< full_gen_tikhonov< Coeff, Data >, Data > | |
regularized_solver_base (logging::log_tag_view tag) | |
Constructor. | |
auto | derived () const noexcept -> const full_gen_tikhonov< Coeff, Data > & |
Access derived object. | |
auto | derived () noexcept -> full_gen_tikhonov< Coeff, Data > & |
Access derived object. | |
Class to perform generalized Tikhonov regularization on the condition that the matrix in the regularization term which have full row rank [4], [11].
Coeff | Type of coefficient matrices. |
Data | Type of data vectors. |
Definition at line 52 of file full_gen_tikhonov.h.
using num_collect::regularization::full_gen_tikhonov< Coeff, Data >::base_type |
Type of base class.
Definition at line 57 of file full_gen_tikhonov.h.
using num_collect::regularization::full_gen_tikhonov< Coeff, Data >::coeff_type = Coeff |
Type of coefficient matrices.
Definition at line 64 of file full_gen_tikhonov.h.
|
inline |
Constructor.
Definition at line 73 of file full_gen_tikhonov.h.
|
inline |
Compute internal matrices.
This generate arranged problem of Tikhonov regularization as in [4], [11].
[in] | coeff | Coefficient matrix. |
[in] | data | Data vector. |
[in] | reg_coeff | Coefficient matrix for the regularization term. |
Definition at line 85 of file full_gen_tikhonov.h.
|
inlinenodiscard |
|
inlinenodiscard |
Calculate the first-order derivative of the Regularization term.
[in] | param | Regularization parameter. |
Definition at line 174 of file full_gen_tikhonov.h.
|
inlinenodiscard |
Calculate the first-order derivative of the squared norm of the residual.
[in] | param | Regularization parameter. |
Definition at line 168 of file full_gen_tikhonov.h.
|
inlinenodiscard |
Access to the internal solver (for debug).
Definition at line 213 of file full_gen_tikhonov.h.
|
inlinenodiscard |
Get the default region to search for the optimal regularization parameter.
Definition at line 203 of file full_gen_tikhonov.h.
|
inlinenodiscard |
Calculate the regularization term.
[in] | param | Regularization parameter. |
Definition at line 162 of file full_gen_tikhonov.h.
|
inlinenodiscard |
Calculate the squared norm of the residual.
[in] | param | Regularization parameter. |
Definition at line 156 of file full_gen_tikhonov.h.
|
inlinenodiscard |
Calculate the send-order derivative of the Regularization term.
[in] | param | Regularization parameter. |
Definition at line 186 of file full_gen_tikhonov.h.
|
inlinenodiscard |
Calculate the second-order derivative of the squared norm of the residual.
[in] | param | Regularization parameter. |
Definition at line 180 of file full_gen_tikhonov.h.
|
inlinenodiscard |
Get the singular values.
Definition at line 150 of file full_gen_tikhonov.h.
|
inline |
Solve for a regularization parameter.
[in] | param | Regularization parameter. |
[out] | solution | Solution. |
Definition at line 138 of file full_gen_tikhonov.h.
|
inlinenodiscard |
Calculate the sum of filter factors.
[in] | param | Regularization parameter. |
Definition at line 192 of file full_gen_tikhonov.h.
|
private |
Coefficient matrix to calculate actual solution.
Definition at line 223 of file full_gen_tikhonov.h.
|
private |
Offset vector to calculate actual solution.
Definition at line 226 of file full_gen_tikhonov.h.
|
private |
Object to perform Tikhonov regularization.
Definition at line 220 of file full_gen_tikhonov.h.