2

Is there a way to test whether the following rank-$6$ matrix is totally unimodular?

$$\begin{bmatrix}1& 0& -1& 0& 0& 0& 0& 0\\0& 0& 0& 0& 1& 0& -1& 0\\1& 0& 0& 0& 1& 0& 0& 0\\0& 1& 0& 0& 0& -1& 0& 0\\0& 0& 0& 1& 0& 0& 0& -1\\0& 1& 0& 1& 0& 0& 0& 0\end{bmatrix}$$

I am aware of the Seymour Decomposition theorem, and though one may use it, since this is simple matrix there may be an easier way than throwing the kitchen sink.

Each column either has a $-1$ or two $1$s and each row sums to $0$ or to $2$ depending on whether $-1$ is present or absent in that row.

Turbo
  • 6,319

2 Answers2

2

There is a nice and easy way to show that this matrix is in fact TU, using the Ghouila-Houri characterization of TU Matrices (the 5th item in this wiki section).

Essentially the characterization is this: a matrix $A$ is TU if and only if for any subset of the columns of $A$, that subset can be partitioned into two column sets (call them $R$ and $B$ for red and blue) so that in any row, the row-wise sum of the red entries minus the row-wise sum of the blue entries is in $\{-1, 0, 1\}$.

Consider $B_0$ to be columns 1, 2, 3, and 6 and $R_0$ to be columns 4, 5, 7, and 8. Note that in each row, with this coloring the sum of the red entries minus the blue entries is exactly 0.

$$ \begin{pmatrix} 1 & 0 & -1 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 1 & 0 & -1 & 0 \\ 1 & 0 & 0 & 0 & 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 & 0 & -1 & 0 & 0 \\ 0 & 0 & 0 & 1 & 0 & 0 & 0 & -1 \\ 0 & 1 & 0 & 1 & 0 & 0 & 0 & 0 \\ \end{pmatrix} $$

Now, by construction, we can show that the Ghouila-Houri Characterization is satisfied. For any subset $S$ of columns in A, let $R = R_0 \cap S, B = B_0 \cap S$. Each row in $S$ has either 0, 1, or 2 non-zero entries. In the case that there are 0 or 1 non-zero entries, the sum of the entries is clearly in {-1, 0, 1}. If both non-zero entries in the row are present in $S$, then the row-wise sum is 0, as shown earlier.

Thus, we see that the characterization is satisfied, so A is indeed a TU matrix.

Logan S.
  • 405
0

Yes, this is even possible in polynomial time. Seymour's decomposition theorem allows one to construct a polynomial time algorithm which will test, whether or not a given matrix is totally unimodular.

You can find many implementations which make use of this property. The lintools library in R, for example, includes the function is_totally_unimodular. In addition there is a C++ library which allows to test a matrix for total unimodularity here.

YukiJ
  • 2,579