- Main Page
- Namespaces
- Classes
- Files
- Directories

- Search for |

- File List
- File Members

# ClpLsqr.hpp

Go to the documentation of this file.

    00001 /* $Id: ClpLsqr.hpp 1665 2011-01-04 17:55:54Z lou $ */
    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