CMR  1.3.0
regular_internal.h
Go to the documentation of this file.
1 #ifndef CMR_REGULAR_INTERNAL_H
2 #define CMR_REGULAR_INTERNAL_H
3 
4 #include <cmr/regular.h>
5 
11  CMR* cmr,
12  CMR_DEC* dec,
13  CMR_CHRMAT* transpose,
14  bool ternary,
15  size_t firstNonCoGraphicMinor,
16  CMR_SUBMAT** psubmatrix,
17  CMR_REGULAR_STATISTICS* stats,
18  double timeLimit
19 );
20 
26  CMR* cmr,
27  CMR_DEC* dec,
28  bool* pisR10
29 );
30 
36  CMR* cmr,
37  CMR_CHRMAT* matrix,
38  CMR_CHRMAT* transpose,
39  size_t lengthSequence,
40  size_t* sequenceNumRows,
41  size_t* sequenceNumColumns,
42  size_t* plastGraphicMinor,
43  CMR_GRAPH** pgraph,
44  CMR_ELEMENT** pedgeElements,
45  CMR_REGULAR_STATISTICS* stats,
46  double timeLimit
47 );
48 
57  CMR* cmr,
58  CMR_DEC* dec,
59  bool ternary,
60  CMR_SUBMAT** psubmatrix,
61  CMR_REGULAR_STATISTICS* stats,
62  double timeLimit
63 );
64 
73  CMR* cmr,
74  CMR_DEC* dec,
75  bool ternary,
76  CMR_SUBMAT* wheelSubmatrix,
77  CMR_SUBMAT** psubmatrix,
78  CMR_REGULAR_STATISTICS* stats,
79  double timeLimit
80 );
81 
87  CMR* cmr,
88  CMR_CHRMAT** pmatrix,
89  CMR_CHRMAT** ptranspose,
90  bool ternary,
91  bool* pisGraphic,
92  CMR_GRAPH** pgraph,
93  CMR_GRAPH_EDGE** pforest,
94  CMR_GRAPH_EDGE** pcoforest,
95  bool** parcsReversed,
96  CMR_SUBMAT** psubmatrix,
97  CMR_REGULAR_STATISTICS* stats,
98  double timeLimit
99 );
100 
112  CMR* cmr,
113  CMR_DEC** pdec,
114  bool ternary,
115  CMR_SUBMAT** psubmatrix,
116  CMR_REGULAR_PARAMETERS* params,
117  CMR_REGULAR_STATISTICS* stats,
118  double timeLimit
119 );
120 
130  CMR* cmr,
131  CMR_DEC* dec
132 );
133 
144  CMR* cmr,
145  CMR_CHRMAT* matrix,
146  bool ternary,
147  bool *pisRegular,
148  CMR_DEC** pdec,
149  CMR_MINOR** pminor,
150  CMR_REGULAR_PARAMETERS* params,
151  CMR_REGULAR_STATISTICS* stats,
152  double timeLimit
153 );
154 
155 #endif /* CMR_REGULAR_INTERNAL_H */
int CMR_ELEMENT
Definition: element.h:20
CMR_ERROR
Type for return codes of library functions.
Definition: env.h:31
int CMR_GRAPH_EDGE
Reference to an edge of CMR_GRAPH.
Definition: graph.h:31
Recognition of regular matrices.
CMR_ERROR CMRregularDecomposeOneSum(CMR *cmr, CMR_DEC *dec)
Performs a 1-sum decomposition of matrix and stores it in dec.
Definition: regular_onesum.c:18
CMR_ERROR CMRregularDecomposeSeriesParallel(CMR *cmr, CMR_DEC **pdec, bool ternary, CMR_SUBMAT **psubmatrix, CMR_REGULAR_PARAMETERS *params, CMR_REGULAR_STATISTICS *stats, double timeLimit)
Splits off series-parallel elements from the matrix of a decomposition node.
Definition: regular_series_parallel.c:10
CMR_ERROR CMRregularConstructNestedMinorSequence(CMR *cmr, CMR_DEC *dec, bool ternary, CMR_SUBMAT *wheelSubmatrix, CMR_SUBMAT **psubmatrix, CMR_REGULAR_STATISTICS *stats, double timeLimit)
Constructs a sequence of nested 3-connected minors for the matrix of a decomposition node.
Definition: regular_nested_minor_sequence.c:1137
CMR_ERROR CMRtestRegular(CMR *cmr, CMR_CHRMAT *matrix, bool ternary, bool *pisRegular, CMR_DEC **pdec, CMR_MINOR **pminor, CMR_REGULAR_PARAMETERS *params, CMR_REGULAR_STATISTICS *stats, double timeLimit)
Tests ternary or binary linear matroid for regularity.
Definition: regular.c:417
CMR_ERROR CMRregularTestGraphic(CMR *cmr, CMR_CHRMAT **pmatrix, CMR_CHRMAT **ptranspose, bool ternary, bool *pisGraphic, CMR_GRAPH **pgraph, CMR_GRAPH_EDGE **pforest, CMR_GRAPH_EDGE **pcoforest, bool **parcsReversed, CMR_SUBMAT **psubmatrix, CMR_REGULAR_STATISTICS *stats, double timeLimit)
Tests matrix for graphicness.
Definition: regular_graphic.c:1419
CMR_ERROR CMRregularSequenceGraphic(CMR *cmr, CMR_CHRMAT *matrix, CMR_CHRMAT *transpose, size_t lengthSequence, size_t *sequenceNumRows, size_t *sequenceNumColumns, size_t *plastGraphicMinor, CMR_GRAPH **pgraph, CMR_ELEMENT **pedgeElements, CMR_REGULAR_STATISTICS *stats, double timeLimit)
Tests sequence of nested 3-connected minors for graphicness.
Definition: regular_graphic.c:1240
CMR_ERROR CMRregularSearchThreeSeparation(CMR *cmr, CMR_DEC *dec, CMR_CHRMAT *transpose, bool ternary, size_t firstNonCoGraphicMinor, CMR_SUBMAT **psubmatrix, CMR_REGULAR_STATISTICS *stats, double timeLimit)
Enumerates 3-separations for a 3-connected matrix.
Definition: regular_enumerate.c:771
CMR_ERROR CMRregularThreeConnectedIsR10(CMR *cmr, CMR_DEC *dec, bool *pisR10)
Tests whether given 3-connected matrix represents .
Definition: regular_r10.c:7
CMR_ERROR CMRregularExtendNestedMinorSequence(CMR *cmr, CMR_DEC *dec, bool ternary, CMR_SUBMAT **psubmatrix, CMR_REGULAR_STATISTICS *stats, double timeLimit)
Extends an incomplete sequence of nested 3-connected minors for the matrix of a decomposition node.
Definition: regular_nested_minor_sequence.c:1197
Row-wise representation of sparse char matrix.
Definition: matrix.h:204
Definition: env_internal.h:45
Definition: graph.h:49
A minor of a matroid.
Definition: matroid.h:28
Definition: regular.h:33
Statistics for regular matroid recognition algorithm.
Definition: regular.h:64
Row and column indices for a submatrix.
Definition: matrix.h:28
Definition: dec_internal.h:9