|
static CMR_ERROR | computePivots (CMR *cmr, CMR_CHRMAT *matrix, size_t numPivots, size_t *pivotRows, size_t *pivotColumns, int8_t characteristic, CMR_CHRMAT **presult) |
|
CMR_ERROR | CMRchrmatBinaryPivot (CMR *cmr, CMR_CHRMAT *matrix, size_t pivotRow, size_t pivotColumn, CMR_CHRMAT **presult) |
| Applie a pivot to matrix and returns the resulting matrix in *presult . More...
|
|
CMR_ERROR | CMRchrmatTernaryPivot (CMR *cmr, CMR_CHRMAT *matrix, size_t pivotRow, size_t pivotColumn, CMR_CHRMAT **presult) |
| Applies a sequence of pivots to matrix and returns the resulting matrix in *presult . More...
|
|
CMR_ERROR | CMRchrmatBinaryPivots (CMR *cmr, CMR_CHRMAT *matrix, size_t numPivots, size_t *pivotRows, size_t *pivotColumns, CMR_CHRMAT **presult) |
| Applies a sequence of pivots to matrix and returns the resulting matrix in *presult . More...
|
|
CMR_ERROR | CMRchrmatTernaryPivots (CMR *cmr, CMR_CHRMAT *matrix, size_t numPivots, size_t *pivotRows, size_t *pivotColumns, CMR_CHRMAT **presult) |
| Applies a sequence of pivots to matrix and returns the resulting matrix in *presult . More...
|
|
CMR_ERROR | CMRminorCreate (CMR *cmr, CMR_MINOR **pminor, size_t numPivots, CMR_SUBMAT *submatrix) |
| Creates a minor, allocating space for numPivots pivots and a remaining submatrix . More...
|
|
CMR_ERROR | CMRminorFree (CMR *cmr, CMR_MINOR **pminor) |
| Frees the minor *pminor (if pminor is not NULL ). More...
|
|
CMR_ERROR | CMRminorPrint (CMR *cmr, CMR_MINOR *minor, size_t numRows, size_t numColumns, FILE *stream) |
| Writes the minor minor to the file \fileName by means of lists of row and column indices as well as pivot entries. More...
|
|
CMR_ERROR | CMRminorWriteToFile (CMR *cmr, CMR_MINOR *minor, size_t numRows, size_t numColumns, const char *fileName) |
| Writes the minor minor to the file \fileName by means of lists of row and column indices as well as pivot entries. More...
|
|
bool | CMRmatroiddecIsTernary (CMR_MATROID_DEC *dec) |
| Returns true iff the decomposition is over \( \mathbb{F}_3 \). More...
|
|
bool | CMRmatroiddecThreeSumDistributedRanks (CMR_MATROID_DEC *dec) |
| Returns true iff the 3-sum decomposition node has \( 3 \)-separation with two rank-1 matrices. More...
|
|
bool | CMRmatroiddecThreeSumConcentratedRank (CMR_MATROID_DEC *dec) |
| Returns true iff the 3-sum decomposition node has \( 3 \)-separation with one rank-2 matrix. More...
|
|
CMR_CHRMAT * | CMRmatroiddecGetMatrix (CMR_MATROID_DEC *dec) |
| Returns the matrix of the decomposition node dec (or NULL if it is not stored). More...
|
|
bool | CMRmatroiddecHasTranspose (CMR_MATROID_DEC *dec) |
| Returns true iff the transposed matrix of the decomposition node dec is stored. More...
|
|
CMR_CHRMAT * | CMRmatroiddecGetTranspose (CMR_MATROID_DEC *dec) |
| Returns the transposed matrix of the decomposition node dec (or NULL if it is not stored). More...
|
|
size_t | CMRmatroiddecNumChildren (CMR_MATROID_DEC *dec) |
| Returns the number of children of the decomposition node dec . More...
|
|
CMR_MATROID_DEC * | CMRmatroiddecChild (CMR_MATROID_DEC *dec, size_t childIndex) |
| Returns a child of the decomposition node dec . More...
|
|
CMR_MATROID_DEC_TYPE | CMRmatroiddecType (CMR_MATROID_DEC *dec) |
| Returns the type of a decomposition node dec . More...
|
|
int8_t | CMRmatroiddecGraphicness (CMR_MATROID_DEC *dec) |
| Indicates graphicness/being network. More...
|
|
int8_t | CMRmatroiddecCographicness (CMR_MATROID_DEC *dec) |
| Indicates cographicness/being conetwork. More...
|
|
int8_t | CMRmatroiddecRegularity (CMR_MATROID_DEC *dec) |
| Indicates regularity/total unimodularity. More...
|
|
size_t | CMRmatroiddecNumRows (CMR_MATROID_DEC *dec) |
| Returns the number of rows. More...
|
|
CMR_ELEMENT * | CMRmatroiddecChildRowsToParent (CMR_MATROID_DEC *dec, size_t childIndex) |
| Returns the mapping of rows of child childIndex to this node's elements. More...
|
|
CMR_ELEMENT * | CMRmatroiddecChildColumnsToParent (CMR_MATROID_DEC *dec, size_t childIndex) |
| Returns the mapping of columns of child childIndex to this node's elements. More...
|
|
size_t | CMRmatroiddecNumColumns (CMR_MATROID_DEC *dec) |
| Returns the number of columns. More...
|
|
CMR_GRAPH * | CMRmatroiddecGraph (CMR_MATROID_DEC *dec) |
| Returns the graph (if available). More...
|
|
CMR_GRAPH_EDGE * | CMRmatroiddecGraphForest (CMR_MATROID_DEC *dec) |
| Returns the forest of the graph (if available). More...
|
|
size_t | CMRmatroiddecGraphSizeForest (CMR_MATROID_DEC *dec) |
| Returns the number of edges of the graph's forest (if available). More...
|
|
CMR_GRAPH_EDGE * | CMRmatroiddecGraphCoforest (CMR_MATROID_DEC *dec) |
| Returns the coforest of the graph (if available). More...
|
|
size_t | CMRmatroiddecGraphSizeCoforest (CMR_MATROID_DEC *dec) |
| Returns the number of edges of the graph's coforest (if available). More...
|
|
bool * | CMRmatroiddecGraphArcsReversed (CMR_MATROID_DEC *dec) |
| Returns an array that indicates for the graph's edges whether they must be reversed (if available). More...
|
|
CMR_GRAPH * | CMRmatroiddecCograph (CMR_MATROID_DEC *dec) |
| Returns the cograph (if available). More...
|
|
size_t | CMRmatroiddecCographSizeForest (CMR_MATROID_DEC *dec) |
| Returns the number of edges of the cograph's forest (if available). More...
|
|
CMR_GRAPH_EDGE * | CMRmatroiddecCographForest (CMR_MATROID_DEC *dec) |
| Returns the forest of the cograph (if available). More...
|
|
size_t | CMRmatroiddecCographSizeCoforest (CMR_MATROID_DEC *dec) |
| Returns the number of edges of the cograph's coforest (if available). More...
|
|
CMR_GRAPH_EDGE * | CMRmatroiddecCographCoforest (CMR_MATROID_DEC *dec) |
| Returns the coforest of the cograph (if available). More...
|
|
bool * | CMRmatroiddecCographArcsReversed (CMR_MATROID_DEC *dec) |
| Returns an array that indicates for the cograph's edges whether they must be reversed (if available). More...
|
|
size_t | CMRmatroiddecNumPivots (CMR_MATROID_DEC *dec) |
| Returns the number of pivots (if available). More...
|
|
size_t * | CMRmatroiddecPivotRows (CMR_MATROID_DEC *dec) |
| Returns the array with the pivot rows (if available). More...
|
|
size_t * | CMRmatroiddecPivotColumns (CMR_MATROID_DEC *dec) |
| Returns the array with the pivot columns (if available). More...
|
|
CMR_ERROR | CMRmatroiddecPrintChild (CMR *cmr, CMR_MATROID_DEC *child, CMR_MATROID_DEC *parent, size_t childIndex, FILE *stream, size_t indent, bool printChildren, bool printParentElements, bool printMatrices, bool printGraphs, bool printReductions, bool printPivots) |
| Prints the decomposition child to stream . More...
|
|
CMR_ERROR | CMRmatroiddecPrint (CMR *cmr, CMR_MATROID_DEC *dec, FILE *stream, bool printChildren, bool printParentElements, bool printMatrices, bool printGraphs, bool printReductions, bool printPivots) |
| Prints the decomposition dec to stream . More...
|
|
CMR_ERROR | CMRmatroiddecCapture (CMR *cmr, CMR_MATROID_DEC *dec) |
| Increases the reference counter by 1. More...
|
|
CMR_ERROR | CMRmatroiddecRelease (CMR *cmr, CMR_MATROID_DEC **pdec) |
| Releases a decomposition node, freeing it if this was the last reference. More...
|
|
static CMR_ERROR | createNode (CMR *cmr, CMR_MATROID_DEC **pdec, bool isTernary, CMR_MATROID_DEC_TYPE type, size_t numRows, size_t numColumns) |
|
static CMR_ERROR | updateRowsColumnsToParent (CMR *cmr, CMR_MATROID_DEC *parent, size_t childIndex, size_t *parentRows, size_t *parentColumns) |
| Allocates and sets childRowsToParent and childColumnsToParent of the child of parent indicated by childIndex . More...
|
|
static CMR_ERROR | updateRowsColumnsToChild (CMR_MATROID_DEC *parent, size_t childIndex, size_t *parentRows, size_t firstRow, size_t beyondRow, size_t *parentColumns, size_t firstColumn, size_t beyondColumn) |
| Updates rowsToChild and columnsToChild of the parent. More...
|
|
static CMR_ERROR | updateChildMatrix (CMR *cmr, CMR_MATROID_DEC *parent, size_t childIndex) |
| Updates matrix of dec from parent using rowsParent and columnsParent arrays. More...
|
|
CMR_ERROR | CMRmatroiddecCreateMatrixRoot (CMR *cmr, CMR_MATROID_DEC **pdec, bool isTernary, CMR_CHRMAT *matrix) |
| Creates an unknown decomposition node as a root. More...
|
|
CMR_ERROR | CMRmatroiddecSetNumChildren (CMR *cmr, CMR_MATROID_DEC *dec, size_t numChildren) |
| Sets the number of children and allocates memory accordingly. More...
|
|
CMR_ERROR | CMRmatroiddecCreateChildFromMatrices (CMR *cmr, CMR_MATROID_DEC *parent, size_t childIndex, CMR_CHRMAT *matrix, CMR_CHRMAT *transpose, CMR_ELEMENT *rowsToParent, CMR_ELEMENT *columnsToParent) |
| Creates a decomposition node as a child. More...
|
|
CMR_ERROR | CMRmatroiddecUpdateOneSum (CMR *cmr, CMR_MATROID_DEC *dec, size_t numChildren) |
| Initialize an existing unknown decomposition node as a 1-sum with numChildren children. More...
|
|
CMR_ERROR | CMRmatroiddecUpdateSubmatrix (CMR *cmr, CMR_MATROID_DEC *dec, CMR_SUBMAT *submatrix, CMR_MATROID_DEC_TYPE type) |
| Initialize an existing unknown decomposition node as a submatrix node whose child is of given type . More...
|
|
CMR_ERROR | CMRmatroiddecUpdateTwoSum (CMR *cmr, CMR_MATROID_DEC *dec, CMR_SEPA *separation) |
| Initialize an existing unknown decomposition node as a 2-separation node according to the given separation . More...
|
|
CMR_ERROR | CMRmatroiddecUpdatePivots (CMR *cmr, CMR_MATROID_DEC *dec, size_t numPivots, size_t *pivotRows, size_t *pivotColumns, CMR_CHRMAT *matrix, CMR_CHRMAT *transpose) |
| Initialize an existing unknown decomposition node as a pivot node according to the given arrays of pivots. More...
|
|
CMR_ERROR | CMRmatroiddecUpdateThreeSumInit (CMR *cmr, CMR_MATROID_DEC *dec) |
| Initialize an existing unknown decomposition node as a 3-sum node. More...
|
|
CMR_ERROR | CMRmatroiddecUpdateThreeSumCreateWideFirstChild (CMR *cmr, CMR_MATROID_DEC *dec, CMR_SEPA *separation, size_t *rowsToChild, size_t *columnsToChild, size_t numChildBaseRows, size_t numChildBaseColumns, size_t extraRow, size_t extraColumn1, size_t extraColumn2, int8_t extraEntry) |
| Creates wide first child of an initialized 3-sum node. More...
|
|
CMR_ERROR | CMRmatroiddecUpdateThreeSumCreateWideSecondChild (CMR *cmr, CMR_MATROID_DEC *dec, CMR_SEPA *separation, size_t *rowsToChild, size_t *columnsToChild, size_t numChildBaseRows, size_t numChildBaseColumns, size_t extraRow, size_t extraColumn1, size_t extraColumn2, int8_t extraEntry) |
| Creates wide second child of an initialized 3-sum node. More...
|
|
CMR_ERROR | CMRmatroiddecUpdateThreeSumCreateMixedFirstChild (CMR *cmr, CMR_MATROID_DEC *dec, CMR_SEPA *separation, size_t *rowsToChild, size_t *columnsToChild, size_t numChildBaseRows, size_t numChildBaseColumns, size_t extraRow1, size_t extraRow2, int8_t extraEntry) |
| Creates mixed first child of an initialized 3-sum node. More...
|
|
CMR_ERROR | CMRmatroiddecUpdateThreeSumCreateMixedSecondChild (CMR *cmr, CMR_MATROID_DEC *dec, CMR_SEPA *separation, size_t *rowsToChild, size_t *columnsToChild, size_t numChildBaseRows, size_t numChildBaseColumns, size_t extraColumn1, size_t extraColumn2, int8_t extraEntry) |
| Creates mixed second child of an initialized 3-sum node. More...
|
|
CMR_ERROR | CMRmatroiddecSetAttributes (CMR_MATROID_DEC *dec) |
| Set regularity and (co)graphicness attributes of a decomposition tree. More...
|
|