12 #ifndef CoinOslFactorization_H 13 #define CoinOslFactorization_H 109 friend void CoinOslFactorizationUnitTest(
const std::string &mpsDir);
129 virtual void getAreas(
int numberRows,
136 virtual void preProcess();
142 virtual int factor();
144 virtual void postProcess(
const int *sequence,
int *pivotVariable);
146 virtual void makeNonSingular(
int *sequence,
int numberColumns);
155 int rowIsBasic[],
int columnIsBasic[],
156 double areaFactor = 0.0);
161 virtual inline int numberElements()
const 164 return numberRows_ * (numberColumns_ + numberPivots_);
169 virtual int *pivotRow()
const;
173 virtual int *intWorkArea()
const;
175 virtual int *numberInRow()
const;
177 virtual int *numberInColumn()
const;
179 virtual int *starts()
const;
181 virtual int *permuteBack()
const;
183 virtual bool wantsTableauColumn()
const;
188 virtual void setUsefulInformation(
const int *info,
int whereFrom);
190 virtual void maximumPivots(
int value);
193 double maximumCoefficient()
const;
195 double conditionNumber()
const;
197 virtual void clearArrays();
213 bool checkBeforeModifying =
false,
214 double acceptablePivot = 1.0e-8);
228 bool noPermute =
false);
233 bool noPermute =
false)
const;
238 bool noPermute =
false);
255 virtual int *indices()
const;
267 void gutsOfInitialize(
bool zapFact =
true);
275 int checkPivot(
double saveFromU,
double oldPivot)
const;
virtual int * permute() const
Returns permute in.
int switch_off_sparse_update
Abstract base class which also has some scalars so can be used from Dense or Simp.
CoinPackedMatrix & operator=(const CoinPackedMatrix &rhs)
Assignment operator.
double CoinFactorizationDouble
Sparse Matrix Base Class.
This deals with Factorization and Updates This is ripped off from OSL!!!!!!!!!
struct _EKKfactinfo EKKfactinfo