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

Class to search optimal regularization parameter using GCV. More...

#include <num_collect/regularization/implicit_gcv.h>

+ Inheritance diagram for num_collect::regularization::implicit_gcv< Solver >:
+ Collaboration diagram for num_collect::regularization::implicit_gcv< Solver >:

Public Types

using data_type = typename solver_type::data_type
 Type of data.
 
using scalar_type = typename solver_type::scalar_type
 Type of scalars.
 
using solver_type = Solver
 Type of solvers.
 

Public Member Functions

 implicit_gcv (solver_type &solver, const data_type &data, const data_type &initial_solution)
 Constructor.
 
auto noise_rate (scalar_type value) -> implicit_gcv &
 Set the rate of noise.
 
auto num_samples (index_type value) -> implicit_gcv &
 Set the number of samples for approximation of denominator of GCV.
 
auto opt_param () const -> scalar_type
 Get the optimal regularization parameter.
 
void search ()
 Search the optimal regularization parameter.
 
void solve (data_type &solution) const
 Solver with the optimal 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

implicit_gcv_calculator< solver_typecalculator_
 Calculator of GCV.
 
scalar_type opt_param_ {}
 Optimal regularization parameter.
 
opt::gaussian_process_optimizer< opt::any_objective_function< scalar_type(scalar_type)> > optimizer_ {}
 Optimizer.
 

Detailed Description

template<concepts::implicit_regularized_solver Solver>
class num_collect::regularization::implicit_gcv< Solver >

Class to search optimal regularization parameter using GCV.

Template Parameters
SolverType of solvers.

Definition at line 227 of file implicit_gcv.h.

Member Typedef Documentation

◆ data_type

template<concepts::implicit_regularized_solver Solver>
using num_collect::regularization::implicit_gcv< Solver >::data_type = typename solver_type::data_type

Type of data.

Definition at line 236 of file implicit_gcv.h.

◆ scalar_type

template<concepts::implicit_regularized_solver Solver>
using num_collect::regularization::implicit_gcv< Solver >::scalar_type = typename solver_type::scalar_type

Type of scalars.

Definition at line 233 of file implicit_gcv.h.

◆ solver_type

template<concepts::implicit_regularized_solver Solver>
using num_collect::regularization::implicit_gcv< Solver >::solver_type = Solver

Type of solvers.

Definition at line 230 of file implicit_gcv.h.

Constructor & Destructor Documentation

◆ implicit_gcv()

template<concepts::implicit_regularized_solver Solver>
num_collect::regularization::implicit_gcv< Solver >::implicit_gcv ( solver_type & solver,
const data_type & data,
const data_type & initial_solution )
inline

Constructor.

Parameters
[in]solverSolver.
[in]dataData.
[in]initial_solutionInitial solution.

Definition at line 245 of file implicit_gcv.h.

Member Function Documentation

◆ noise_rate()

template<concepts::implicit_regularized_solver Solver>
auto num_collect::regularization::implicit_gcv< Solver >::noise_rate ( scalar_type value) -> implicit_gcv&
inline

Set the rate of noise.

Parameters
[in]valueValue.
Returns
This object.

Definition at line 309 of file implicit_gcv.h.

◆ num_samples()

template<concepts::implicit_regularized_solver Solver>
auto num_collect::regularization::implicit_gcv< Solver >::num_samples ( index_type value) -> implicit_gcv&
inline

Set the number of samples for approximation of denominator of GCV.

Parameters
[in]valueValue.
Returns
This object.

Definition at line 320 of file implicit_gcv.h.

◆ opt_param()

template<concepts::implicit_regularized_solver Solver>
auto num_collect::regularization::implicit_gcv< Solver >::opt_param ( ) const -> scalar_type
inlinenodiscard

Get the optimal regularization parameter.

Returns
Optimal regularization parameter.

Definition at line 294 of file implicit_gcv.h.

◆ search()

template<concepts::implicit_regularized_solver Solver>
void num_collect::regularization::implicit_gcv< Solver >::search ( )
inline

Search the optimal regularization parameter.

Definition at line 255 of file implicit_gcv.h.

◆ solve()

template<concepts::implicit_regularized_solver Solver>
void num_collect::regularization::implicit_gcv< Solver >::solve ( data_type & solution) const
inline

Solver with the optimal regularization parameter.

Template Parameters
SolutionType of the solution.
Parameters
[out]solutionSolution.

Definition at line 297 of file implicit_gcv.h.

Member Data Documentation

◆ calculator_

template<concepts::implicit_regularized_solver Solver>
implicit_gcv_calculator<solver_type> num_collect::regularization::implicit_gcv< Solver >::calculator_
private

Calculator of GCV.

Definition at line 327 of file implicit_gcv.h.

◆ opt_param_

template<concepts::implicit_regularized_solver Solver>
scalar_type num_collect::regularization::implicit_gcv< Solver >::opt_param_ {}
private

Optimal regularization parameter.

Definition at line 335 of file implicit_gcv.h.

◆ optimizer_

template<concepts::implicit_regularized_solver Solver>
opt::gaussian_process_optimizer< opt::any_objective_function<scalar_type(scalar_type)> > num_collect::regularization::implicit_gcv< Solver >::optimizer_ {}
private

Optimizer.

Definition at line 332 of file implicit_gcv.h.


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