36template <
typename Derived, base::concepts::dense_matrix Data>
51 return derived().solve(param, solution);
62 return derived().residual_norm(param);
73 return derived().regularization_term(param);
85 return derived().first_derivative_of_residual_norm(param);
96 return derived().first_derivative_of_regularization_term(param);
108 return derived().second_derivative_of_residual_norm(param);
119 return derived().second_derivative_of_regularization_term(param);
130 return derived().sum_of_filter_factor(param);
150 const scalar_type log_res2 = (res2 * res - res1 * res1) / (res * res);
151 const scalar_type log_reg2 = (reg2 * reg - reg1 * reg1) / (reg * reg);
154 return (log_res1 * log_reg2 - log_res2 * log_reg1) /
155 pow(log_res1 * log_res1 + log_reg1 * log_reg1,
Class of tags of logs without memory management.
Base class of solvers using explicit formulas for regularization.
auto residual_norm(const scalar_type ¶m) const -> scalar_type
Calculate the squared norm of the residual.
auto first_derivative_of_regularization_term(const scalar_type ¶m) const -> scalar_type
Calculate the first-order derivative of the Regularization term.
auto regularization_term(const scalar_type ¶m) const -> scalar_type
Calculate the regularization term.
auto sum_of_filter_factor(const scalar_type ¶m) const -> scalar_type
Calculate the sum of filter factors.
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 gcv(const scalar_type ¶m) const -> scalar_type
Calculate GCV function.
explicit_regularized_solver_base(logging::log_tag_view tag)
Constructor.
void solve(const scalar_type ¶m, data_type &solution) const
Solve for a regularization parameter.
auto second_derivative_of_regularization_term(const scalar_type ¶m) const -> scalar_type
Calculate the send-order derivative of the Regularization term.
auto l_curve_curvature(const scalar_type ¶m) const
Calculate the curvature of L-curve.
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.
Base class of solvers for regularization.
auto derived() noexcept -> Derived &
Access derived object.
auto data_size() const -> index_type
Get the size of data.
typename Eigen::NumTraits< typename data_type::Scalar >::Real scalar_type
Type of scalars.
Data data_type
Type of data.
Definition of dense_matrix concept.
Definition of log_tag_view class.
Namespace of regularization algorithms.
Definition of regularized_solver_base class.