# ClpPdcoBase Class Reference

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

`#include <ClpPdcoBase.hpp>`

Inheritance diagram for ClpPdcoBase:
[legend]

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 ClpPdcoBase * | clone () const =0
| Returns type.
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_
| Should be dense vectors.
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 &)
| Destructor (has to be public).
ClpPdcoBase & | operator= (const ClpPdcoBase &)
| Destructor (has to be public).

## 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]`

Destructor (has to be public).

## Member Function Documentation

virtual void ClpPdcoBase::matVecMult | ( | ClpInterior * | model,
|  | int | mode,
|  | double * | x,
|  | double * | y |
| ) |  |  | const`[pure virtual]`

Implemented in myPdco.

virtual void ClpPdcoBase::getGrad | ( | ClpInterior * | model,
|  | CoinDenseVector< double > & | x,
|  | CoinDenseVector< double > & | grad |
| ) |  |  | const`[pure virtual]`

Implemented in myPdco.

virtual void ClpPdcoBase::getHessian | ( | ClpInterior * | model,
|  | CoinDenseVector< double > & | x,
|  | CoinDenseVector< double > & | H |
| ) |  |  | const`[pure virtual]`

Implemented in myPdco.

virtual double ClpPdcoBase::getObj | ( | ClpInterior * | model,
|  | CoinDenseVector< double > & | x |
| ) |  |  | const`[pure virtual]`

Implemented in myPdco.

virtual void ClpPdcoBase::matPrecon | ( | ClpInterior * | model,
|  | double | delta,
|  | double * | x,
|  | double * | y |
| ) |  |  | const`[pure virtual]`

Implemented in myPdco.

virtual ClpPdcoBase* ClpPdcoBase::clone | ( |  | ) | const`[pure virtual]`

Returns type.

Implemented in myPdco.

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]`

Destructor (has to be public).

Reimplemented in myPdco.

## Member Data Documentation

double ClpPdcoBase::d1_`[protected]`

Should be dense vectors.

Definition at line 96 of file ClpPdcoBase.hpp.

double ClpPdcoBase::d2_`[protected]`

Should be dense vectors.

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:

- /home/coin/svn-release/Smi-0.93.1/Clp/src/ClpPdcoBase.hpp