Clp trunk
ClpPdcoBase Class Reference

Abstract base class for tailoring everything for Pcdo. More...

#include <ClpPdcoBase.hpp>

List of all members.

Public Member Functions

Virtual methods that the derived classes must provide
virtual void matVecMult (ClpInterior *model, int mode, double *x, double *y) const =0
virtual void getGrad (ClpInterior *model, CoinDenseVector< double > &x, CoinDenseVector< double > &grad) const =0
virtual void getHessian (ClpInterior *model, CoinDenseVector< double > &x, CoinDenseVector< double > &H) const =0
virtual double getObj (ClpInterior *model, CoinDenseVector< double > &x) const =0
virtual void matPrecon (ClpInterior *model, double delta, double *x, double *y) const =0
Other

Clone

virtual ClpPdcoBaseclone () const =0
int type () const
 Returns type.
void setType (int type)
 Sets type.
int sizeD1 () const
 Returns size of d1.
double getD1 () const
 Returns d1 as scalar.
int sizeD2 () const
 Returns size of d2.
double getD2 () const
 Returns d2 as scalar.

Protected Attributes

Data members

The data members are protected to allow access for derived classes.

double d1_
 Should be dense vectors.
double d2_
int type_
 type (may be useful)

Constructors, destructor<br>

NOTE: All constructors are protected.

There's no need to expose them, after all, this is an abstract class.

virtual ~ClpPdcoBase ()
 Destructor (has to be public)
 ClpPdcoBase ()
 Default constructor.
 ClpPdcoBase (const ClpPdcoBase &)
ClpPdcoBaseoperator= (const ClpPdcoBase &)

Detailed Description

Abstract base class for tailoring everything for Pcdo.

Since this class is abstract, no object of this type can be created.

If a derived class provides all methods then all ClpPcdo algorithms should work.

Eventually we should be able to use ClpObjective and ClpMatrixBase.

Definition at line 25 of file ClpPdcoBase.hpp.


Constructor & Destructor Documentation

ClpPdcoBase::ClpPdcoBase ( ) [protected]

Default constructor.

virtual ClpPdcoBase::~ClpPdcoBase ( ) [virtual]

Destructor (has to be public)

ClpPdcoBase::ClpPdcoBase ( const ClpPdcoBase ) [protected]

Member Function Documentation

virtual void ClpPdcoBase::matVecMult ( ClpInterior model,
int  mode,
double *  x,
double *  y 
) const [pure virtual]
virtual void ClpPdcoBase::getGrad ( ClpInterior model,
CoinDenseVector< double > &  x,
CoinDenseVector< double > &  grad 
) const [pure virtual]
virtual void ClpPdcoBase::getHessian ( ClpInterior model,
CoinDenseVector< double > &  x,
CoinDenseVector< double > &  H 
) const [pure virtual]
virtual double ClpPdcoBase::getObj ( ClpInterior model,
CoinDenseVector< double > &  x 
) const [pure virtual]
virtual void ClpPdcoBase::matPrecon ( ClpInterior model,
double  delta,
double *  x,
double *  y 
) const [pure virtual]
virtual ClpPdcoBase* ClpPdcoBase::clone ( ) const [pure virtual]
int ClpPdcoBase::type ( ) const [inline]

Returns type.

Definition at line 46 of file ClpPdcoBase.hpp.

void ClpPdcoBase::setType ( int  type) [inline]

Sets type.

Definition at line 50 of file ClpPdcoBase.hpp.

int ClpPdcoBase::sizeD1 ( ) const [inline]

Returns size of d1.

Definition at line 54 of file ClpPdcoBase.hpp.

double ClpPdcoBase::getD1 ( ) const [inline]

Returns d1 as scalar.

Definition at line 58 of file ClpPdcoBase.hpp.

int ClpPdcoBase::sizeD2 ( ) const [inline]

Returns size of d2.

Definition at line 62 of file ClpPdcoBase.hpp.

double ClpPdcoBase::getD2 ( ) const [inline]

Returns d2 as scalar.

Definition at line 66 of file ClpPdcoBase.hpp.

ClpPdcoBase& ClpPdcoBase::operator= ( const ClpPdcoBase ) [protected]

Member Data Documentation

double ClpPdcoBase::d1_ [protected]

Should be dense vectors.

Definition at line 96 of file ClpPdcoBase.hpp.

double ClpPdcoBase::d2_ [protected]

Definition at line 97 of file ClpPdcoBase.hpp.

int ClpPdcoBase::type_ [protected]

type (may be useful)

Definition at line 99 of file ClpPdcoBase.hpp.


The documentation for this class was generated from the following file:
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines