ConicBundle
|
abstract interface providing the bundle data that is typically needed in VariableMetricSelection classes. More...
#include <VariableMetric.hxx>
Public Member Functions | |
virtual | ~VariableMetricBundleData () |
virtual destructor | |
virtual CH_Matrix_Classes::Real | get_function_factor () const =0 |
the factor by which the minorants (except for the aggregate) need to be multiplied in order to match the current function scaling | |
virtual int | get_latest_minorants (MinorantBundle &latest_minorants, CH_Matrix_Classes::Integer max_number)=0 |
latest_minorants should return up to the max_number latest minorants whose information should be incorporated in the metric model; the number may fall short of max_number; if the number returned is too large, only the first max_number will usually be considered; the minorants still need to be mutliplied by function_factor | |
virtual int | get_model_data (MinorantBundle &model_minorants, CH_Matrix_Classes::Matrix &model_coeff) const =0 |
model_mionrants should hold the minorants currently used in the model; the list may be empty, it may and typically will contain other minorants than returned in get_latest_minorants(); the minorants still need to be mutliplied by function_factor; modell_coeff needs to return a column vector with the same number of elements as in model_minorants and in the same sorting; mostly it will hold the convex combination of the model_minorants that gives rist to the aggregate, but it may also contain other nonnegativer numbers indicating the importance of the respective minorants | |
virtual const MinorantPointer & | get_aggregate () const =0 |
the aggregate minorant as currently in use in the bundle method; it already includes the function_factor | |
virtual const CH_Matrix_Classes::Symmatrix & | get_denseH () const |
allows to retrieve dense variable metric information stored here | |
virtual CH_Matrix_Classes::Symmatrix & | set_denseH () |
allows to retrieve the dense variable metric information generated in the previous call and allows to store the new one in the end | |
virtual const CH_Matrix_Classes::Matrix & | get_lowrankH () const |
allows to retrieve low rank variable metric information stored here | |
virtual CH_Matrix_Classes::Matrix & | set_lowrankH () |
allows to retrieve the low rank variable metric information generated in the previous call and allows to store the new one in the end | |
virtual const CH_Matrix_Classes::Matrix & | get_diagH () const |
allows to retrieve the diagonal variable metric information generated in the previous call and allows to store the new one in the end | |
virtual CH_Matrix_Classes::Matrix & | set_diagH () |
allows to retrieve the diagonal variable metric information generated in the previous call and allows to store the new one in the end | |
Private Attributes | |
CH_Matrix_Classes::Matrix | vmbd_lowrankH |
used by the variable metric low rank heuristic (without function_factor) | |
CH_Matrix_Classes::Matrix | vmbd_diagH |
used by the variable metric low rank heuristic (without function_factor) | |
CH_Matrix_Classes::Symmatrix | vmbd_denseH |
used by the variable metric heuristic | |
abstract interface providing the bundle data that is typically needed in VariableMetricSelection classes.
The standard models all employ derived classes of this class so as to allow customized implementations of VariableMetricSelection classes access to the full bundle information via a dynamic_cast.