English

Recognizing Cartesian products of matrices and polytopes

Combinatorics 2020-02-07 v1 Discrete Mathematics

Abstract

The 1-product of matrices S1Rm1×n1S_1 \in \mathbb{R}^{m_1 \times n_1} and S2Rm2×n2S_2 \in \mathbb{R}^{m_2 \times n_2} is the matrix in R(m1+m2)×(n1n2)\mathbb{R}^{(m_1+m_2) \times (n_1n_2)} whose columns are the concatenation of each column of S1S_1 with each column of S2S_2. Our main result is a polynomial time algorithm for the following problem: given a matrix SS, is SS a 1-product, up to permutation of rows and columns? Our main motivation is a close link between the 1-product of matrices and the Cartesian product of polytopes, which goes through the concept of slack matrix. Determining whether a given matrix is a slack matrix is an intriguing problem whose complexity is unknown, and our algorithm reduces the problem to irreducible instances. Our algorithm is based on minimizing a symmetric submodular function that expresses mutual information in information theory. We also give a polynomial time algorithm to recognize a more complicated matrix product, called the 2-product. Finally, as a corollary of our 1-product and 2-product recognition algorithms, we obtain a polynomial time algorithm to recognize slack matrices of 22-level matroid base polytopes.

Keywords

Cite

@article{arxiv.2002.02264,
  title  = {Recognizing Cartesian products of matrices and polytopes},
  author = {Manuel Aprile and Michele Conforti and Yuri Faenza and Samuel Fiorini and Tony Huynh and Marco Macchia},
  journal= {arXiv preprint arXiv:2002.02264},
  year   = {2020}
}
R2 v1 2026-06-23T13:33:02.572Z