35template <
typename Derived, base::concepts::dense_matrix Data>
58 derived().init(param, solution);
71 derived().iterate(param, solution);
81 const data_type& solution)
const ->
bool {
82 return derived().is_stop_criteria_satisfied(solution);
95 init(param, solution);
98 iter_logger.write_iteration(&
derived());
102 iter_logger.write_iteration(&
derived());
105 iter_logger.write_summary(&
derived());
118 this->
logger().set_iterative();
Class to incorporate num_collect::logging::iterations::iteration_logger in algorithms.
auto initialize_iteration_logger() -> num_collect::logging::iterations::iteration_logger< Derived > &
Get the iteration logger.
Class of tags of logs without memory management.
auto logger() const noexcept -> const num_collect::logging::logger &
Access to the logger.
Base class of solvers using implicit formulas for regularization.
auto derived() noexcept -> Derived &
Access derived object.
Base class of solvers using iterative formulas for regularization.
void solve(const scalar_type ¶m, data_type &solution)
Solve for a regularization parameter.
auto is_stop_criteria_satisfied(const data_type &solution) const -> bool
Determine if stopping criteria of the algorithm are satisfied.
void iterate(const scalar_type ¶m, data_type &solution)
Iterate the algorithm once.
iterative_regularized_solver_base(logging::log_tag_view tag)
Constructor.
void init(const scalar_type ¶m, data_type &solution)
Initialize.
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 implicit_regularized_solver_base class.
Definition of iteration_logger_mixin class.
Definition of log_tag_view class.
Namespace of regularization algorithms.