regpy.solvers.nonlinear.gen_tikhonov

Classes

GeometricSequence

Iterator generating a geometric sequence

GeneralizedTikhonov

Class running generalized Tikhonov regularization with some inner solver for different regularization parameters.

Module Contents

class regpy.solvers.nonlinear.gen_tikhonov.GeometricSequence(alpha0: float = 1.0, q: float = 0.5)[source]

Iterator generating a geometric sequence

Parameters:
  • alpha0 (float) – \(\alpha_0\) the initial regularization parameter

  • q (float) – Rate of the geometric sequence

Notes

Sequence defined recursively by

\[\begin{split}\alpha_0 &= \alpha_0 \\ \alpha_{n+1} &= q*\alpha_n\end{split}\]
class regpy.solvers.nonlinear.gen_tikhonov.GeneralizedTikhonov(setting: regpy.solvers.general.Setting, inner_solver_class: type[regpy.solvers.general.RegSolver], inner_solver_is_primal: bool = True, inner_solver_params: dict = {}, inner_stoprule_class_list: list[type[regpy.stoprules.StopRule]] = [DualityGapStopping, CountIterations], inner_stoprule_param_list: list[dict] = [{'tol': 0.001}, {'max_iterations': 1000}], alphas: Iterable[float] | Tuple[float, float] = (1.0, 0.5), logging_level: str = 'INFO', inner_logging_level: str = 'WARNING')[source]

Bases: regpy.solvers.general.RegSolver

Class running generalized Tikhonov regularization with some inner solver for different regularization parameters. This can serve as an interface to stopping rules for the selection of the regularization parameters

Parameters:
  • setting (regpy.solvers.Setting) – The setting of the forward problem.

  • inner_solver (regpy.solvers.RegSolver class name) – The right-hand side.

  • inner_stoprule_class_list (list[regpy.stoprules.StopRule]) – List of stop rules to be combined for the inner solver. Default is [regpy.stoprules.DualityGapStopping,regpy.stoprules.CountIterations].

  • inner_stoprule_param_list (list[dict]) – List of parameter dicts for the inner stop rules. Default is [{‘tol’:1e-3},{‘max_iterations’:1000}].

  • alphas (iterable or tuple, optional) – Either an iterable giving the grid of alphas or a tuple (alpha0,q). In the second case the sequence \((alpha0*q^n)_{n=0,1,2,...}\) is generated. Default is (1.0,0.5).

inner_solver_class
inner_solver_is_primal = True
inner_stoprule_class_list
inner_solver_params
inner_logging_level = 'WARNING'
inner_stoprule_param_list
inner_solver
inner_stoprule
set_next_alpha(alpha: float = None) bool[source]

“ Set the next regularization parameter.

Parameters:

alpha (float, optional) – If given, this regularization parameter is set. Otherwise, the next parameter from the internal iterator is used.

Returns:

False, if a new regularization parameter was set, True if the iterator is exhausted.

Return type:

bool