12 #ifndef CoinOslFactorization_H 13 #define CoinOslFactorization_H 107 friend void CoinOslFactorizationUnitTest(
const std::string & mpsDir );
128 virtual void getAreas (
int numberRows,
135 virtual void preProcess ( );
141 virtual int factor ( );
143 virtual void postProcess(
const int * sequence,
int * pivotVariable);
145 virtual void makeNonSingular(
int * sequence,
int numberColumns);
154 int rowIsBasic[],
int columnIsBasic[] ,
155 double areaFactor = 0.0 );
160 virtual inline int numberElements ( )
const {
162 return numberRows_*(numberColumns_+numberPivots_);
167 virtual int * pivotRow()
const;
171 virtual int * intWorkArea()
const;
173 virtual int * numberInRow()
const;
175 virtual int * numberInColumn()
const;
179 virtual int * permuteBack()
const;
181 virtual bool wantsTableauColumn()
const;
186 virtual void setUsefulInformation(
const int * info,
int whereFrom);
188 virtual void maximumPivots (
int value );
191 double maximumCoefficient()
const;
193 double conditionNumber()
const;
195 virtual void clearArrays();
211 bool checkBeforeModifying=
false,
212 double acceptablePivot=1.0e-8);
226 bool noPermute=
false);
231 bool noPermute=
false)
const;
236 bool noPermute=
false);
253 virtual int * indices()
const;
262 void gutsOfInitialize(
bool zapFact=
true);
270 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