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.