若矩阵的任意子方阵的行列式,则称为全幺模矩阵(totally unimodular matrix)。
全幺模对于取负、转置、交换行列、拼接自身、拼接单位向量等操作是封闭的:若是全幺模矩阵,则
- 的任意子矩阵也是全幺模矩阵,因为的任意子方阵也是的子方阵,特别的的任意元素都。
- 是全幺模矩阵,设是的任意子方阵,则是的子方阵,于是,从而。
- 是全幺模矩阵,设是的任意子方阵,则是的子方阵,于是,从而。
- 把的两行/两列互换得到的矩阵是全幺模矩阵,因为的任意子方阵都可以通过的某个子方阵交换行/列得到,而交换行/列只改变行列式的符号。
- 是全幺模矩阵,设是的任意子方阵,则的每一列要么来自于的某一列,要么来自于的某一列。若有两列相同或仅差一个符号,则是奇异矩阵,从而;否则可直接由的某个子方阵得到(最多对部分列再取负),这只会影响行列式的符号,此时有。
- 是全幺模矩阵,设是的任意非奇异子方阵,若是或其中之一的子方阵,易知有,否则设,其中、分别是和的子矩阵且都是列满秩的(否则奇异),交换的某些行可得 \begin{align*} \overline{\Bv} = \begin{bmatrix} \overline{\Av}_1 & \zerov \\ \overline{\Av}_2 & \pm \hat{\Iv} \end{bmatrix} \end{align*} 于是,而是的某个非奇异子方阵交换行得到的,故。
- 是全幺模矩阵,因为,其中是全幺模矩阵,故是全幺模矩阵,取转置后依然是全幺模矩阵。
全幺模矩阵导出的凸多面体的极点是整数向量,若这样的凸多面体是某个线性规划的可行域,那么该线性规划的最优解是整数解,换言之相应的整数线性规划可以通过放松成一般的线性规划来做。
定理1. 设是全幺模矩阵,是整数向量,则凸多面体的极点都是整数向量。
证明:设是的极点,则存在元下标集合使得,由Cramer法则知 \begin{align*} v_i = \frac{\det(\Av_{\Ical,:}^{(i)}|\bv_{\Ical})}{\det(\Av_{\Ical,:})} \end{align*} 其中是将的第列替换成得到的矩阵。注意是的阶非奇异子方阵,因此。将按第列展开,由于是整数向量,而展开中涉及的代数余子式又都,因此也是整数,故是整数。
全幺模矩阵跟图也有联系。
定理2. 对于二部图,其关联矩阵是全幺模矩阵。
证明:对子矩阵的阶数做归纳,的情形是显然的,因为的每个元素都。设是的阶子矩阵,注意的每列最多有两个,其余均为零。
- 若有一列全零,则为奇异矩阵,从而。
- 若有一列恰有一个,按该列展开,设是将所在行、列删除后得到的矩阵,则,由归纳假设知,故。
- 若每列都有两个,由于是二部图,可将按行分成两部分,分别对应中的点和中的点,显然第一部分的行和减去第二部分行和为,故是奇异矩阵,从而。
定理3. 有向图的关联矩阵是全幺模矩阵。
证明:对子矩阵的阶数做归纳,的情形是显然的,注意的每列最多有两个非零元素,其余均为零。
- 若有一列全零,则为奇异矩阵,从而。
- 若有一列恰有一个或,按该列展开,设是将非零元素所在行、列删除后得到的矩阵,则,由归纳假设知,故。
- 若每列都有一个、一个,则的所有行相加为,故是奇异矩阵,从而。
附录
考虑线性方程组,易知 \begin{align*} \det (\cdots, \av_{i-1}, \bv, \av_{i+1}, \cdots) & = \det (\cdots, \av_{i-1}, \sum_{j \in [n]} x_j \av_j, \av_{i+1}, \cdots) \\ & = \sum_{j \in [n]} x_j \det (\cdots, \av_{i-1}, \av_j, \av_{i+1}, \cdots) \\ & = x_i \det (\cdots, \av_{i-1}, \av_i, \av_{i+1}, \cdots) \end{align*} 故 \begin{align*} x_i = \frac{\det (\cdots, \av_{i-1}, \bv, \av_{i+1}, \cdots)}{\det (\cdots, \av_{i-1}, \av_i, \av_{i+1}, \cdots)} \end{align*} 该求解公式称为Cramer法则。