Clp trunk
ClpLsqr.hpp
Go to the documentation of this file.
00001 /* $Id$ */
00002 // Copyright (C) 2003, International Business Machines
00003 // Corporation and others.  All Rights Reserved.
00004 // This code is licensed under the terms of the Eclipse Public License (EPL).
00005 
00006 #ifndef ClpLsqr_H_
00007 #define ClpLsqr_H_
00008 
00009 #include "CoinDenseVector.hpp"
00010 
00011 #include "ClpInterior.hpp"
00012 
00013 
00076 class ClpLsqr {
00077 private:
00080 
00081 
00082 public:
00085 
00086      int          nrows_;
00088      int          ncols_;
00090      ClpInterior        *model_;
00092      double         *diag1_;
00094      double         diag2_;
00096 
00099      ClpLsqr();
00100 
00102      ClpLsqr(ClpInterior *model);
00104      ClpLsqr(const ClpLsqr &);
00106      ClpLsqr & operator=(const ClpLsqr & rhs);
00108      ~ClpLsqr();
00110 
00113 
00114      bool setParam(char *parmName, int parmValue);
00116      void do_lsqr( CoinDenseVector<double> &b,
00117                    double damp, double atol, double btol, double conlim, int itnlim,
00118                    bool show, Info info, CoinDenseVector<double> &x , int *istop,
00119                    int *itn, Outfo *outfo, bool precon, CoinDenseVector<double> &Pr );
00121      void matVecMult( int, CoinDenseVector<double> *, CoinDenseVector<double> *);
00122 
00123      void matVecMult( int, CoinDenseVector<double> &, CoinDenseVector<double> &);
00125      void borrowDiag1(double * array) {
00126           diag1_ = array;
00127      };
00129 };
00130 #endif
00131 
00132 
00133 
00134 
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines