Ignore:
Timestamp:
Feb 7, 2003 5:39:18 PM (17 years ago)
Author:
forrest
Message:

Adding Network matrix and PlusMinusOne?

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/ClpFactorization.hpp

    r63 r118  
    1010
    1111/** This just implements CoinFactorization when an ClpMatrixBase object
    12     is passed.  It has no data.
     12    is passed.  If a network then has a dummy CoinFactorization and
     13    a genuine ClpNetworkBasis object
    1314*/
    1415class ClpMatrixBase;
    1516class ClpSimplex;
     17class ClpNetworkBasis;
    1618
    1719class ClpFactorization : public CoinFactorization {
     
    5557   //@}
    5658   
     59  /*  **** below here is so can use networkish basis */
     60  /**@name rank one updates which do exist */
     61  //@{
     62
     63  /** Replaces one Column to basis,
     64   returns 0=OK, 1=Probably OK, 2=singular, 3=no room
     65      If checkBeforeModifying is true will do all accuracy checks
     66      before modifying factorization.  Whether to set this depends on
     67      speed considerations.  You could just do this on first iteration
     68      after factorization and thereafter re-factorize
     69   partial update already in U */
     70  int replaceColumn ( CoinIndexedVector * regionSparse,
     71                      int pivotRow,
     72                      double pivotCheck ,
     73                      bool checkBeforeModifying=false);
     74  //@}
     75
     76  /**@name various uses of factorization (return code number elements)
     77   which user may want to know about */
     78  //@{
     79  /** Updates one column (FTRAN) from region2
     80      number returned is negative if no room
     81      region1 starts as zero and is zero at end */
     82  int updateColumn ( CoinIndexedVector * regionSparse,
     83                        CoinIndexedVector * regionSparse2,
     84                        bool FTUpdate = false ) ;
     85  /** Updates one column (FTRAN) to/from array
     86      number returned is negative if no room
     87      ** For large problems you should ALWAYS know where the nonzeros
     88      are, so please try and migrate to previous method after you
     89      have got code working using this simple method - thank you!
     90      (the only exception is if you know input is dense e.g. rhs)
     91      region starts as zero and is zero at end */
     92  int updateColumn ( CoinIndexedVector * regionSparse,
     93                        double array[] ) const;
     94  /** Updates one column transpose (BTRAN)
     95      ** For large problems you should ALWAYS know where the nonzeros
     96      are, so please try and migrate to previous method after you
     97      have got code working using this simple method - thank you!
     98      (the only exception is if you know input is dense e.g. dense objective)
     99      returns number of nonzeros */
     100  int updateColumnTranspose ( CoinIndexedVector * regionSparse,
     101                                 double array[] ) const;
     102  /** Updates one column (BTRAN) from region2
     103      region1 starts as zero and is zero at end */
     104  int updateColumnTranspose ( CoinIndexedVector * regionSparse,
     105                              CoinIndexedVector * regionSparse2) const;
     106  //@}
    57107   
     108////////////////// data //////////////////
     109private:
     110
     111  /**@name data */
     112  //@{
     113  /// Pointer to network basis
     114  ClpNetworkBasis * networkBasis_;
     115  //@}
    58116};
    59117
Note: See TracChangeset for help on using the changeset viewer.