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

Class to solve linear equations with total variation (TV) regularization using the alternating direction method of multipliers (ADMM) [2]. More...

#include <num_collect/regularization/tv_admm.h>

Inheritance diagram for num_collect::regularization::tv_admm< Coeff, DerivativeMatrix, Data >:
Collaboration diagram for num_collect::regularization::tv_admm< Coeff, DerivativeMatrix, Data >:

Public Types

using base_type = iterative_regularized_solver_base<this_type, Data>
 Type of the base class.
using coeff_type = Coeff
 Type of coefficient matrices.
using derivative_matrix_type = DerivativeMatrix
 Type of matrices to compute derivatives.
using this_type = tv_admm<Coeff, DerivativeMatrix, Data>
 This type.
Public Types inherited from num_collect::regularization::regularized_solver_base< tv_admm< Coeff, DerivativeMatrix, Data >, Data >
using data_type
 Type of data.
using scalar_type
 Type of scalars.

Public Member Functions

 tv_admm ()
 Constructor.
void calculate_data_for (const data_type &solution, data_type &data) const
 Calculate data for a solution.
void change_data (const data_type &data)
 Change data.
void compute (const Coeff &coeff, const DerivativeMatrix &derivative_matrix, const Data &data)
 Compute internal parameters.
void configure_iteration_logger (logging::iterations::iteration_logger< this_type > &iteration_logger) const
 Configure an iteration logger.
auto data_size () const -> index_type
 Get the size of data.
void init (const scalar_type &param, data_type &solution)
 Initialize.
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 &param, data_type &solution)
 Iterate the algorithm once.
auto iterations () const noexcept -> index_type
 Get the number of iterations.
auto max_iterations () const -> index_type
 Get the maximum number of iterations.
auto max_iterations (index_type value) -> tv_admm &
 Set the maximum number of iterations.
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 data_type &solution) const -> scalar_type
 Calculate the regularization term.
auto residual_norm (const data_type &solution) const -> scalar_type
 Calculate the squared norm of the residual.
auto residual_norm_rate () const -> scalar_type
 Get the rate of the last residual norm.
auto tol_update_rate () const -> scalar_type
 Get the tolerance of update rate of the solution.
auto tol_update_rate (scalar_type value) -> tv_admm &
 Set the tolerance of update rate of the solution.
auto update_rate () const noexcept -> scalar_type
 Get the rate of the norm of the update of the solution in the last iteration.
Public Member Functions inherited from num_collect::regularization::iterative_regularized_solver_base< tv_admm< Coeff, DerivativeMatrix, Data >, Data >
void init (const scalar_type &param, data_type &solution)
 Initialize.
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 &param, data_type &solution)
 Iterate the algorithm once.
void solve (const scalar_type &param, data_type &solution)
 Solve for a regularization parameter.
Public Member Functions inherited from num_collect::regularization::implicit_regularized_solver_base< tv_admm< Coeff, DerivativeMatrix, Data >, Data >
void calculate_data_for (const data_type &solution, data_type &data) const
 Calculate data for a solution.
void change_data (const data_type &data)
 Change data.
auto regularization_term (const data_type &solution) const -> scalar_type
 Calculate the regularization term.
auto residual_norm (const data_type &solution) const -> scalar_type
 Calculate the squared norm of the residual.
Public Member Functions inherited from num_collect::regularization::regularized_solver_base< tv_admm< Coeff, DerivativeMatrix, 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 &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.
Public Member Functions inherited from num_collect::logging::iterations::iteration_logger_mixin< tv_admm< Coeff, DerivativeMatrix, Data > >
 iteration_logger_mixin ()=default
 Constructor.
void configure_iteration_logger (num_collect::logging::iterations::iteration_logger< tv_admm< Coeff, DerivativeMatrix, Data > > &iteration_logger) const
 Configure an iteration logger.
auto initialize_iteration_logger () -> num_collect::logging::iterations::iteration_logger< tv_admm< Coeff, DerivativeMatrix, Data > > &
 Get the iteration logger.

Private Attributes

const coeff_typecoeff_ {nullptr}
 Coefficient matrix to compute data vector.
linear::impl::operator_conjugate_gradient< data_typeconjugate_gradient_ {}
 Conjugate gradient solver.
const data_typedata_ {nullptr}
 Data vector.
data_type derivative_ {}
 Derivative.
scalar_type derivative_constraint_coeff_
 Coefficient of the constraint for the derivative.
const derivative_matrix_typederivative_matrix_ {nullptr}
 Matrix to compute derivative.
index_type iterations_ {}
 Number of iterations.
data_type lagrange_multiplier_ {}
 Lagrange multiplier.
data_type lagrange_multiplier_update_ {}
 Update of lagrange multiplier.
index_type max_iterations_ {default_max_iterations}
 Maximum number of iterations.
data_type previous_derivative_ {}
 Previous derivative.
data_type previous_solution_ {}
 Previous solution.
scalar_type rate_of_cg_tol_rate_to_tol_update_rate_
 Rate of the ratio of the rate of tolerance in CG method to the tolerance of update rate of the solution.
data_type residual_ {}
 Residual vector.
data_type temp_data_ {}
 Temporary vector with the size of data.
data_type temp_derivative_ {}
 Temporary vector with the size of the derivative.
data_type temp_solution_ {}
 Temporary vector for the update of the solution.
scalar_type tol_update_rate_ {default_tol_update_rate}
 Tolerance of update rate of the solution.
scalar_type update_rate_ {}
 Rate of norm of the update of the solution in the last iteration.

Static Private Attributes

static constexpr auto default_derivative_constraint_coeff
 Default coefficient of the constraint for the derivative.
static constexpr index_type default_max_iterations = 10000
 Default maximum number of iterations.
static constexpr auto default_rate_of_cg_tol_rate_to_tol_update_rate
 Default value of the ratio of the rate of tolerance in CG method to the tolerance of update rate of the solution.
static constexpr auto default_tol_update_rate
 Default tolerance of update rate of the solution.

Additional Inherited Members

Protected Member Functions inherited from num_collect::regularization::iterative_regularized_solver_base< tv_admm< Coeff, DerivativeMatrix, Data >, Data >
 iterative_regularized_solver_base (logging::log_tag_view tag)
 Constructor.
Protected Member Functions inherited from num_collect::regularization::implicit_regularized_solver_base< tv_admm< Coeff, DerivativeMatrix, Data >, Data >
 implicit_regularized_solver_base (logging::log_tag_view tag)
 Constructor.
auto derived () noexcept -> tv_admm< Coeff, DerivativeMatrix, Data > &
 Access derived object.
Protected Member Functions inherited from num_collect::regularization::regularized_solver_base< tv_admm< Coeff, DerivativeMatrix, Data >, Data >
 regularized_solver_base (logging::log_tag_view tag)
 Constructor.
auto derived () noexcept -> tv_admm< Coeff, DerivativeMatrix, Data > &
 Access derived object.

Detailed Description

template<typename Coeff, typename DerivativeMatrix, base::concepts::dense_vector Data>
requires ((base::concepts::sparse_matrix<Coeff> || base::concepts::dense_matrix<Coeff>) && (base::concepts::sparse_matrix<DerivativeMatrix> || base::concepts::dense_matrix<DerivativeMatrix>))
class num_collect::regularization::tv_admm< Coeff, DerivativeMatrix, Data >

Class to solve linear equations with total variation (TV) regularization using the alternating direction method of multipliers (ADMM) [2].

Template Parameters
CoeffType of coefficient matrices.
DerivativeMatrixType of matrices to compute derivatives.
DataType of data vectors.

This class minimizes the following evaluation function:

\[\| A \boldsymbol{x} - \boldsymbol{y} \|_2^2 + \lambda \| D \boldsymbol{x} \|_1 \]

where variables are defined as follows:

  • \(A\) is a coefficient matrix.
  • \(\boldsymbol{x}\) is a solution vector.
  • \(\boldsymbol{y}\) is a data vector.
  • \(\lambda\) is a regularization parameter.
  • \(D\) is a matrix to compute derivatives.
Examples
regularization/image_denoising_tv_admm.cpp.

Definition at line 77 of file tv_admm.h.

Member Typedef Documentation

◆ base_type

template<typename Coeff, typename DerivativeMatrix, base::concepts::dense_vector Data>
using num_collect::regularization::tv_admm< Coeff, DerivativeMatrix, Data >::base_type = iterative_regularized_solver_base<this_type, Data>

Type of the base class.

Definition at line 84 of file tv_admm.h.

◆ coeff_type

template<typename Coeff, typename DerivativeMatrix, base::concepts::dense_vector Data>
using num_collect::regularization::tv_admm< Coeff, DerivativeMatrix, Data >::coeff_type = Coeff

Type of coefficient matrices.

Definition at line 90 of file tv_admm.h.

◆ derivative_matrix_type

template<typename Coeff, typename DerivativeMatrix, base::concepts::dense_vector Data>
using num_collect::regularization::tv_admm< Coeff, DerivativeMatrix, Data >::derivative_matrix_type = DerivativeMatrix

Type of matrices to compute derivatives.

Definition at line 93 of file tv_admm.h.

◆ this_type

template<typename Coeff, typename DerivativeMatrix, base::concepts::dense_vector Data>
using num_collect::regularization::tv_admm< Coeff, DerivativeMatrix, Data >::this_type = tv_admm<Coeff, DerivativeMatrix, Data>

This type.

Definition at line 81 of file tv_admm.h.

Constructor & Destructor Documentation

◆ tv_admm()

template<typename Coeff, typename DerivativeMatrix, base::concepts::dense_vector Data>
num_collect::regularization::tv_admm< Coeff, DerivativeMatrix, Data >::tv_admm ( )
inline

Constructor.

Definition at line 98 of file tv_admm.h.

Member Function Documentation

◆ calculate_data_for()

template<typename Coeff, typename DerivativeMatrix, base::concepts::dense_vector Data>
void num_collect::regularization::tv_admm< Coeff, DerivativeMatrix, Data >::calculate_data_for ( const data_type & solution,
data_type & data ) const
inline

Calculate data for a solution.

Parameters
[in]solutionSolution.
[out]dataData.

Definition at line 240 of file tv_admm.h.

◆ change_data()

template<typename Coeff, typename DerivativeMatrix, base::concepts::dense_vector Data>
void num_collect::regularization::tv_admm< Coeff, DerivativeMatrix, Data >::change_data ( const data_type & data)
inline

Change data.

Parameters
[in]dataNew data.

Definition at line 237 of file tv_admm.h.

◆ compute()

template<typename Coeff, typename DerivativeMatrix, base::concepts::dense_vector Data>
void num_collect::regularization::tv_admm< Coeff, DerivativeMatrix, Data >::compute ( const Coeff & coeff,
const DerivativeMatrix & derivative_matrix,
const Data & data )
inline

Compute internal parameters.

Parameters
[in]coeffCoefficient matrix.
[in]dataData vector.
[in]derivative_matrixMatrix to compute derivative.
Note
Pointers to the arguments are saved in this object, so don't destruct those arguments.
Call this before init.
Examples
regularization/image_denoising_tv_admm.cpp.

Definition at line 113 of file tv_admm.h.

◆ configure_iteration_logger()

template<typename Coeff, typename DerivativeMatrix, base::concepts::dense_vector Data>
void num_collect::regularization::tv_admm< Coeff, DerivativeMatrix, Data >::configure_iteration_logger ( logging::iterations::iteration_logger< this_type > & iteration_logger) const
inline

Configure an iteration logger.

Parameters
[in]iteration_loggerIteration logger.

Definition at line 213 of file tv_admm.h.

◆ data_size()

template<typename Coeff, typename DerivativeMatrix, base::concepts::dense_vector Data>
auto num_collect::regularization::tv_admm< Coeff, DerivativeMatrix, Data >::data_size ( ) const -> index_type
inlinenodiscard

Get the size of data.

Returns
Size of data.

Definition at line 245 of file tv_admm.h.

◆ init()

template<typename Coeff, typename DerivativeMatrix, base::concepts::dense_vector Data>
void num_collect::regularization::tv_admm< Coeff, DerivativeMatrix, Data >::init ( const scalar_type & param,
data_type & solution )
inline

Initialize.

Parameters
[in]paramRegularization parameter.
[in,out]solutionSolution. (Assumed to be the initial solution.)
Warning
Any required initializations (with compute functions) are assumed to have been done.

Definition at line 122 of file tv_admm.h.

◆ is_stop_criteria_satisfied()

template<typename Coeff, typename DerivativeMatrix, base::concepts::dense_vector Data>
auto num_collect::regularization::tv_admm< Coeff, DerivativeMatrix, Data >::is_stop_criteria_satisfied ( const data_type & solution) const -> bool
inlinenodiscard

Determine if stopping criteria of the algorithm are satisfied.

Parameters
[in]solutionSolution.
Returns
If stopping criteria of the algorithm are satisfied.

Definition at line 205 of file tv_admm.h.

◆ iterate()

template<typename Coeff, typename DerivativeMatrix, base::concepts::dense_vector Data>
void num_collect::regularization::tv_admm< Coeff, DerivativeMatrix, Data >::iterate ( const scalar_type & param,
data_type & solution )
inline

Iterate the algorithm once.

Parameters
[in]paramRegularization parameter.
[in,out]solutionSolution. (Assumed to be the last solution.)
Warning
Any required initializations (with init functions) are assumed to have been done.

Definition at line 156 of file tv_admm.h.

◆ iterations()

template<typename Coeff, typename DerivativeMatrix, base::concepts::dense_vector Data>
auto num_collect::regularization::tv_admm< Coeff, DerivativeMatrix, Data >::iterations ( ) const -> index_type
inlinenodiscardnoexcept

Get the number of iterations.

Returns
Value.

Definition at line 271 of file tv_admm.h.

◆ max_iterations() [1/2]

template<typename Coeff, typename DerivativeMatrix, base::concepts::dense_vector Data>
auto num_collect::regularization::tv_admm< Coeff, DerivativeMatrix, Data >::max_iterations ( ) const -> index_type
inlinenodiscard

Get the maximum number of iterations.

Returns
Value.

Definition at line 299 of file tv_admm.h.

◆ max_iterations() [2/2]

template<typename Coeff, typename DerivativeMatrix, base::concepts::dense_vector Data>
auto num_collect::regularization::tv_admm< Coeff, DerivativeMatrix, Data >::max_iterations ( index_type value) -> tv_admm&
inline

Set the maximum number of iterations.

Parameters
[in]valueValue.
Returns
This object.

Definition at line 309 of file tv_admm.h.

◆ param_search_region()

template<typename Coeff, typename DerivativeMatrix, base::concepts::dense_vector Data>
auto num_collect::regularization::tv_admm< Coeff, DerivativeMatrix, Data >::param_search_region ( ) const -> std::pair<scalar_type, scalar_type>
inlinenodiscard

Get the default region to search for the optimal regularization parameter.

Returns
Pair of minimum and maximum regularization parameters.

Definition at line 248 of file tv_admm.h.

◆ regularization_term()

template<typename Coeff, typename DerivativeMatrix, base::concepts::dense_vector Data>
auto num_collect::regularization::tv_admm< Coeff, DerivativeMatrix, Data >::regularization_term ( const data_type & solution) const -> scalar_type
inlinenodiscard

Calculate the regularization term.

Parameters
[in]solutionSolution.
Returns
Result.

Definition at line 231 of file tv_admm.h.

◆ residual_norm()

template<typename Coeff, typename DerivativeMatrix, base::concepts::dense_vector Data>
auto num_collect::regularization::tv_admm< Coeff, DerivativeMatrix, Data >::residual_norm ( const data_type & solution) const -> scalar_type
inlinenodiscard

Calculate the squared norm of the residual.

Parameters
[in]solutionSolution.
Returns
Result.

Definition at line 225 of file tv_admm.h.

◆ residual_norm_rate()

template<typename Coeff, typename DerivativeMatrix, base::concepts::dense_vector Data>
auto num_collect::regularization::tv_admm< Coeff, DerivativeMatrix, Data >::residual_norm_rate ( ) const -> scalar_type
inlinenodiscard

Get the rate of the last residual norm.

Returns
Rate of the residual norm.

Definition at line 290 of file tv_admm.h.

◆ tol_update_rate() [1/2]

template<typename Coeff, typename DerivativeMatrix, base::concepts::dense_vector Data>
auto num_collect::regularization::tv_admm< Coeff, DerivativeMatrix, Data >::tol_update_rate ( ) const -> scalar_type
inlinenodiscard

Get the tolerance of update rate of the solution.

Returns
Value.

Definition at line 321 of file tv_admm.h.

◆ tol_update_rate() [2/2]

template<typename Coeff, typename DerivativeMatrix, base::concepts::dense_vector Data>
auto num_collect::regularization::tv_admm< Coeff, DerivativeMatrix, Data >::tol_update_rate ( scalar_type value) -> tv_admm&
inline

Set the tolerance of update rate of the solution.

Parameters
[in]valueValue.
Returns
This object.

Definition at line 331 of file tv_admm.h.

◆ update_rate()

template<typename Coeff, typename DerivativeMatrix, base::concepts::dense_vector Data>
auto num_collect::regularization::tv_admm< Coeff, DerivativeMatrix, Data >::update_rate ( ) const -> scalar_type
inlinenodiscardnoexcept

Get the rate of the norm of the update of the solution in the last iteration.

Returns
Value.

Definition at line 281 of file tv_admm.h.

Member Data Documentation

◆ coeff_

template<typename Coeff, typename DerivativeMatrix, base::concepts::dense_vector Data>
const coeff_type* num_collect::regularization::tv_admm< Coeff, DerivativeMatrix, Data >::coeff_ {nullptr}
private

Coefficient matrix to compute data vector.

Definition at line 341 of file tv_admm.h.

◆ conjugate_gradient_

template<typename Coeff, typename DerivativeMatrix, base::concepts::dense_vector Data>
linear::impl::operator_conjugate_gradient<data_type> num_collect::regularization::tv_admm< Coeff, DerivativeMatrix, Data >::conjugate_gradient_ {}
private

Conjugate gradient solver.

Definition at line 383 of file tv_admm.h.

◆ data_

template<typename Coeff, typename DerivativeMatrix, base::concepts::dense_vector Data>
const data_type* num_collect::regularization::tv_admm< Coeff, DerivativeMatrix, Data >::data_ {nullptr}
private

Data vector.

Definition at line 347 of file tv_admm.h.

◆ default_derivative_constraint_coeff

template<typename Coeff, typename DerivativeMatrix, base::concepts::dense_vector Data>
auto num_collect::regularization::tv_admm< Coeff, DerivativeMatrix, Data >::default_derivative_constraint_coeff
staticconstexprprivate
Initial value:
=
static_cast<scalar_type>(1)

Default coefficient of the constraint for the derivative.

Definition at line 386 of file tv_admm.h.

◆ default_max_iterations

template<typename Coeff, typename DerivativeMatrix, base::concepts::dense_vector Data>
index_type num_collect::regularization::tv_admm< Coeff, DerivativeMatrix, Data >::default_max_iterations = 10000
staticconstexprprivate

Default maximum number of iterations.

Definition at line 394 of file tv_admm.h.

◆ default_rate_of_cg_tol_rate_to_tol_update_rate

template<typename Coeff, typename DerivativeMatrix, base::concepts::dense_vector Data>
auto num_collect::regularization::tv_admm< Coeff, DerivativeMatrix, Data >::default_rate_of_cg_tol_rate_to_tol_update_rate
staticconstexprprivate
Initial value:
=
static_cast<scalar_type>(1e-2)

Default value of the ratio of the rate of tolerance in CG method to the tolerance of update rate of the solution.

Definition at line 407 of file tv_admm.h.

◆ default_tol_update_rate

template<typename Coeff, typename DerivativeMatrix, base::concepts::dense_vector Data>
auto num_collect::regularization::tv_admm< Coeff, DerivativeMatrix, Data >::default_tol_update_rate
staticconstexprprivate
Initial value:
=
static_cast<scalar_type>(1e-4)

Default tolerance of update rate of the solution.

Definition at line 400 of file tv_admm.h.

◆ derivative_

template<typename Coeff, typename DerivativeMatrix, base::concepts::dense_vector Data>
data_type num_collect::regularization::tv_admm< Coeff, DerivativeMatrix, Data >::derivative_ {}
private

Derivative.

Definition at line 353 of file tv_admm.h.

◆ derivative_constraint_coeff_

template<typename Coeff, typename DerivativeMatrix, base::concepts::dense_vector Data>
scalar_type num_collect::regularization::tv_admm< Coeff, DerivativeMatrix, Data >::derivative_constraint_coeff_
private
Initial value:
{
static constexpr auto default_derivative_constraint_coeff
Default coefficient of the constraint for the derivative.
Definition tv_admm.h:386

Coefficient of the constraint for the derivative.

Definition at line 390 of file tv_admm.h.

◆ derivative_matrix_

template<typename Coeff, typename DerivativeMatrix, base::concepts::dense_vector Data>
const derivative_matrix_type* num_collect::regularization::tv_admm< Coeff, DerivativeMatrix, Data >::derivative_matrix_ {nullptr}
private

Matrix to compute derivative.

Definition at line 344 of file tv_admm.h.

◆ iterations_

template<typename Coeff, typename DerivativeMatrix, base::concepts::dense_vector Data>
index_type num_collect::regularization::tv_admm< Coeff, DerivativeMatrix, Data >::iterations_ {}
private

Number of iterations.

Definition at line 350 of file tv_admm.h.

◆ lagrange_multiplier_

template<typename Coeff, typename DerivativeMatrix, base::concepts::dense_vector Data>
data_type num_collect::regularization::tv_admm< Coeff, DerivativeMatrix, Data >::lagrange_multiplier_ {}
private

Lagrange multiplier.

Definition at line 356 of file tv_admm.h.

◆ lagrange_multiplier_update_

template<typename Coeff, typename DerivativeMatrix, base::concepts::dense_vector Data>
data_type num_collect::regularization::tv_admm< Coeff, DerivativeMatrix, Data >::lagrange_multiplier_update_ {}
private

Update of lagrange multiplier.

Definition at line 374 of file tv_admm.h.

◆ max_iterations_

template<typename Coeff, typename DerivativeMatrix, base::concepts::dense_vector Data>
index_type num_collect::regularization::tv_admm< Coeff, DerivativeMatrix, Data >::max_iterations_ {default_max_iterations}
private

Maximum number of iterations.

Definition at line 397 of file tv_admm.h.

◆ previous_derivative_

template<typename Coeff, typename DerivativeMatrix, base::concepts::dense_vector Data>
data_type num_collect::regularization::tv_admm< Coeff, DerivativeMatrix, Data >::previous_derivative_ {}
private

Previous derivative.

Definition at line 371 of file tv_admm.h.

◆ previous_solution_

template<typename Coeff, typename DerivativeMatrix, base::concepts::dense_vector Data>
data_type num_collect::regularization::tv_admm< Coeff, DerivativeMatrix, Data >::previous_solution_ {}
private

Previous solution.

Definition at line 368 of file tv_admm.h.

◆ rate_of_cg_tol_rate_to_tol_update_rate_

template<typename Coeff, typename DerivativeMatrix, base::concepts::dense_vector Data>
scalar_type num_collect::regularization::tv_admm< Coeff, DerivativeMatrix, Data >::rate_of_cg_tol_rate_to_tol_update_rate_
private
Initial value:
{
static constexpr auto default_rate_of_cg_tol_rate_to_tol_update_rate
Default value of the ratio of the rate of tolerance in CG method to the tolerance of update rate of t...
Definition tgv2_admm.h:675

Rate of the ratio of the rate of tolerance in CG method to the tolerance of update rate of the solution.

Definition at line 411 of file tv_admm.h.

◆ residual_

template<typename Coeff, typename DerivativeMatrix, base::concepts::dense_vector Data>
data_type num_collect::regularization::tv_admm< Coeff, DerivativeMatrix, Data >::residual_ {}
private

Residual vector.

Definition at line 377 of file tv_admm.h.

◆ temp_data_

template<typename Coeff, typename DerivativeMatrix, base::concepts::dense_vector Data>
data_type num_collect::regularization::tv_admm< Coeff, DerivativeMatrix, Data >::temp_data_ {}
private

Temporary vector with the size of data.

Definition at line 362 of file tv_admm.h.

◆ temp_derivative_

template<typename Coeff, typename DerivativeMatrix, base::concepts::dense_vector Data>
data_type num_collect::regularization::tv_admm< Coeff, DerivativeMatrix, Data >::temp_derivative_ {}
private

Temporary vector with the size of the derivative.

Definition at line 365 of file tv_admm.h.

◆ temp_solution_

template<typename Coeff, typename DerivativeMatrix, base::concepts::dense_vector Data>
data_type num_collect::regularization::tv_admm< Coeff, DerivativeMatrix, Data >::temp_solution_ {}
private

Temporary vector for the update of the solution.

Definition at line 359 of file tv_admm.h.

◆ tol_update_rate_

template<typename Coeff, typename DerivativeMatrix, base::concepts::dense_vector Data>
scalar_type num_collect::regularization::tv_admm< Coeff, DerivativeMatrix, Data >::tol_update_rate_ {default_tol_update_rate}
private

Tolerance of update rate of the solution.

Definition at line 404 of file tv_admm.h.

◆ update_rate_

template<typename Coeff, typename DerivativeMatrix, base::concepts::dense_vector Data>
scalar_type num_collect::regularization::tv_admm< Coeff, DerivativeMatrix, Data >::update_rate_ {}
private

Rate of norm of the update of the solution in the last iteration.

Definition at line 380 of file tv_admm.h.


The documentation for this class was generated from the following file:
  • include/num_collect/regularization/tv_admm.h