CMR
1.3.0
|
A matroid is called regular if can be represented over every field, which is equivalent to representability over the binary field \( \mathbb{F} = \mathbb{F}_2 \) or the ternary field \( \mathbb{F} = \mathbb{F}_3 \). In particular, there exist binary regular and a totally unimodular representation matrices, both of which linearly represent that matroid over the respective field. Such a regular matroid can be decomposed, which is essential for testing regularity. The internal representation is a Seymour decomposition tree whose nodes are pointers to CMR_SEYMOUR_NODE.
Each such decomposition node has a matrix over the field \( \mathbb{F} \) to which it corresponds, which is indicated by CMRseymourIsTernary. While each node has an explicit matrix (see CMRseymourGetMatrix), its transpose need not be stored explicitly (see CMRseymourHasTranspose and CMRseymourGetTranspose). If the matrix is totally unimodular then its support matrix of such a ternary matrix is then also binary regular.
A decomposition node may have children, which are (references to) other decomposition nodes. Their number can be queried via CMRseymourNumChildren and each child via CMRseymourChild.
Moreover, it has (exactly) one of the following types:
\[ M = \begin{pmatrix} A_1 & \mathbb{O} & \dotsb & \mathbb{O} \\ \mathbb{O} & A_2 & & \vdots \\ \vdots & & \ddots & \mathbb{O} \\ \mathbb{O} & \dotsb & \mathbb{O} & A_k \end{pmatrix}. \]
Such a node has at least two children that belong to the matrices \( M_1 := A_1 \), \( M_2 := A_2 \), up to \( M_k := A_k \). Note that any such decomposition preserves total unimodularity and binary regularity.\[ M = \begin{pmatrix} A_1 & \mathbb{O} \\ a_2 a_1^{\textsf{T}} & A_2 \end{pmatrix}. \]
Such a node has exactly two children that belong to the matrices\[ M_1 = \begin{pmatrix} A_1 \\ a_1^{\textsf{T}} \end{pmatrix} \qquad \text{and} \qquad M_2 = \begin{pmatrix} a_2 & A_2 \end{pmatrix}, \]
respectively. Note that any such decomposition preserves total unimodularity and binary regularity.\[ M = \begin{pmatrix} A_1 & C \\ D & A_2 \end{pmatrix}, \]
where \( (\mathop{rank}(C), \mathop{rank}(D)) \in \{ (1,1), (0,2) \} \) holds. We refer to the first case as distributed ranks, which is indicated by CMRseymourThreeSumDistributedRanks. The other case is that of concentrated rank. In each case, there are two variants per child node, and we first consider the case of distributed ranks. Then the matrix \( M \) is of the form\[ M = \begin{pmatrix} A_1 & c_1 c_2^{\textsf{T}} \\ d_2 d_1^{\textsf{T}} & A_2 \end{pmatrix}. \]
The first child is of one of the forms\[ M_1^{\text{wide}} = \begin{pmatrix} A_1 & c_1 & c_1 \\ d_1^{\textsf{T}} & 0 & \pm 1 \end{pmatrix}, \qquad M_1^{\text{tall}} = \begin{pmatrix} A_1 & c_1 \\ d_1^{\textsf{T}} & 0 \\ d_1^{\textsf{T}} & \pm 1 \end{pmatrix}. \]
The second child is of one of the forms\[ M_2^{\text{wide}} = \begin{pmatrix} \pm 1 & 0 & c_2^{\textsf{T}} \\ d_2 & d_2 & A_2 \end{pmatrix}, \qquad M_2^{\text{tall}} = \begin{pmatrix} \pm 1 & c_2^{\textsf{T}} \\ 0 & c_2^{\textsf{T}} \\ d_2 & A_2 \end{pmatrix}. \]
In case of concentrated rank the matrix \( M \) is of the form\[ M = \begin{pmatrix} A_1 & \mathbb{O} \\ D & A_2 \end{pmatrix}, \]
where \( \mathop{rank}(D) = 2 \). The first child is of one of the forms\[ M_1^{\text{mixed}} = \begin{pmatrix} A_1 & \mathbb{O} \\ d_1^{\textsf{T}} & 1 \\ d_2^{\textsf{T}} & \pm 1 \end{pmatrix}, \qquad M_1^{\text{all-repr}} = \begin{pmatrix} A_1 \\ d_1^{\textsf{T}} \\ d_2^{\textsf{T}} \\ d_3^{\textsf{T}} \end{pmatrix}, \]
where any pair of \( d_1, d_2, d_3 \) spans the row-space of \( D \). The second child is of one of the forms\[ M_2^{\text{mixed}} = \begin{pmatrix} A_1 & d_1 & d_2 \\ \mathbb{O} & 1 & \pm 1 \end{pmatrix}, \qquad M_2^{\text{all-repr}} = \begin{pmatrix} A_1 & d_1 & d_2 & d_3 \end{pmatrix}, \]
where any pair of \( d_1, d_2, d_3 \) spans the column-space of \( D \). The sign of the entries marked as \( \pm 1 \) is determined such that a certain submatrix involving that entry has the right determinant. Note that any such decomposition preserves total unimodularity and binary regularity.The following restrictions apply:
Additional data may be associated with each decomposition node. Information about specific submatrices/minors can be obtained via CMRseymourNumMinors and CMRseymourMinor, which returns the associated CMR_MINOR objects.