DyLP
1.10.4
|
Functions to work with the loosely packed and threaded packed matrix structures used during presolve and postsolve. More...
Functions | |
void | presolve_make_memlists (int *lengths, presolvehlink *link, int n) |
Initialise linked list for major vector order in bulk storage. More... | |
bool | 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. More... | |
bool | 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. More... | |
bool | 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. More... | |
CoinBigIndex | presolve_find_minor (int tgt, CoinBigIndex ks, CoinBigIndex ke, const int *minndxs) |
Find position of a minor index in a major vector. More... | |
CoinBigIndex | 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. More... | |
CoinBigIndex | 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. More... | |
CoinBigIndex | presolve_find_minor1 (int tgt, CoinBigIndex ks, CoinBigIndex ke, const int *minndxs) |
Find position of a minor index in a major vector. More... | |
CoinBigIndex | 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. More... | |
CoinBigIndex | 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. More... | |
CoinBigIndex | 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. More... | |
CoinBigIndex | 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. More... | |
CoinBigIndex | 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. More... | |
CoinBigIndex | 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. More... | |
void | 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. More... | |
void | presolve_delete_many_from_major (int majndx, char *marked, const CoinBigIndex *majstrts, int *majlens, int *minndxs, double *els) |
Delete marked entries. More... | |
void | 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. More... | |
void | 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. More... | |
void | presolve_delete_from_major2 (int majndx, int minndx, CoinBigIndex *majstrts, int *majlens, int *minndxs, CoinBigIndex *majlinks, CoinBigIndex *free_listp) |
Delete the entry for a minor index from a major vector in a threaded matrix. More... | |
void | presolve_delete_from_col2 (int row, int col, CoinBigIndex *mcstrt, int *hincol, int *hrow, CoinBigIndex *clinks, CoinBigIndex *free_listp) |
Delete the entry for row row from column col in a column-major threaded matrix. More... | |
Functions to work with the loosely packed and threaded packed matrix structures used during presolve and postsolve.
|
related |
Initialise linked list for major vector order in bulk storage.
|
related |
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
|
related |
Make sure a column (colx) in a column-major matrix has room for one more coefficient.
Definition at line 1685 of file CoinPresolveMatrix.hpp.
|
related |
Make sure a row (rowx) in a row-major matrix has room for one more coefficient.
Definition at line 1698 of file CoinPresolveMatrix.hpp.
|
related |
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.
Definition at line 1714 of file CoinPresolveMatrix.hpp.
|
related |
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 1744 of file CoinPresolveMatrix.hpp.
|
related |
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 1756 of file CoinPresolveMatrix.hpp.
|
related |
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.
|
related |
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 1779 of file CoinPresolveMatrix.hpp.
|
related |
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 1791 of file CoinPresolveMatrix.hpp.
|
related |
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.
|
related |
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 1816 of file CoinPresolveMatrix.hpp.
|
related |
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.
|
related |
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 1842 of file CoinPresolveMatrix.hpp.
|
related |
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.
Definition at line 1858 of file CoinPresolveMatrix.hpp.
|
related |
Delete marked entries.
Removes the entries specified in marked
, compressing the major vector to maintain loose packing. marked
is cleared in the process.
Definition at line 1880 of file CoinPresolveMatrix.hpp.
|
related |
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 1910 of file CoinPresolveMatrix.hpp.
|
related |
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 1927 of file CoinPresolveMatrix.hpp.
|
related |
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.
|
related |
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 1959 of file CoinPresolveMatrix.hpp.