CMR  1.3.0
regular.h
Go to the documentation of this file.
1 #ifndef CMR_REGULAR_H
2 #define CMR_REGULAR_H
3 
12 #ifdef __cplusplus
13 extern "C" {
14 #endif
15 
16 #include <cmr/env.h>
17 #include <cmr/matrix.h>
18 #include <cmr/matroid.h>
19 #include <cmr/seymour.h>
20 #include <cmr/graph.h>
21 #include <cmr/series_parallel.h>
22 #include <cmr/graphic.h>
23 #include <cmr/network.h>
24 
25 typedef struct
26 {
29 
36 CMR_EXPORT
38  CMR_REGULAR_PARAMS* params
39 );
40 
45 typedef struct
46 {
49 
50 
55 CMR_EXPORT
57  CMR_REGULAR_STATS* stats
58 );
59 
64 CMR_EXPORT
66  FILE* stream,
67  CMR_REGULAR_STATS* stats,
68  const char* prefix
69 );
70 
82 CMR_EXPORT
84  CMR* cmr,
85  CMR_CHRMAT* matrix,
86  bool *pisRegular,
87  CMR_SEYMOUR_NODE** proot,
88  CMR_MINOR** pminor,
89  CMR_REGULAR_PARAMS* params,
90  CMR_REGULAR_STATS* stats,
91  double timeLimit
92 );
93 
101 CMR_EXPORT
103  CMR* cmr,
104  CMR_SEYMOUR_NODE* dec,
105  CMR_REGULAR_PARAMS* params,
106  CMR_REGULAR_STATS* stats,
107  double timeLimit
108 );
109 
116 CMR_EXPORT
118  CMR* cmr,
119  size_t numNodes,
120  CMR_SEYMOUR_NODE** nodes,
121  CMR_REGULAR_PARAMS* params,
122  CMR_REGULAR_STATS* stats,
123  double timeLimit
124 );
125 
126 #ifdef __cplusplus
127 }
128 #endif
129 
130 #endif /* CMR_REGULAR_H */
131 
Basic functionality of the software library.
CMR_ERROR
Type for return codes of library functions.
Definition: env.h:32
Functionality for graphs.
Computation and recognition of graphic matrices and cographic matrices.
Functionality for sparse matrices.
Functionality for matroids.
Computation and recognition of network matrices and conetwork 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.
Definition: regular.c:78
CMR_EXPORT CMR_ERROR CMRregularParamsInit(CMR_REGULAR_PARAMS *params)
Initializes the default parameters for regularity testing.
Definition: regular.c:12
CMR_EXPORT CMR_ERROR CMRregularStatsPrint(FILE *stream, CMR_REGULAR_STATS *stats, const char *prefix)
Prints statistics for regularity test computations.
Definition: regular.c:30
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.
Definition: regular.c:41
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.
Definition: regular.c:98
CMR_EXPORT CMR_ERROR CMRregularStatsInit(CMR_REGULAR_STATS *stats)
Initializes all statistics for regularity test computations.
Definition: regular.c:21
Recognition of series-parallel matrices.
Functionality for Seymour decomposition.
Row-wise representation of sparse char matrix.
Definition: matrix.h:220
Definition: env_internal.h:45
A minor of a matroid.
Definition: matroid.h:121
Definition: regular.h:26
CMR_SEYMOUR_PARAMS seymour
Definition: regular.h:27
Statistics for regular matroid recognition algorithm.
Definition: regular.h:46
CMR_SEYMOUR_STATS seymour
Definition: regular.h:47
Parameters for Seymour decomposition algorithm.
Definition: seymour.h:93
Statistics for Seymour decomposition algorithm.
Definition: seymour.h:169
Definition: seymour_internal.h:18