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&#252;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. 为WLW开发Latex公式插件

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

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

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

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

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

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

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

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

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

  9. Tween公式 以及四个参数

    Tween的主页在这里:http://createjs.com/tweenjs , 这里边还有挺多开源项目的: Tween公式 4个参数 t:current time(当前时间) b:beginnin ...

  10. 期权定价公式:BS公式推导——从高数和概率论角度

    嗯,自己看了下书.做了点笔记,做了一些相关的基础知识的补充,尽力做到了详细,这样子,应该上过本科的孩子,只要有高数和概率论基础.都能看懂整个BS公式的推导和避开BS随机微分方程求解的方式的证明了.

随机推荐

  1. 07.GitHub实战系列~7.Git之VS2013团队开发(如果不想了解git命令直接学这篇即可)

    GitHub实战系列汇总:http://www.cnblogs.com/dunitian/p/5038719.html ———————————————————————————————————————— ...

  2. LeetCode 349. Intersection of Two Arrays

    Given two arrays, write a function to compute their intersection. Example:Given nums1 = [1, 2, 2, 1] ...

  3. matlab调用opencv函数的配置

    环境: VS2010 活动解决方案平台x64 WIN 8.1 Opencv 2.4.3 Matlab 2012a 1.  首先保证vs2010能正确调用opencv函数, 2.  Matlab中选择编 ...

  4. core--主线程

    windows的线程是windows可以分配给cpu的最小单元,对window应用程序的管理,最小的管理单位就是线程.那什么是线程?线程其实什么都不是,只是一个概念,没有实体,又看不见.这个概念的定义 ...

  5. sql日期函数

    1.sql常用日期函数 当我们在进行数据处理的时候,常常需要用到日期函数的计算,最难的任务恐怕是确保所插入的日期的格式,与数据库中日期列的格式相匹配.只要数据包含的只是日期部分,运行查询就不会出问题. ...

  6. Log4j appender输出类型配置

    Log4j官方的appender给出了一下几种实现 org.apache.log4j.ConsoleAppender(控制台), org.apache.log4j.FileAppender(文件), ...

  7. 【原创】Linux基础之windows linux双系统

    1 下载iso opensuse 下载: http://download.opensuse.org/distribution/openSUSE-stable/iso/openSUSE-Leap-15. ...

  8. 【问题收集·中级】关于XMPP使用Base传送图片

    [问题收集·中级]关于XMPP使用Base传送图片 下面是我与博友的问答过程:并在最后链接附录了相应的文件: 博友问题:  16:35:38 他跟我说要 内容图片  base64编码 上传..博友问题 ...

  9. 带分数(dfs,next_permutation)

    问题描述 100 可以表示为带分数的形式:100 = 3 + 69258 / 714. 还可以表示为:100 = 82 + 3546 / 197. 注意特征:带分数中,数字1~9分别出现且只出现一次( ...

  10. 吴裕雄 数据挖掘与分析案例实战(3)——python数值计算工具:Numpy

    # 导入模块,并重命名为npimport numpy as np# 单个列表创建一维数组arr1 = np.array([3,10,8,7,34,11,28,72])print('一维数组:\n',a ...