Presolve Matrix Manipulation Functions

Functions

void presolve_delete_many_from_major (int majndx, char *marked, const CoinBigIndex *majstrts, int *majlens, int *minndxs, double *els)
void CoinPrePostsolveMatrix::presolve_make_memlists (CoinBigIndex *starts, int *lengths, presolvehlink *link, int n)
 Initialise linked list for major vector order in bulk storage.
bool CoinPrePostsolveMatrix::presolve_expand_major (CoinBigIndex *majstrts, double *majels, int *minndxs, int *majlens, presolvehlink *majlinks, int nmaj, int k)
 Make sure a major-dimension vector k has room for one more coefficient.
bool CoinPrePostsolveMatrix::presolve_expand_col (CoinBigIndex *mcstrt, double *colels, int *hrow, int *hincol, presolvehlink *clink, int ncols, int colx)
 Make sure a column (colx) in a column-major matrix has room for one more coefficient.
bool CoinPrePostsolveMatrix::presolve_expand_row (CoinBigIndex *mrstrt, double *rowels, int *hcol, int *hinrow, presolvehlink *rlink, int nrows, int rowx)
 Make sure a row (rowx) in a row-major matrix has room for one more coefficient.
CoinBigIndex CoinPrePostsolveMatrix::presolve_find_minor (int tgt, CoinBigIndex ks, CoinBigIndex ke, const int *minndxs)
 Find position of a minor index in a major vector.
CoinBigIndex CoinPrePostsolveMatrix::presolve_find_row (int row, CoinBigIndex kcs, CoinBigIndex kce, const int *hrow)
 Find position of a row in a column in a column-major matrix.
CoinBigIndex CoinPostsolveMatrix::presolve_find_col (int col, CoinBigIndex krs, CoinBigIndex kre, const int *hcol)
 Find position of a column in a row in a row-major matrix.
CoinBigIndex CoinPrePostsolveMatrix::presolve_find_minor1 (int tgt, CoinBigIndex ks, CoinBigIndex ke, const int *minndxs)
 Find position of a minor index in a major vector.
CoinBigIndex CoinPrePostsolveMatrix::presolve_find_row1 (int row, CoinBigIndex kcs, CoinBigIndex kce, const int *hrow)
 Find position of a row in a column in a column-major matrix.
CoinBigIndex CoinPrePostsolveMatrix::presolve_find_col1 (int col, CoinBigIndex krs, CoinBigIndex kre, const int *hcol)
 Find position of a column in a row in a row-major matrix.
CoinBigIndex CoinPostsolveMatrix::presolve_find_minor2 (int tgt, CoinBigIndex ks, int majlen, const int *minndxs, const CoinBigIndex *majlinks)
 Find position of a minor index in a major vector in a threaded matrix.
CoinBigIndex CoinPostsolveMatrix::presolve_find_row2 (int row, CoinBigIndex kcs, int collen, const int *hrow, const CoinBigIndex *clinks)
 Find position of a row in a column in a column-major threaded matrix.
CoinBigIndex CoinPostsolveMatrix::presolve_find_minor3 (int tgt, CoinBigIndex ks, int majlen, const int *minndxs, const CoinBigIndex *majlinks)
 Find position of a minor index in a major vector in a threaded matrix.
CoinBigIndex CoinPostsolveMatrix::presolve_find_row3 (int row, CoinBigIndex kcs, int collen, const int *hrow, const CoinBigIndex *clinks)
 Find position of a row in a column in a column-major threaded matrix.
void CoinPrePostsolveMatrix::presolve_delete_from_major (int majndx, int minndx, const CoinBigIndex *majstrts, int *majlens, int *minndxs, double *els)
 Delete the entry for a minor index from a major vector.
void CoinPrePostsolveMatrix::presolve_delete_from_col (int row, int col, const CoinBigIndex *mcstrt, int *hincol, int *hrow, double *colels)
 Delete the entry for row row from column col in a column-major matrix.
void CoinPrePostsolveMatrix::presolve_delete_from_row (int row, int col, const CoinBigIndex *mrstrt, int *hinrow, int *hcol, double *rowels)
 Delete the entry for column col from row row in a row-major matrix.
void CoinPostsolveMatrix::presolve_delete_from_major2 (int majndx, int minndx, CoinBigIndex *majstrts, int *majlens, int *minndxs, double *els, int *majlinks, CoinBigIndex *free_listp)
 Delete the entry for a minor index from a major vector in a threaded matrix.
void CoinPostsolveMatrix::presolve_delete_from_col2 (int row, int col, CoinBigIndex *mcstrt, int *hincol, int *hrow, double *colels, int *clinks, CoinBigIndex *free_listp)
 Delete the entry for row row from column col in a column-major threaded matrix.

Detailed Description

Functions to work with the loosely packed and threaded packed matrix structures used during presolve and postsolve.


Function Documentation

void presolve_delete_many_from_major ( int  majndx,
char *  marked,
const CoinBigIndex majstrts,
int *  majlens,
int *  minndxs,
double *  els 
)
void presolve_make_memlists ( CoinBigIndex starts,
int *  lengths,
presolvehlink link,
int  n 
) [related, inherited]

Initialise linked list for major vector order in bulk storage.

bool presolve_expand_major ( CoinBigIndex majstrts,
double *  majels,
int *  minndxs,
int *  majlens,
presolvehlink majlinks,
int  nmaj,
int  k 
) [related, inherited]

Make sure a major-dimension vector k has room for one more coefficient.

You can use this directly, or use the inline wrappers presolve_expand_col and presolve_expand_row

bool presolve_expand_col ( CoinBigIndex mcstrt,
double *  colels,
int *  hrow,
int *  hincol,
presolvehlink clink,
int  ncols,
int  colx 
) [related, inherited]

Make sure a column (colx) in a column-major matrix has room for one more coefficient.

Definition at line 1409 of file CoinPresolveMatrix.hpp.

bool presolve_expand_row ( CoinBigIndex mrstrt,
double *  rowels,
int *  hcol,
int *  hinrow,
presolvehlink rlink,
int  nrows,
int  rowx 
) [related, inherited]

Make sure a row (rowx) in a row-major matrix has room for one more coefficient.

Definition at line 1420 of file CoinPresolveMatrix.hpp.

CoinBigIndex presolve_find_minor ( int  tgt,
CoinBigIndex  ks,
CoinBigIndex  ke,
const int *  minndxs 
) [related, inherited]

Find position of a minor index in a major vector.

The routine returns the position k in minndxs for the specified minor index tgt. It will abort if the entry does not exist. Can be used directly or via the inline wrappers presolve_find_row and presolve_find_col.

CoinBigIndex presolve_find_row ( int  row,
CoinBigIndex  kcs,
CoinBigIndex  kce,
const int *  hrow 
) [related, inherited]

Find position of a row in a column in a column-major matrix.

The routine returns the position k in hrow for the specified row. It will abort if the entry does not exist.

Definition at line 1444 of file CoinPresolveMatrix.hpp.

CoinBigIndex presolve_find_col ( int  col,
CoinBigIndex  krs,
CoinBigIndex  kre,
const int *  hcol 
) [related, inherited]

Find position of a column in a row in a row-major matrix.

The routine returns the position k in hcol for the specified col. It will abort if the entry does not exist.

Definition at line 1454 of file CoinPresolveMatrix.hpp.

CoinBigIndex presolve_find_minor1 ( int  tgt,
CoinBigIndex  ks,
CoinBigIndex  ke,
const int *  minndxs 
) [related, inherited]

Find position of a minor index in a major vector.

The routine returns the position k in minndxs for the specified minor index tgt. A return value of ke means the entry does not exist. Can be used directly or via the inline wrappers presolve_find_row1 and presolve_find_col1.

CoinBigIndex presolve_find_row1 ( int  row,
CoinBigIndex  kcs,
CoinBigIndex  kce,
const int *  hrow 
) [related, inherited]

Find position of a row in a column in a column-major matrix.

The routine returns the position k in hrow for the specified row. A return value of kce means the entry does not exist.

Definition at line 1476 of file CoinPresolveMatrix.hpp.

CoinBigIndex presolve_find_col1 ( int  col,
CoinBigIndex  krs,
CoinBigIndex  kre,
const int *  hcol 
) [related, inherited]

Find position of a column in a row in a row-major matrix.

The routine returns the position k in hcol for the specified col. A return value of kre means the entry does not exist.

Definition at line 1486 of file CoinPresolveMatrix.hpp.

CoinBigIndex presolve_find_minor2 ( int  tgt,
CoinBigIndex  ks,
int  majlen,
const int *  minndxs,
const CoinBigIndex majlinks 
) [related, inherited]

Find position of a minor index in a major vector in a threaded matrix.

The routine returns the position k in minndxs for the specified minor index tgt. It will abort if the entry does not exist. Can be used directly or via the inline wrapper presolve_find_row2.

CoinBigIndex presolve_find_row2 ( int  row,
CoinBigIndex  kcs,
int  collen,
const int *  hrow,
const CoinBigIndex clinks 
) [related, inherited]

Find position of a row in a column in a column-major threaded matrix.

The routine returns the position k in hrow for the specified row. It will abort if the entry does not exist.

Definition at line 1509 of file CoinPresolveMatrix.hpp.

CoinBigIndex presolve_find_minor3 ( int  tgt,
CoinBigIndex  ks,
int  majlen,
const int *  minndxs,
const CoinBigIndex majlinks 
) [related, inherited]

Find position of a minor index in a major vector in a threaded matrix.

The routine returns the position k in minndxs for the specified minor index tgt. It will return -1 if the entry does not exist. Can be used directly or via the inline wrappers presolve_find_row3.

CoinBigIndex presolve_find_row3 ( int  row,
CoinBigIndex  kcs,
int  collen,
const int *  hrow,
const CoinBigIndex clinks 
) [related, inherited]

Find position of a row in a column in a column-major threaded matrix.

The routine returns the position k in hrow for the specified row. It will return -1 if the entry does not exist.

Definition at line 1533 of file CoinPresolveMatrix.hpp.

void presolve_delete_from_major ( int  majndx,
int  minndx,
const CoinBigIndex majstrts,
int *  majlens,
int *  minndxs,
double *  els 
) [related, inherited]

Delete the entry for a minor index from a major vector.

Deletes the entry for minndx from the major vector majndx. Specifically, the relevant entries are removed from the minor index (minndxs) and coefficient (els) arrays and the vector length (majlens) is decremented. Loose packing is maintained by swapping the last entry in the row into the position occupied by the deleted entry.

void presolve_delete_from_col ( int  row,
int  col,
const CoinBigIndex mcstrt,
int *  hincol,
int *  hrow,
double *  colels 
) [related, inherited]

Delete the entry for row row from column col in a column-major matrix.

Deletes the entry for row from the major vector for col. Specifically, the relevant entries are removed from the row index (hrow) and coefficient (colels) arrays and the vector length (hincol) is decremented. Loose packing is maintained by swapping the last entry in the row into the position occupied by the deleted entry.

Definition at line 1565 of file CoinPresolveMatrix.hpp.

void presolve_delete_from_row ( int  row,
int  col,
const CoinBigIndex mrstrt,
int *  hinrow,
int *  hcol,
double *  rowels 
) [related, inherited]

Delete the entry for column col from row row in a row-major matrix.

Deletes the entry for col from the major vector for row. Specifically, the relevant entries are removed from the column index (hcol) and coefficient (rowels) arrays and the vector length (hinrow) is decremented. Loose packing is maintained by swapping the last entry in the column into the position occupied by the deleted entry.

Definition at line 1580 of file CoinPresolveMatrix.hpp.

void presolve_delete_from_major2 ( int  majndx,
int  minndx,
CoinBigIndex majstrts,
int *  majlens,
int *  minndxs,
double *  els,
int *  majlinks,
CoinBigIndex free_listp 
) [related, inherited]

Delete the entry for a minor index from a major vector in a threaded matrix.

Deletes the entry for minndx from the major vector majndx. Specifically, the relevant entries are removed from the minor index (minndxs) and coefficient (els) arrays and the vector length (majlens) is decremented. The thread for the major vector is relinked around the deleted entry and the space is returned to the free list.

void presolve_delete_from_col2 ( int  row,
int  col,
CoinBigIndex mcstrt,
int *  hincol,
int *  hrow,
double *  colels,
int *  clinks,
CoinBigIndex free_listp 
) [related, inherited]

Delete the entry for row row from column col in a column-major threaded matrix.

Deletes the entry for row from the major vector for col. Specifically, the relevant entries are removed from the row index (hrow) and coefficient (colels) arrays and the vector length (hincol) is decremented. The thread for the major vector is relinked around the deleted entry and the space is returned to the free list.

Definition at line 1610 of file CoinPresolveMatrix.hpp.


Generated on 15 Mar 2015 for Coin-All by  doxygen 1.6.1