若无特殊说明,本文中提到的排列指的是1~n的全排列
先定义一些东西:
- 若(P_i)为一个排列,那么定义(RP_i)为它的逆排列,即(RP_{P_i}=i);
- 定义(lambda(P_i))为(P_i)的逆序对数;
- 若(P_i,Q_i)是两个排列,那么定义它们的复合排列为 (P_{Q_i}) ,即复合排列的第i个位置上的数是(P_{Q_i}) 。(注意(P_{Q_i})与(Q_{P_i})是不同的)
性质1:(lambda(P_i)=lambda(RP_i))
性质2: (lambda(P_{Q_i}))与(lambda(P_i)+lambda(Q_i))的奇偶性相同
以上两点感性理解吧,这里就不证了。
Binet-Cauchy定理:
[det(C)=sum_{S}det(A_S)*det(B_S)
]
其中(A)是一个m×n的矩阵,(B)是一个n×m的矩阵,(C)是一个n×n的矩阵,满足(C=B*A)
(S)是集合({1,2,...,m})的一个大小为n的子集,(A_S)表示由(A)保留(S)中的行得到的n×n的矩阵,(B_S)表示由(B)保留(S)中的列得到的矩阵。
我们下面就来证明这个定理:
P,Q是长度为n的排列
等式左边等于
[sum_{S}(sum_{P}(-1)^{lambda(P)}prod{A_{S_i,P_i}})(sum_{Q}(-1)^{lambda(Q)}prod{B_{i,S_{Q_i}}})
]
简单变换得到:
[sum_{S}sum_{P}sum_{Q}(-1)^{lambda(P)+lambda(Q)}prod{A_{S_i,P_i}B_{Q_i,S_i}}
]
注意B下标中(i)和(Q_i)互换了位置,可以证明这样是正确的。
等式右边:
[det(C)=sum_{P}(-1)^{lambda(P)}prod C_{i,P_i}
]
又因为(C_{i,j}=sum_{k=1}^m B_{ik}A_{kj})
所以(det(C)=sum_{P}(-1)^{lambda(P)}prod(sum_{k=1}^m B_{i,k}A_{k,P_i}))
将连乘拆开,设(R)是一个从1~m中选n个数的可重排列,那么上式等于
[sum_{P}(-1)^{lambda(P)}sum_{R}prod B_{i,R_i}B_{R_i,P_i}
]
[sum_{R}sum_{P}(-1)^{lambda(P)}prod B_{i,R_i}A_{R_i,P_i}
]
又因为如果R中存在两个不同的i,j使得(R_i=R_j),那么将(P)中(P_i)和(P_j)交换得到(P'),在第二个求和符枚举到(P)和(P')时后面式子的值会发生抵消(因为((-1)^{lambda(P)})与((-1)^{lambda(P')})互为相反数),所以我们可以把R看成一个无重排列,再将R的枚举方式变为先枚举一个大小为n的集合(S),再枚举这个集合的排列(Q),上式就变成了:
[sum_{S}sum_{Q}sum_{P}(-1)^{lambda(P)}prod B_{i,S_{Q_i}}A_{S_{Q_i},P_i}
]
[sum_{S}sum_{Q}sum_{P}(-1)^{lambda(P)}prod B_{Q_i,S_i}A_{S_{i},P_{Q_i}}
]
将枚举(P_i)变为枚举(P'=P_{Q_i}),结合之前排列的性质,上式等于
[sum_{S}sum_{Q}sum_{P'}(-1)^{lambda(P')+lambda(Q)}prod B_{Q_i,S_i}A_{S_{i},P'_{i}}
]
整理得
[sum_{S}sum_{P}sum_{Q}(-1)^{lambda(P)+lambda(Q)}prod{A_{S_i,P_i}B_{Q_i,S_i}}
]
这样就和等式右边一模一样了,于是定理得证。