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/graph.h>
20 #include <cmr/series_parallel.h>
21 #include <cmr/graphic.h>
22 #include <cmr/network.h>
23 #include <cmr/dec.h>
24 
25 typedef enum
26 {
31 
32 typedef struct
33 {
39  bool completeTree;
47 
54 CMR_EXPORT
56  CMR_REGULAR_PARAMETERS* params
57 );
58 
63 typedef struct
64 {
65  size_t totalCount;
66  double totalTime;
75  double enumerationTime;
78 
79 
84 CMR_EXPORT
87 );
88 
93 CMR_EXPORT
95  FILE* stream,
96  CMR_REGULAR_STATISTICS* stats,
97  const char* prefix
98 );
99 
111 CMR_EXPORT
113  CMR* cmr,
114  CMR_CHRMAT* matrix,
115  bool *pisRegular,
116  CMR_DEC** pdec,
117  CMR_MINOR** pminor,
118  CMR_REGULAR_PARAMETERS* params,
119  CMR_REGULAR_STATISTICS* stats
120 );
121 
122 #ifdef __cplusplus
123 }
124 #endif
125 
126 #endif /* CMR_REGULAR_H */
127 
double totalTime
Definition: regular.h:66
Data structures for a decomposition tree for a matrix.
CMR_DEC_CONSTRUCT
Definition: regular.h:25
Statistics for recognition algorithm for network matrices.
Definition: network.h:34
CMR_EXPORT CMR_ERROR CMRstatsRegularInit(CMR_REGULAR_STATISTICS *stats)
Initializes all statistics for regularity test computations.
Definition: regular.c:28
Statistics for regular matroid recognition algorithm.
Definition: regular.h:63
size_t enumerationCandidatesCount
Definition: regular.h:76
size_t enumerationCount
Definition: regular.h:74
Recognition of series-parallel matrices.
Definition: regular.h:29
Definition: regular.h:32
double sequenceGraphicTime
Definition: regular.h:73
Basic functionality of the software library.
Definition: dec_internal.h:8
size_t sequenceGraphicCount
Definition: regular.h:72
Row-wise representation of sparse char matrix.
Definition: matrix.h:197
size_t sequenceExtensionCount
Definition: regular.h:70
CMR_ERROR
Type for return codes of library functions.
Definition: env.h:26
Definition: env_internal.h:44
Statistics for graphicness test.
Definition: graphic.h:32
A minor of a matroid.
Definition: matroid.h:27
CMR_NETWORK_STATISTICS network
Definition: regular.h:69
bool planarityCheck
Whether minors identified as graphic should still be checked for cographicness; default: false...
Definition: regular.h:37
Computation and recognition of network matrices and conetwork matrices.
Functionality for sparse matrices.
Computation and recognition of graphic matrices and cographic matrices.
Definition: regular.h:28
Functionality for matroids.
bool completeTree
Whether to compute a complete decomposition tree (even if already non-regular; default: false...
Definition: regular.h:39
double enumerationTime
Definition: regular.h:75
Functionality for graphs.
size_t totalCount
Definition: regular.h:65
Statistics for series-parallel recognition algorithm.
Definition: series_parallel.h:24
CMR_SP_STATISTICS seriesParallel
Definition: regular.h:67
CMR_DEC_CONSTRUCT graphs
Which (co)graphs to construct; default: CMR_DEC_CONSTRUCT_NONE.
Definition: regular.h:45
CMR_EXPORT CMR_ERROR CMRtestBinaryRegular(CMR *cmr, CMR_CHRMAT *matrix, bool *pisRegular, CMR_DEC **pdec, CMR_MINOR **pminor, CMR_REGULAR_PARAMETERS *params, CMR_REGULAR_STATISTICS *stats)
Tests binary linear matroid for regularity.
Definition: regular.c:467
CMR_EXPORT CMR_ERROR CMRstatsRegularPrint(FILE *stream, CMR_REGULAR_STATISTICS *stats, const char *prefix)
Prints statistics for regularity test computations.
Definition: regular.c:48
CMR_DEC_CONSTRUCT matrices
Which matrices of the decomposition to construct; default: CMR_DEC_CONSTRUCT_NONE.
Definition: regular.h:41
bool seriesParallel
Whether to allow series-parallel operations in the decomposition tree; default: true.
Definition: regular.h:35
CMR_DEC_CONSTRUCT transposes
Which transposed matrices of the decomposition to construct; default: CMR_DEC_CONSTRUCT_NONE.
Definition: regular.h:43
double sequenceExtensionTime
Definition: regular.h:71
bool directGraphicness
Whether to use fast graphicness routines; default: true.
Definition: regular.h:34
Definition: regular.h:27
CMR_EXPORT CMR_ERROR CMRparamsRegularInit(CMR_REGULAR_PARAMETERS *params)
Initializes the default parameters for regularity testing.
Definition: regular.c:13
CMR_GRAPHIC_STATISTICS graphic
Definition: regular.h:68