Cauchy-Binet 公式的应用
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\),必有
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\) 可写为
I_m & A \\
0 & I_n
\end{pmatrix}C,
\]
因此 \(|M|=|C|\). 用 Laplace 定理来计算 \(|M|\),按前 \(m\) 行展开得
(-1)^{n(m+1)}|AB|.
\]
再来计算 \(|C|\),用 Laplace 定理按前 \(m\) 行展开。这时若 \(m>n\),则前 \(m\) 行中任意一个 \(m\) 阶子式都含有至少一列全为零,因此行列式值等于零,即 \(|AB|=0\). 若 \(m\le n\),由 Laplace 定理得
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\) 中的代数余子式。显然
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|\). \(|N|\) 用 Laplace 定理按前 \(n-m\) 列展开。注意只有一个子式非零,其值等于 \(|-I_{n-m}|=(-1)^{n-m}\). 而这个子式的余子式为
j_1 & j_2 & \cdots & j_m \\
1 & 2 & \cdots & m
\end{pmatrix}.
\]
因此
\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\),综合上面的结论,通过简单计算不难得到
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\)):
(a_ib_j-a_jb_i)^2.
\]
Proof. 左边的表达式写成行列式的形式如下
\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}.
\]
这个行列式对应的矩阵可化为
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 公式得
\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] 计算行列式:
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|\),则有
\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\) 时,
\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] 计算行列式:
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|\),则有
\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\) 时,
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\) 阶方阵
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\) 为
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}))\). 两端各取行列式,则由
\]
显然 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)\)
参考文献
Cauchy-Binet 公式的应用的更多相关文章
- 数学算法(一):快速求斐波那契数第n项通过黄金分割率公式
有一个固定的数学公式= =,不知道的话显然没法应用 首先黄金分割率接近于这个公式, (以下为黄金分割率与斐波那契的关系,可跳过) 通过斐波那契数列公式 两边同时除以 得: (1) 注意后一项比前一项接 ...
- @总结 - 7@ 生成树计数 —— matrix - tree 定理(矩阵树定理)与 prüfer 序列
目录 @0 - 参考资料@ @0.5 - 你所需要了解的线性代数知识@ @1 - 矩阵树定理主体@ @证明 part - 1@ @证明 part - 2@ @证明 part - 3@ @证明 part ...
- [复变函数]第10堂课 3.2 Cauchy 积分定理
0. 引言 (1) $\dps{\int_{|z-a|=\rho}\frac{1}{z-a}\rd z=2\pi i\neq 0}$: 有奇点 (在 $|z|>0$: 二连通区域内解析), 周线 ...
- 「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 ...
- 为WLW开发Latex公式插件
WLW是写博客的利器,支持离线.格式排版等,而且拥有众多的插件.博客园推荐了代码插入插件,但是没有提供WLW的公式编译插件.目前我的一般做法是:先在Word下使用MathType编辑好公式,然后将公式 ...
- 百度编辑器UEditor与UEditor 公式插件完整Demo
1.下载UEditor(我的是.net项目) 2.下载UEditor公式插件 3.新建解决方案和项目 4.在浏览器中预览index.html页面 结果: 5.index.html源码 <!DOC ...
- poi读取excel模板,填充内容并导出,支持导出2007支持公式自动计算
/** * 版权所有(C) 2016 * @author www.xiongge.club * @date 2016-12-7 上午10:03:29 */ package xlsx; /** * @C ...
- Oracle Sales Cloud:管理沙盒(定制化)小细节1——利用公式创建字段并显示在前端页面
Oracle Sales Cloud(Oracle 销售云)是一套基于Oracle云端的CRM管理系统.由于 Oracle 销售云是基于 Oracle 云环境的,它与传统的管理系统相比,显著特点之一便 ...
- Excel公式 提取文件路径后缀
我们在代码中获取一个文件路径的后缀,是一个很简单的事. 如C#中,可以通过new FileInfo(filePath).Extension,或者Path.GetExtension(filePath)获 ...
随机推荐
- shell脚本,mysql数据库的备份,并压缩
db_user="root"db_passwd="xxx"db_host="localhost" databases="xxx-p ...
- 修改 Hosts 解决 Github 访问缓慢问题
背景 最近访问 Github 经常出现访问速度慢的问题,甚至会出现无法连接的情况.有一天,在一次家常聊天中提到了这个事情,有一位热心的 Gitee 朋友就说:你改一下 Hosts 文件就可以了.修改了 ...
- SpringBoot自动配置原理源码级别分析
SpringBoot自动配置原理 前言 后面还会讲到SpringBoot自动配置原理,会主要讲解@EnableAutoConfiguratuon注解帮助我们做了什么事情,是如何自动把自动配置类扫描到容 ...
- tomcat启动错误Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/ofuns]];
起初遇到这个问题的时候是在实训(开发环境选择的是IDEA)的时候,检查了半天未果,上网搜索之后,说的也是各式各样,最后发现问题出在web.xml上面 在配置 filter 的 url-pattern ...
- C语言入门-mingw64安装+配置
OK,大家好,结合上期所说,本期让我们来配置编译器吧! 首先先下载mingw64离线包,官网下载慢,可以去群里下载,*.7z格式(有些同学可能没有解压软件,为了照顾这部分同学,笔者提供*.exe格式的 ...
- mongodb安装及常见命令操作
Mongodb是一个介于关系数据库和非关系数据库之间的产品(Nosql),是非关系数据库当中功能最丰富,最像关系数据库的,语法有点类似javascript面向对象的查询语言,它是一个面向集合的,模式自 ...
- PTA 递增的整数序列链表的插入
6-4 递增的整数序列链表的插入 (15 分) 本题要求实现一个函数,在递增的整数序列链表(带头结点)中插入一个新整数,并保持该序列的有序性. 函数接口定义: List Insert( List ...
- go每日一库 [home-dir] 获取用户主目录
关于我 我的博客|文章首发 顾名思义,go-homedir用来获取用户的主目录.实际上,通过使用标准库os/user我们也可以得到内容,使用以下方式 标准库使用 package main import ...
- Linux 常用系统性能命令总结
Linux 常用系统性能命令 查看系统负载top,free **w/uptime ** 最后面三个数字表示1分钟,5分钟,15分钟平均有多少个进程占用CPU占用CPU的进程可以是Running,也可 ...
- .Net Core 路由处理
用户请求接口路由,应用返回处理结果.应用中如何匹配请求的数据呢?为何能如此精确的找到对应的处理方法?今天就谈谈这个路由.路由负责匹配传入的HTTP请求,将这些请求发送到可以执行的终结点.终结点在应用中 ...