Go to the documentation of this file.00001
00002
00003
00004 #ifndef ClpLsqr_H_
00005 #define ClpLsqr_H_
00006
00007 #include "CoinDenseVector.hpp"
00008
00009 #include "ClpInterior.hpp"
00010
00011
00074 class ClpLsqr {
00075 private:
00078
00079
00080 public:
00083
00084 int nrows_;
00086 int ncols_;
00088 ClpInterior *model_;
00090 double *diag1_;
00092 double diag2_;
00094
00097 ClpLsqr();
00098
00100 ClpLsqr(ClpInterior *model);
00102 ClpLsqr(const ClpLsqr &);
00104 ClpLsqr & operator=(const ClpLsqr & rhs);
00106 ~ClpLsqr();
00108
00111
00112 bool setParam(char *parmName, int parmValue);
00114 void do_lsqr( CoinDenseVector<double> &b,
00115 double damp, double atol, double btol, double conlim, int itnlim,
00116 bool show, Info info, CoinDenseVector<double> &x , int *istop,
00117 int *itn, Outfo *outfo, bool precon, CoinDenseVector<double> &Pr );
00119 void matVecMult( int, CoinDenseVector<double> *, CoinDenseVector<double> *);
00120
00121 void matVecMult( int, CoinDenseVector<double> &, CoinDenseVector<double> &);
00123 void borrowDiag1(double * array) {
00124 diag1_ = array;
00125 };
00127 };
00128 #endif
00129
00130
00131
00132