CMR
1.3.0
|
Recognition of binary regular matrices. More...
#include <cmr/env.h>
#include <cmr/matrix.h>
#include <cmr/matroid.h>
#include <cmr/seymour.h>
#include <cmr/graph.h>
#include <cmr/series_parallel.h>
#include <cmr/graphic.h>
#include <cmr/network.h>
Go to the source code of this file.
Classes | |
struct | CMR_REGULAR_PARAMS |
struct | CMR_REGULAR_STATS |
Statistics for regular matroid recognition algorithm. More... | |
Functions | |
CMR_EXPORT CMR_ERROR | CMRregularParamsInit (CMR_REGULAR_PARAMS *params) |
Initializes the default parameters for regularity testing. More... | |
CMR_EXPORT CMR_ERROR | CMRregularStatsInit (CMR_REGULAR_STATS *stats) |
Initializes all statistics for regularity test computations. More... | |
CMR_EXPORT CMR_ERROR | CMRregularStatsPrint (FILE *stream, CMR_REGULAR_STATS *stats, const char *prefix) |
Prints statistics for regularity test computations. More... | |
CMR_EXPORT CMR_ERROR | CMRregularTest (CMR *cmr, CMR_CHRMAT *matrix, bool *pisRegular, CMR_SEYMOUR_NODE **proot, CMR_MINOR **pminor, CMR_REGULAR_PARAMS *params, CMR_REGULAR_STATS *stats, double timeLimit) |
Tests binary linear matroid for regularity. More... | |
CMR_EXPORT CMR_ERROR | CMRregularCompleteDecomposition (CMR *cmr, CMR_SEYMOUR_NODE *dec, CMR_REGULAR_PARAMS *params, CMR_REGULAR_STATS *stats, double timeLimit) |
Completes a subtree of an existing decomposition tree. More... | |
CMR_EXPORT CMR_ERROR | CMRregularRefineDecomposition (CMR *cmr, size_t numNodes, CMR_SEYMOUR_NODE **nodes, CMR_REGULAR_PARAMS *params, CMR_REGULAR_STATS *stats, double timeLimit) |
Refines a list of decomposition nodes. More... | |
Recognition of binary regular matrices.
CMR_EXPORT CMR_ERROR CMRregularCompleteDecomposition | ( | CMR * | cmr, |
CMR_SEYMOUR_NODE * | dec, | ||
CMR_REGULAR_PARAMS * | params, | ||
CMR_REGULAR_STATS * | stats, | ||
double | timeLimit | ||
) |
Completes a subtree of an existing decomposition tree.
Replace the node's subtree by a new one even if it exists. Note that different parameters may yield a different subtree.
cmr | CMR environment. |
dec | Pointer to the decomposition node that is the root of the new subtree. |
params | Parameters for the computation (may be NULL ). |
stats | Statistics for the computation (may be NULL ). |
timeLimit | Time limit to impose. |
CMR_EXPORT CMR_ERROR CMRregularParamsInit | ( | CMR_REGULAR_PARAMS * | params | ) |
Initializes the default parameters for regularity testing.
These are selected for minimum running time.
params | Pointer to parameters. |
CMR_EXPORT CMR_ERROR CMRregularRefineDecomposition | ( | CMR * | cmr, |
size_t | numNodes, | ||
CMR_SEYMOUR_NODE ** | nodes, | ||
CMR_REGULAR_PARAMS * | params, | ||
CMR_REGULAR_STATS * | stats, | ||
double | timeLimit | ||
) |
Refines a list of decomposition nodes.
Replace the nodes' subtrees by new ones even if they exist.
cmr | CMR environment. |
numNodes | Number of nodes to refine. |
nodes | Array of decomposition nodes to refine. |
params | Parameters for the computation (may be NULL ). |
stats | Statistics for the computation (may be NULL ). |
timeLimit | Time limit to impose. |
CMR_EXPORT CMR_ERROR CMRregularStatsInit | ( | CMR_REGULAR_STATS * | stats | ) |
Initializes all statistics for regularity test computations.
stats | Pointer to statistics. |
CMR_EXPORT CMR_ERROR CMRregularStatsPrint | ( | FILE * | stream, |
CMR_REGULAR_STATS * | stats, | ||
const char * | prefix | ||
) |
Prints statistics for regularity test computations.
stream | File stream to print to. |
stats | Pointer to statistics. |
prefix | Prefix string to prepend to each printed line (may be NULL ). |
CMR_EXPORT CMR_ERROR CMRregularTest | ( | CMR * | cmr, |
CMR_CHRMAT * | matrix, | ||
bool * | pisRegular, | ||
CMR_SEYMOUR_NODE ** | proot, | ||
CMR_MINOR ** | pminor, | ||
CMR_REGULAR_PARAMS * | params, | ||
CMR_REGULAR_STATS * | stats, | ||
double | timeLimit | ||
) |
Tests binary linear matroid for regularity.
If pdec
is not NULL
, *pdec
will be a (partial) decomposition tree. If completeTree
is true
, then the decomposition tree is complete. Otherwise, it must only contain sufficient information in order to determine regularity.
If pminor
is not NULL
and matrix
is not regular, then an \( F_7 \) or \( F_7^\star \) minor is searched. This causes additional computational effort!
cmr | CMR environment. |
matrix | Input matrix. |
pisRegular | Pointer for storing whether matrix is regular. |
proot | Pointer for storing the Seymour decomposition tree (may be NULL ). |
pminor | Pointer for storing an \( F_7 \) or \( F_7^\star \) minor. |
params | Parameters for the computation (may be NULL for defaults). |
stats | Statistics for the computation (may be NULL ). |
timeLimit | Time limit to impose. |