Loading...
Searching...
No Matches
ClpLsqr.hpp
Go to the documentation of this file.
/* $Id$ */
// Copyright (C) 2003, International Business Machines
// Corporation and others. All Rights Reserved.
// This code is licensed under the terms of the Eclipse Public License (EPL).
#ifndef ClpLsqr_H_
#define ClpLsqr_H_
#include "CoinDenseVector.hpp"
#include "ClpInterior.hpp"
class ClpLsqr {
private:
public:
int nrows_;
int ncols_;
ClpInterior *model_;
double *diag1_;
double diag2_;
ClpLsqr();
ClpLsqr(ClpInterior *model);
ClpLsqr(const ClpLsqr &);
ClpLsqr &operator=(const ClpLsqr &rhs);
~ClpLsqr();
bool setParam(char *parmName, int parmValue);
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);
void matVecMult(int, CoinDenseVector< double > *, CoinDenseVector< double > *);
void matVecMult(int, CoinDenseVector< double > &, CoinDenseVector< double > &);
void borrowDiag1(double *array)
{
diag1_ = array;
};
};
#endif
/* vi: softtabstop=2 shiftwidth=2 expandtab tabstop=2
*/
ClpInterior.hpp
ClpInterior
This solves LPs using interior point methods.
Definition ClpInterior.hpp:72
ClpLsqr::matVecMult
void matVecMult(int, CoinDenseVector< double > *, CoinDenseVector< double > *)
Matrix-vector multiply - implemented by user.
ClpLsqr::setParam
bool setParam(char *parmName, int parmValue)
Set an int parameter.
ClpLsqr::ClpLsqr
ClpLsqr(const ClpLsqr &)
Copy constructor.
ClpLsqr::diag1_
double * diag1_
Diagonal array 1.
Definition ClpLsqr.hpp:91
ClpLsqr::matVecMult
void matVecMult(int, CoinDenseVector< double > &, CoinDenseVector< double > &)
ClpLsqr::do_lsqr
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=
ClpLsqr & operator=(const ClpLsqr &rhs)
Assignment operator. This copies the data.
ClpLsqr::~ClpLsqr
~ClpLsqr()
Destructor.
ClpLsqr::nrows_
int nrows_
Row dimension of matrix.
Definition ClpLsqr.hpp:85
ClpLsqr::ClpLsqr
ClpLsqr(ClpInterior *model)
Constructor for use with Pdco model (note modified for pdco!
ClpLsqr::ClpLsqr
ClpLsqr()
Default constructor.
ClpLsqr::diag2_
double diag2_
Constant diagonal 2.
Definition ClpLsqr.hpp:93
ClpLsqr::ncols_
int ncols_
Column dimension of matrix.
Definition ClpLsqr.hpp:87
ClpLsqr::borrowDiag1
void borrowDiag1(double *array)
diag1 - we just borrow as it is part of a CoinDenseVector<double>
Definition ClpLsqr.hpp:124
ClpLsqr::model_
ClpInterior * model_
Pointer to Model object for this instance.
Definition ClpLsqr.hpp:89
Info
******** DATA to be moved into protected section of ClpInterior
Definition ClpInterior.hpp:27
Outfo
******** DATA to be moved into protected section of ClpInterior
Definition ClpInterior.hpp:35