Binet-Cauchy 公式

我们知道,方阵的行列式不是方阵的线性函数,即对 \(\forall \lambda\in F,A,B\in F^{n\times n}\),有 \(det(A+B)\neq detA+detB\) 和 \(det(\lambda A)\neq \lambda detA\);而方阵的行列式是方阵的可乘函数,即 \(det(AB)=detA\cdot detB\). 那么如果 \(A,B\) 不是方阵,而是长方矩阵,那么就可以推广得到 Cauchy-Binet 公式。

Theorem(Cauchy-Binet)[1] 设 \(A=(a_{ij})\) 是 \(m\times n\) 矩阵,\(B=(b_{ij})\) 是 \(n\times m\) 矩阵,\(A\begin{pmatrix}i_1 & \cdots & i_s \\ j_1 & \cdots & j_s\end{pmatrix}\) 表示 \(A\) 的一个 \(s\) 阶子式,它由 \(A\) 的第 \(i_1,\cdots,i_s\) 行与第 \(j_1,\cdots,j_s\) 列交点上的元素按原次序排列组成的行列式。同理定义 \(B\) 的 \(s\) 阶子式,则 (1) 若 \(m>n\),必有 \(|AB|=0\);

(2) 若 \(m\le n\),必有

\[|AB|=\sum_{1\le j_1<j_2<\cdots<j_m\le n}A\begin{pmatrix}
1 & 2 & \cdots & m \\
j_1 & j_2 & \cdots & j_m
\end{pmatrix}B\begin{pmatrix}
j_1 & j_2 & \cdots & j_m \\
1 & 2 & \cdots & m
\end{pmatrix}.

\]

Proof. 令 \(C=\begin{pmatrix} A & 0 \\ -I_n & B \end{pmatrix}\). 我们将用不同的方法来计算行列式 \(|C|\).

首先,对 \(C\) 进行第三类分块初等变换得到矩阵 \(M=\begin{pmatrix} 0 & AB \\ -I_n & B \end{pmatrix}\). 事实上,\(M\) 可写为

\[M=\begin{pmatrix}
I_m & A \\
0 & I_n
\end{pmatrix}C,

\]

因此 \(|M|=|C|\). 用 Laplace 定理来计算 \(|M|\),按前 \(m\) 行展开得

\[|M|=(-1)^{(n+1+n+2+\cdots+n+m)+(1+2+\cdots+m)}|-I_n||AB|=
(-1)^{n(m+1)}|AB|.

\]

再来计算 \(|C|\),用 Laplace 定理按前 \(m\) 行展开。这时若 \(m>n\),则前 \(m\) 行中任意一个 \(m\) 阶子式都含有至少一列全为零,因此行列式值等于零,即 \(|AB|=0\). 若 \(m\le n\),由 Laplace 定理得

\[|C|=\sum_{1\le j_1<j_2<\cdots<j_m\le n}A\begin{pmatrix}
1 & 2 & \cdots & m \\
j_1 & j_2 & \cdots & j_m
\end{pmatrix}C\begin{pmatrix}
1 & 2 & \cdots & m \\
j_1 & j_2 & \cdots & j_m
\end{pmatrix},

\]

其中 \(C\begin{pmatrix}1 & 2 & \cdots & m \\ j_1 & j_2 & \cdots & j_m \end{pmatrix}\) 是 \(A\begin{pmatrix} 1 & 2 & \cdots & m \\ j_1 & j_2 & \cdots & j_m \end{pmatrix}\) 在矩阵 \(C\) 中的代数余子式。显然

\[C\begin{pmatrix}
1 & 2 & \cdots & m \\
j_1 & j_2 & \cdots & j_m
\end{pmatrix}=(-1)^{\frac{1}{2}m(m+1)+(j_1+j_2+\cdots+j_m)}
|-e_{i_1},-e_{i_2},\cdots,-e_{i_{n-m}},B|,

\]

其中 \(i_1,i_2,\cdots,i_{n-m}\) 是 \(C\) 中前 \(n\) 列去掉 \(j_1,j_2,\cdots,j_m\) 列后余下的列序数,\(e_{i_1},e_{i_2},\cdots,e_{i_{n-m}}\) 是相应的 \(n\) 维标准单位列向量。记

\[|N|=|-e_{i_1},-e_{i_2},\cdots,-e_{i_{n-m}}|,

\]

现来计算 \(|N|\). \(|N|\) 用 Laplace 定理按前 \(n-m\) 列展开。注意只有一个子式非零,其值等于 \(|-I_{n-m}|=(-1)^{n-m}\). 而这个子式的余子式为

\[B\begin{pmatrix}
j_1 & j_2 & \cdots & j_m \\
1 & 2 & \cdots & m
\end{pmatrix}.

\]

因此

\[|N|=(-1)^{(n-m)+(i_1+i_2+\cdots+i_{n-m})+(1+2+\cdots+n-m)}B
\begin{pmatrix}
j_1 & j_2 & \cdots & j_m \\
1 & 2 & \cdots & m
\end{pmatrix}.

\]

注意到 \((i_1+i_2+\cdots+i_{n-m})+(j_1+j_2+\cdots+j_m)=1+2+\cdots+n\),综合上面的结论,通过简单计算不难得到

\[|AB|=\sum_{1\le j_1<j_2<\cdots<j_m\le n}A\begin{pmatrix}
1 & 2 & \cdots & m \\
j_1 & j_2 & \cdots & j_m
\end{pmatrix}B\begin{pmatrix}
j_1 & j_2 & \cdots & j_m \\
1 & 2 & \cdots & m
\end{pmatrix}.

\]

Binet-Cauchy 公式在恒等式中的应用

Binet-Cauchy 公式有很多方面的应用,比如证明 Lagrange 恒等式,Cauchy- Schwarz 不等式,计算一些特殊的 \(n\) 阶行列式。下面我们先来看其在恒等式证明中的应用。

Question 1.[1:1] 证明 Lagrange 恒等式(\(n\ge2\)):

\[\left(\sum_{i=1}^n a_i^2\right)\left(\sum_{i=1}^n b_i^2\right)-\left(\sum_{i=1}^n a_ib_i\right)^2=\sum_{1\le i<j\le n}
(a_ib_j-a_jb_i)^2.

\]

Proof. 左边的表达式写成行列式的形式如下

\[\begin{vmatrix}
\displaystyle\sum_{i=1}^n a_i^2 & \displaystyle\sum_{i=1}^n a_ib_i \\
\displaystyle\sum_{i=1}^n a_ib_i & \displaystyle\sum_{i=1}^n
b_i^2
\end{vmatrix}.

\]

这个行列式对应的矩阵可化为

\[\begin{pmatrix}
a_1 & a_2 & \cdots & a_n \\
b_1 & b_2 & \cdots & b_n
\end{pmatrix}\begin{pmatrix}
a_1 & b_1 \\
a_2 & b_2 \\
\vdots & \vdots \\
a_n & b_n
\end{pmatrix}.

\]

用 Cauchy- Schwarz 公式得

\[\begin{vmatrix}
\displaystyle\sum_{i=1}^n a_i^2 & \displaystyle\sum_{i=1}^n a_ib_i \\
\displaystyle\sum_{i=1}^n a_ib_i & \displaystyle\sum_{i=1}^n
b_i^2
\end{vmatrix}=\sum_{1\le i<j\le n}\begin{pmatrix}
a_i & a_j \\
b_i & b_j
\end{pmatrix}\begin{pmatrix}
a_i & b_i \\
a_j & b_j
\end{pmatrix}=\sum_{1\le i<j\le n}(a_ib_j-a_jb_i)^2.

\]

注意到,上述证明过程中行列式的值是非负的,这样我们就得到了Cauchy- Schwarz不等式。另外,类似于上面的证明过程,我们可以使用 Cauchy-Binet 公式证明比 Lagrange 恒等式更一般的结论 Cauchy 恒等式[2] 。当然,也可以使用其他方法证明这恒等式,但是显然没有使用 Cauchy-Binet 公式证明来得简洁。

Binet-Cauchy 公式在行列式计算中的应用

Binet- Cauchy 公式在行列式中应用最多的情形是 \(m=n\) 时方阵乘积的行列式等于方阵行列式的乘积。而对于一些特殊的行列式,我们可以把这个行列式对应的矩阵写成两个长方阵的乘积,然后利用 Binet-Cauchy 公式进行分类讨论,可以参考下面两道例题:

Question 2.[3] 计算行列式:

\[\begin{vmatrix}
x_1y_1+1 & x_1y_2+1 & \cdots & x_1y_n+1 \\
x_2y_1+1 & x_2y_2+1 & \cdots & x_2y_n+1 \\
\vdots & \vdots & \ddots & \vdots \\
x_ny_1+1 & x_ny_2+1 & \cdots & x_ny_n+1
\end{vmatrix}.

\]

Solution. 记此行列式为 \(|A|\),则有

\[|A|=\begin{vmatrix}
\begin{pmatrix}
x_1 & 1 \\
x_2 & 1 \\
\vdots & \vdots \\
x_n & 1
\end{pmatrix}\begin{pmatrix}
y_1 & y_2 & \cdots & y_n \\
1 & 1 & \cdots & 1
\end{pmatrix}
\end{vmatrix}.

\]

由 Binet-Cauchy 公式,当 \(n>2\) 时,\(|A|=0\); 当 \(n=2\) 时,

\[|A|=\begin{vmatrix}
\begin{pmatrix}
x_1 & 1 \\
x_2 & 1
\end{pmatrix}\begin{pmatrix}
y_1 & y_2 \\
1 & 1
\end{pmatrix}
\end{vmatrix}=\begin{vmatrix}
x_1 & 1 \\
x_2 & 1
\end{vmatrix}\begin{vmatrix}
y_1 & y_2 \\
1 & 1
\end{vmatrix}=(x_1-x_2)(y_1-y_2).

\]

当 \(n=1\) 时,\(|A|=x_1y_1+1\).

Question 3.[3:1] 计算行列式:

\[\begin{vmatrix}
x_1-y_1 & x_1-y_2 & \cdots & x_1-y_n \\
x_2-y_1 & x_2-y_2 & \cdots & x_2-y_n \\
\vdots & \vdots & \ddots & \vdots \\
x_n-y_1 & x_n-y_2 & \cdots & x_n-y_n
\end{vmatrix}.

\]

Solution. 记此行列式为 \(|B|\),则有

\[|B|=\begin{vmatrix}
\begin{pmatrix}
x_1 & -1 \\
x_2 & -1 \\
\vdots & \vdots \\
x_n & -1
\end{pmatrix}\begin{pmatrix}
1 & 1 & \cdots & 1 \\
y_1 & y_2 & \cdots & y_n
\end{pmatrix}
\end{vmatrix}.

\]

由 Binet-Cauchy 公式,当 \(n>2\) 时,上式右端乘积的行列式为零;当 \(n=2\) 时,

\[|B|=\begin{vmatrix}\begin{pmatrix}
x_1 & -1 \\
x_2 & -1 \\
\end{pmatrix}\begin{pmatrix}
1 & 1 \\
y_1 & y_2
\end{pmatrix}\end{vmatrix}=\begin{vmatrix}
x_1 & -1 \\
x_2 & -1
\end{vmatrix}\begin{vmatrix}
1 & 1 \\
y_1 & y_2
\end{vmatrix}=(x_1-x_2)(y_1-y_2).

\]

当 \(n=1\) 时,\(|B|=x_1-x_2\).

可见,Binet-Cauchy 公式是处理这种值随阶数变化而变化的行列式的有力工具。Binet-Cauchy 公式应用最多的还是 \(m=n\) 的情形,具体可以参考文献[4]第三章第二节习题第4题的前三小题,这里不再赘述。下面给出轮回方阵的行列式的应用 Cauchy- Binet 公式的求法。轮回方阵本身不可能写成两个矩阵的乘积,但是如果我们另设一个矩阵,两个矩阵乘积可以写成和一个对角矩阵的乘积,而对角矩阵的行列式是非常容易得到的,从而就可以得到轮回方阵的行列式。与其类似的文献[4]第三章第二节习题第4题的第(4)小题,采用同样的处理方法就可以得到结果。

Question 4.[4] \(n\) 阶方阵

\[\begin{pmatrix}
a_0 & a_1 & a_2 & \cdots & a_{n-1} \\
a_{n-1} & a_0 & a_1 & \cdots & a_{n-2} \\
a_{n-2} & a_{n-1} & a_0 & \cdots & a_{n-3} \\
\vdots & \vdots & \vdots & \ddots & \vdots \\
a_1 & a_2 & a_3 & \cdots & a_0
\end{pmatrix}.

\]

称为轮回方阵,求 \(n\) 阶轮回方阵的行列式。

Solution. 设 \(\omega\) 是 \(n\) 次本原单位根,即 \(\omega^i\neq 1,1\le i\le n-1,\omega^n=1\),\(f(x)=a_0+a_1x+\cdots+a_{n-1}x^{n-1}\),取 \(n\) 阶矩阵 \(B\) 为

\[B=\begin{pmatrix}
1 & 1 & 1 & \cdots & 1 \\
1 & \omega & \omega^2 & \cdots & \omega^{n-1} \\
1 & \omega^2 & \omega^4 & \cdots & \omega^{2(n-1)} \\
\vdots & \vdots & \vdots & \ddots & \vdots \\
1 & \omega^{n-1} & \omega{2(n-1)} & \cdots & \omega{(n-1)^2}
\end{pmatrix}

\]

容易验证 \(AB=Bdiag(f(1), f(\omega), f(\omega^2), \cdots, f(\omega^{n-1}))\). 两端各取行列式,则由

\[det Adet B=\left(\prod_{i=0}^{n-1}f(\omega^i)\right)detB.

\]

显然 Vandermonde 行列式 \(detB=\displaystyle\prod_{1\le i<j\le n}(\omega^j-\omega^i)\neq 0\). 因此 \(detA=\displaystyle\prod_{i=0}^{n-1}f(\omega^i)\)

参考文献


  1. 姚穆生,吴泉水.高等代数学[M].上海:复旦大学出版社.2007.

  2. 李维伦.Binet-Cauchy公式及其应用[J].工科数学,2002,3.

  3. 王斌儒,刘延卿.Binet-Cauchy公式及其应用[J].科技风,2018,9.

  4. 李炯生,查建国,王新茂.线性代数[M].合肥:中国科学技术大学出版社.2010.

Cauchy-Binet 公式的应用的更多相关文章

  1. 数学算法(一):快速求斐波那契数第n项通过黄金分割率公式

    有一个固定的数学公式= =,不知道的话显然没法应用 首先黄金分割率接近于这个公式, (以下为黄金分割率与斐波那契的关系,可跳过) 通过斐波那契数列公式 两边同时除以 得: (1) 注意后一项比前一项接 ...

  2. @总结 - 7@ 生成树计数 —— matrix - tree 定理(矩阵树定理)与 prüfer 序列

    目录 @0 - 参考资料@ @0.5 - 你所需要了解的线性代数知识@ @1 - 矩阵树定理主体@ @证明 part - 1@ @证明 part - 2@ @证明 part - 3@ @证明 part ...

  3. [复变函数]第10堂课 3.2 Cauchy 积分定理

    0. 引言 (1) $\dps{\int_{|z-a|=\rho}\frac{1}{z-a}\rd z=2\pi i\neq 0}$: 有奇点 (在 $|z|>0$: 二连通区域内解析), 周线 ...

  4. 「2020-2021 集训队作业」Yet Another Linear Algebra Problem(行列式,Binet-Cauchy 公式)

    题面 出题人:T L Y \tt TLY TLY 太阳神:Tiw_Air_OAO 「 2020 - 2021 集 训 队 作 业 」 Y e t A n o t h e r L i n e a r A ...

  5. 为WLW开发Latex公式插件

    WLW是写博客的利器,支持离线.格式排版等,而且拥有众多的插件.博客园推荐了代码插入插件,但是没有提供WLW的公式编译插件.目前我的一般做法是:先在Word下使用MathType编辑好公式,然后将公式 ...

  6. 百度编辑器UEditor与UEditor 公式插件完整Demo

    1.下载UEditor(我的是.net项目) 2.下载UEditor公式插件 3.新建解决方案和项目 4.在浏览器中预览index.html页面 结果: 5.index.html源码 <!DOC ...

  7. poi读取excel模板,填充内容并导出,支持导出2007支持公式自动计算

    /** * 版权所有(C) 2016 * @author www.xiongge.club * @date 2016-12-7 上午10:03:29 */ package xlsx; /** * @C ...

  8. Oracle Sales Cloud:管理沙盒(定制化)小细节1——利用公式创建字段并显示在前端页面

    Oracle Sales Cloud(Oracle 销售云)是一套基于Oracle云端的CRM管理系统.由于 Oracle 销售云是基于 Oracle 云环境的,它与传统的管理系统相比,显著特点之一便 ...

  9. Excel公式 提取文件路径后缀

    我们在代码中获取一个文件路径的后缀,是一个很简单的事. 如C#中,可以通过new FileInfo(filePath).Extension,或者Path.GetExtension(filePath)获 ...

随机推荐

  1. java mvc 及其缓存

    使用Spring框架的好处是什么? - 轻量:Spring 是轻量的,基本的版本大约2MB. - 控制反转:Spring通过控制反转实现了松散耦合,对象们给出它们的依赖,而不是创建或查找依赖的对象们. ...

  2. 翻译:《实用的Python编程》06_01_Iteration_protocol

    目录 | 上一节 (5.2 封装) | 下一节 (6.2 自定义迭代) 6.1 迭代协议 本节将探究迭代的底层过程. 迭代无处不在 许多对象都支持迭代: a = 'hello' for c in a: ...

  3. IPFS矿机封装原理解释

    近期无论是从媒体.新闻的高度曝光,还是市场拓展的覆盖度来看,IPFS 俨然成为今年最值得关注的行业话题与入场趋势.对于许多刚了解 IPFS 的小白来说,矿机的「封装」.「有效算力」和「原值算力」这些概 ...

  4. A New Stone Game POJ - 1740

    题目链接:https://vjudge.net/problem/POJ-1740#author=0 题意:有n堆石子,每次你可以选一堆拿走任意数量的石子,而且你还可以选择从这一堆剩下石子中取任意数量石 ...

  5. 数位dp 模板加例题

    概念:所谓数位"dp",是指对数字的"位"进行的与计数有关的DP.一个数一个位,十位,百位,千位等,数的每一位就是数位.数位DP用来解决与数字操作有关的问题.例 ...

  6. ch1_6_6求解门禁系统问题

    import java.util.HashMap; import java.util.Scanner; public class ch1_6_6求解门禁系统问题 { public static voi ...

  7. P1036_选数(JAVA语言)

    题目描述 已知 n 个整数x1​,x2​,-,xn​,以及1个整数k(k<n).从n个整数中任选k个整数相加,可分别得到一系列的和.例如当n=4,k=3,4个整数分别为3,7,12,19时,可得 ...

  8. irace package -- 参数调优神器

    目录 1. irace 是什么 2. 安装 irace 3. irace 的运行机制 4. irace 的配置环境 4.1. parameters 4.2. target algorithm runn ...

  9. 「HTML+CSS」--自定义加载动画【008】

    前言 Hello!小伙伴! 首先非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出- 哈哈 自我介绍一下 昵称:海轰 标签:程序猿一只|C++选手|学生 简介:因C语言结识编程,随后转入计算机 ...

  10. 从谷歌CRE谈起,运维如何培养服务意识?

    从谷歌CRE谈起,运维如何培养服务意识? 2016年10月,谷歌云平台博客(Google Cloud Platform Blog)上更新了一篇文章,谷歌宣布了一个新的专业岗位,CRE(Customer ...