Clp 1.16.9
Loading...
Searching...
No Matches
ClpLsqr.hpp
Go to the documentation of this file.
1/* $Id: ClpLsqr.hpp 1665 2011-01-04 17:55:54Z lou $ */
2// Copyright (C) 2003, International Business Machines
3// Corporation and others. All Rights Reserved.
4// This code is licensed under the terms of the Eclipse Public License (EPL).
5
6#ifndef ClpLsqr_H_
7#define ClpLsqr_H_
8
9#include "CoinDenseVector.hpp"
10
11#include "ClpInterior.hpp"
12
13
76class ClpLsqr {
77private:
81
82public:
86 int nrows_;
88 int ncols_;
92 double *diag1_;
94 double diag2_;
96
100
104 ClpLsqr(const ClpLsqr &);
106 ClpLsqr & operator=(const ClpLsqr & rhs);
110
114 bool setParam(char *parmName, int parmValue);
116 void do_lsqr( CoinDenseVector<double> &b,
117 double damp, double atol, double btol, double conlim, int itnlim,
118 bool show, Info info, CoinDenseVector<double> &x , int *istop,
119 int *itn, Outfo *outfo, bool precon, CoinDenseVector<double> &Pr );
121 void matVecMult( int, CoinDenseVector<double> *, CoinDenseVector<double> *);
122
123 void matVecMult( int, CoinDenseVector<double> &, CoinDenseVector<double> &);
125 void borrowDiag1(double * array) {
126 diag1_ = array;
127 };
129};
130#endif
131
132
133
134
This solves LPs using interior point methods.
Definition: ClpInterior.hpp:72
This class implements LSQR.
Definition: ClpLsqr.hpp:76
void matVecMult(int, CoinDenseVector< double > *, CoinDenseVector< double > *)
Matrix-vector multiply - implemented by user.
bool setParam(char *parmName, int parmValue)
Set an int parameter.
ClpLsqr(const ClpLsqr &)
Copy constructor.
double * diag1_
Diagonal array 1.
Definition: ClpLsqr.hpp:92
void matVecMult(int, CoinDenseVector< double > &, CoinDenseVector< double > &)
void do_lsqr(CoinDenseVector< double > &b, double damp, double atol, double btol, double conlim, int itnlim, bool show, Info info, CoinDenseVector< double > &x, int *istop, int *itn, Outfo *outfo, bool precon, CoinDenseVector< double > &Pr)
Call the Lsqr algorithm.
ClpLsqr & operator=(const ClpLsqr &rhs)
Assignment operator. This copies the data.
~ClpLsqr()
Destructor.
int nrows_
Row dimension of matrix.
Definition: ClpLsqr.hpp:86
ClpLsqr(ClpInterior *model)
Constructor for use with Pdco model (note modified for pdco!!!!)
ClpLsqr()
Default constructor.
double diag2_
Constant diagonal 2.
Definition: ClpLsqr.hpp:94
int ncols_
Column dimension of matrix.
Definition: ClpLsqr.hpp:88
void borrowDiag1(double *array)
diag1 - we just borrow as it is part of a CoinDenseVector<double>
Definition: ClpLsqr.hpp:125
ClpInterior * model_
Pointer to Model object for this instance.
Definition: ClpLsqr.hpp:90
******** DATA to be moved into protected section of ClpInterior
Definition: ClpInterior.hpp:27
******** DATA to be moved into protected section of ClpInterior
Definition: ClpInterior.hpp:35