MoochoPack : Framework for Large-Scale Optimization Algorithms
Version of the Day
|
Check if the decomposition is going singular and if it is select a new decomposition. More...
#include <MoochoPack_CheckDecompositionFromRPy_Step.hpp>
Public Member Functions | |
STANDARD_COMPOSITION_MEMBERS (NewDecompositionSelection_Strategy, new_decomp_strategy) | |
<<std comp>="">> members for Decomposition Select Strategy object. More... | |
STANDARD_MEMBER_COMPOSITION_MEMBERS (value_type, max_decomposition_cond_change_frac) | |
Set the maximum change in the relative error in the range space step before the selection of a new decomposition is triggered. More... | |
CheckDecompositionFromRPy_Step (const new_decomp_strategy_ptr_t &new_decomp_strategy, value_type max_decomposition_cond_change_frac=1e+4) | |
void | reset () |
Call the reset initialization of all defaults. More... | |
Overridden from AlgorithmStep | |
bool | do_step (Algorithm &algo, poss_type step_poss, IterationPack::EDoStepType type, poss_type assoc_step_poss) |
void | print_step (const Algorithm &algo, poss_type step_poss, IterationPack::EDoStepType type, poss_type assoc_step_poss, std::ostream &out, const std::string &leading_str) const |
Check if the decomposition is going singular and if it is select a new decomposition.
This steps checks if the decomposition is going singular if the computation for the range space step looks like it is becomming more inaccurate.
In particular we want to know how cond(C) is changing. To do this we will monitor increases in the error in solving the equation:
R*py + c(equ_decomp) = 0
Therefore we will check for increases in the ratio:
ratio = ||R*py + c(equ_decomp)||inf / ||c(equ_decomp)||inf
If this ratio goes up dramatically, then this is a tail tell sign that R
is becomming illconditioned. See the algorithm printout for a more detailed description what what is going on.
Definition at line 73 of file MoochoPack_CheckDecompositionFromRPy_Step.hpp.
MoochoPack::CheckDecompositionFromRPy_Step::CheckDecompositionFromRPy_Step | ( | const new_decomp_strategy_ptr_t & | new_decomp_strategy, |
value_type | max_decomposition_cond_change_frac = 1e+4 |
||
) |
Definition at line 53 of file MoochoPack_CheckDecompositionFromRPy_Step.cpp.
MoochoPack::CheckDecompositionFromRPy_Step::STANDARD_COMPOSITION_MEMBERS | ( | NewDecompositionSelection_Strategy | , |
new_decomp_strategy | |||
) |
<<std comp>="">> members for Decomposition Select Strategy object.
MoochoPack::CheckDecompositionFromRPy_Step::STANDARD_MEMBER_COMPOSITION_MEMBERS | ( | value_type | , |
max_decomposition_cond_change_frac | |||
) |
Set the maximum change in the relative error in the range space step before the selection of a new decomposition is triggered.
void MoochoPack::CheckDecompositionFromRPy_Step::reset | ( | ) |
Call the reset initialization of all defaults.
Definition at line 63 of file MoochoPack_CheckDecompositionFromRPy_Step.cpp.
bool MoochoPack::CheckDecompositionFromRPy_Step::do_step | ( | Algorithm & | algo, |
poss_type | step_poss, | ||
IterationPack::EDoStepType | type, | ||
poss_type | assoc_step_poss | ||
) |
Definition at line 69 of file MoochoPack_CheckDecompositionFromRPy_Step.cpp.
void MoochoPack::CheckDecompositionFromRPy_Step::print_step | ( | const Algorithm & | algo, |
poss_type | step_poss, | ||
IterationPack::EDoStepType | type, | ||
poss_type | assoc_step_poss, | ||
std::ostream & | out, | ||
const std::string & | leading_str | ||
) | const |
Definition at line 146 of file MoochoPack_CheckDecompositionFromRPy_Step.cpp.