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. apicloud打包的ios证书的获取方法

    apicloud云编译的时候,需要测试证书或者正式证书进行编译. 那么这个证书是怎么来的呢?通过什么渠道可以获取呢? 这里我介绍下使用香蕉云编这个在线工具来生成: 1.登录香蕉云编,生成证书的csr文 ...

  2. STL之string容器

    string string封装了char*,管理这个字符串,是一个char*型的容器. string的相关操作 头文件 #include<string> string构造函数 string ...

  3. C# 基础 - 委托、事件

    1. 委托 sequenceDiagram 方法->>委托: 返回值和入参一样 委托->>方法: 调用委托就是调用绑定的方法 delegate int NumTest(int ...

  4. [学习笔记] KM算法

    前言 这个东西学了我挺久了,我先奉劝各位一定要先搞清楚匈牙利算法.感谢 \(\tt jzm\) 巨佬对我耐心的讲解,因为我太弱了所以卡了很久都不懂.如果你有任何问题请在本篇博客下面留言,我会尽力解答的 ...

  5. 递归函数初步理解---python实现(汉诺塔问题)

    递归常被用来描述以自相似的方法重复事物的过程,在程序中指的是在函数定义中使用函数自身的方法. 递归是一个树结构,分为递推和回归的过程,当递推到达底部时,就会开始回归. 问题描述:A比B大两岁,B比C大 ...

  6. 学习jQuery(1)

    学习jQuery 通过 jQuery,您可以选取(查询,query) HTML 元素,并对它们执行"操作"(actions). jQuery 语法 jQuery 语法是为 HTML ...

  7. 快速创建你的第一个Spring Boot项目

    1. 创建工程 打开idea,利用Spring Boot搭建一个web工程,切身体会一下Spring Boot所带来的魅力!看看SpringBoot是如何快速搭建一个web项目. New-->P ...

  8. effective解读-第一条 静态工厂创建对象代替构造器

    好处 有名称,能见名知意.例如BigInteger的probablePrime方法 享元模式.单例模式中使用 享元模式:创建对象代价很高,重复调用已有对象,例如数据库连接等.享元模式是单例模式的一个拓 ...

  9. 【2020.02.01NOIP普及模拟4】怪兽

    [2020.02.01NOIP普及模拟4]怪兽 文章目录 [2020.02.01NOIP普及模拟4]怪兽 题目描述 输入 输出 输入输出样例 数据范围限制 提示 解析 code 题目描述 PYWBKT ...

  10. M3D - 一个想突破又还有很多包袱的新生三维数据格式杂谈

    目录 1 门派 2 几个术语简析 3 结构简析 3.1 空间剖分方式 3.2 空间范围表示方式 4 M3DDataInfo.mcj 类定义 5 NodeInfo.json 类定义 6 *.m3d 文件 ...