/build/buildd/clp-1.12.0/Clp/src/ClpPdco.hpp
Go to the documentation of this file.
00001 /* $Id: ClpPdco.hpp 1525 2010-02-26 17:27:59Z mjs $ */
00002 // Copyright (C) 2003, International Business Machines
00003 // Corporation and others.  All Rights Reserved.
00004 
00005 /*
00006    Authors
00007 
00008    John Tomlin
00009 
00010  */
00011 #ifndef ClpPdco_H
00012 #define ClpPdco_H
00013 
00014 #include "ClpInterior.hpp"
00015 
00022 class ClpPdco : public ClpInterior {
00023 
00024 public:
00025 
00035      int pdco();
00036      // ** Temporary version
00037      int  pdco( ClpPdcoBase * stuff, Options &options, Info &info, Outfo &outfo);
00038 
00040 
00043 
00044      void lsqr();
00045 
00046      void matVecMult( int, double *, double *);
00047 
00048      void matVecMult( int, CoinDenseVector<double> &, double *);
00049 
00050      void matVecMult( int, CoinDenseVector<double> &, CoinDenseVector<double> &);
00051 
00052      void matVecMult( int, CoinDenseVector<double> *, CoinDenseVector<double> *);
00053 
00054      void getBoundTypes( int *, int *, int *, int**);
00055 
00056      void getGrad(CoinDenseVector<double> &x, CoinDenseVector<double> &grad);
00057 
00058      void getHessian(CoinDenseVector<double> &x, CoinDenseVector<double> &H);
00059 
00060      double getObj(CoinDenseVector<double> &x);
00061 
00062      void matPrecon( double, double *, double *);
00063 
00064      void matPrecon( double, CoinDenseVector<double> &, double *);
00065 
00066      void matPrecon( double, CoinDenseVector<double> &, CoinDenseVector<double> &);
00067 
00068      void matPrecon( double, CoinDenseVector<double> *, CoinDenseVector<double> *);
00070 
00071 };
00072 #endif