00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef ClpPdco_H
00011 #define ClpPdco_H
00012
00013 #include "ClpInterior.hpp"
00014
00021 class ClpPdco : public ClpInterior {
00022
00023 public:
00024
00034 int pdco();
00035
00036 int pdco( ClpPdcoBase * stuff, Options &options, Info &info, Outfo &outfo);
00037
00039
00042
00043 void lsqr();
00044
00045 void matVecMult( int, double *, double *);
00046
00047 void matVecMult( int, CoinDenseVector<double> &, double *);
00048
00049 void matVecMult( int, CoinDenseVector<double> &, CoinDenseVector<double> &);
00050
00051 void matVecMult( int, CoinDenseVector<double> *, CoinDenseVector<double> *);
00052
00053 void getBoundTypes( int *, int *, int *, int**);
00054
00055 void getGrad(CoinDenseVector<double> &x, CoinDenseVector<double> &grad);
00056
00057 void getHessian(CoinDenseVector<double> &x, CoinDenseVector<double> &H);
00058
00059 double getObj(CoinDenseVector<double> &x);
00060
00061 void matPrecon( double, double *, double *);
00062
00063 void matPrecon( double, CoinDenseVector<double> &, double *);
00064
00065 void matPrecon( double, CoinDenseVector<double> &, CoinDenseVector<double> &);
00066
00067 void matPrecon( double, CoinDenseVector<double> *, CoinDenseVector<double> *);
00069
00070 };
00071 #endif