3 #ifndef CONICBUNDLE_QPKKTPRECONDOBJECT_HXX 4 #define CONICBUNDLE_QPKKTPRECONDOBJECT_HXX 20 class QPSolverParameters;
68 {Hp=0;model=0;A=0;eq_indices=0;}
72 CBout(cb,cbinc),Hp(0),model(0),A(0),eq_indices(0),SchurComplAineq(false)
int Integer
all integer numbers in calculations and indexing are of this type
Definition: matop.hxx:40
parameters for steering the termination criteria and solution method of the solver ...
Definition: QPSolverParameters.hxx:26
QPKKTPrecondObject(CBout *cb=0, int cbinc=-1)
default constructor
Definition: QPKKTPrecondObject.hxx:71
double Real
all real numbers in calculations are of this type
Definition: matop.hxx:50
virtual CH_Tools::Microseconds get_t_precond_mult()
for evaluation purposes with iterative solvers, return the time spent in the multiplication with the ...
Definition: QPKKTPrecondObject.hxx:126
virtual CH_Matrix_Classes::Integer get_precond_rank()
for evaluation purposes with iterative solvers, return the rank of the precondiontioner used (or the ...
Definition: QPKKTPrecondObject.hxx:122
Matrix class for integral values of type Integer
Definition: indexmat.hxx:195
QPSolverProxObject * Hp
points to the quadratic cost representation, may NOT be NULL afer init
Definition: QPKKTPrecondObject.hxx:57
virtual ~QPKKTPrecondObject()
virtual destructor
Header declaring the abstract class ConicBundle::QPSolverObject.
CH_Matrix_Classes::Real Hfactor
the prox term of Hp is multiplied by this
Definition: QPKKTPrecondObject.hxx:63
conic bundle method solver for sum of convex functions. See the ConicBundle_Manual for a quick introd...
Definition: CBSolver.hxx:22
QPModelBlockObject * model
points to the cutting model information, may be NULL
Definition: QPKKTPrecondObject.hxx:58
base class for uniform use of WARNINGS and ERRORS (at some point in time)
Definition: CBout.hxx:30
virtual void clear()
reset data to empty
Definition: QPKKTPrecondObject.hxx:67
const CH_Matrix_Classes::Sparsemat * A
points to a possibly present constraint matrix, may be NULL
Definition: QPKKTPrecondObject.hxx:59
virtual CH_Matrix_Classes::Real get_condition_number(const CH_Matrix_Classes::Matrix &KKTdiagx, const CH_Matrix_Classes::Matrix &KKTdiagy)
for estimating the condition number directly for the preconditioned part only
virtual int init_data(QPSolverProxObject *Hp, QPModelBlockObject *model, const CH_Matrix_Classes::Sparsemat *A, const CH_Matrix_Classes::Indexmatrix *eq_indices, bool SchurComplAineq)=0
returns 1 if this class is not applicable in the current data situation, otherwise it stores the data...
virtual int init_system(const CH_Matrix_Classes::Matrix &KKTdiagx, const CH_Matrix_Classes::Matrix &KKTdiagy, CH_Matrix_Classes::Real Hfactor, CH_Matrix_Classes::Real prec, QPSolverParameters *params)=0
set up the primal dual KKT system for being solved for predictor and corrector rhs; the input objects...
Header declaring the classes ConicBundle::QPModelBlockObject.
virtual int precond_invG1tran(CH_Matrix_Classes::Matrix &)
for estimating the condition number with M1=G*G^T this returns G^{-T}*vec; default: G=I ...
Definition: QPKKTPrecondObject.hxx:106
virtual int precond_invG1(CH_Matrix_Classes::Matrix &)
for estimating the condition number with M1=G*G^T this returns G^{-1}*vec; default: G=I ...
Definition: QPKKTPrecondObject.hxx:103
Matrix class for real values of type Real
Definition: matrix.hxx:74
virtual void reset_t_precond_mult()
for evaluation purposes with iterative solvers, reset the time spent in the multiplication with the p...
Definition: QPKKTPrecondObject.hxx:130
virtual CH_Matrix_Classes::Integer precond_size()
for estimating the condition number directly for the preconditioned part only; negative numbers indic...
Definition: QPKKTPrecondObject.hxx:109
Matrix class of sparse matrices with real values of type Real
Definition: sparsmat.hxx:74
abstract interface for model blocks in the constrained QPSolver
Definition: QPModelBlockObject.hxx:89
Abstract Interface for preconditioners to be used with a QPIterativeKKTSolver and a CH_Matrix_Classes...
Definition: QPKKTPrecondObject.hxx:52
virtual int cond_number_mult(CH_Matrix_Classes::Matrix &, const CH_Matrix_Classes::Matrix &, const CH_Matrix_Classes::Matrix &)
for estimating the condition number directly for the preconditioned part only
Definition: QPKKTPrecondObject.hxx:112
bool SchurComplAineq
if true, the inequalities of A are Schur complemented into the H block
Definition: QPKKTPrecondObject.hxx:61
virtual int precondM2(CH_Matrix_Classes::Matrix &)
returns M2^{-1}vec; default: M2=I
Definition: QPKKTPrecondObject.hxx:100
Header declaring and (inline) implementing the classes CH_Tools::Microseconds and CH_Tools::Clock as ...
virtual CH_Matrix_Classes::Real get_lmin_invM1()
return (an estimate of) the minimum eigenvalue of the preconditioner M1^{-1}; this is used...
Definition: QPKKTPrecondObject.hxx:94
const CH_Matrix_Classes::Indexmatrix * eq_indices
if not NULL, these rows of A correspond to equations; needed for checking applicability of this Objec...
Definition: QPKKTPrecondObject.hxx:60
virtual int precondM1(CH_Matrix_Classes::Matrix &)
returns M1^{-1}*vec; default: M1=I
Definition: QPKKTPrecondObject.hxx:97
in order to pass a ConicBundle::BundleProxObject, see Quadratic Proximal Terms, to a custzomized QPSo...
Definition: QPSolverObject.hxx:55