简单推导:关于矩阵主子式的几点性质

article/2025/10/9 9:20:36

1.名词介绍:

特征多项式:在数域P上的某个n*n方阵A,则行列式|\lambda E-A |即为其特征多项式,简记为A\left ( \lambda \right );

逆序数:1,2,...n的某个排序j_1,j_2,...j_n相对自然序列相反的个数;记为:\tau(j_1j_2\hdots j_n)

主子式:某个行列式的部分列和部分行:行号和列号一样交线处的元素按相对位置不变交出来的方阵的行列式:

按照子阵的表达方式:\begin{pmatrix} r_1& r_2&...r_k\\ c_1& c_2 &...c_k\end{pmatrix} \quad即行列交出来的子阵,其行列式记为det \begin{pmatrix} r_1 & r_2&r_3 \\ c_1 & c_2 &c_3\end{pmatrix} \quad;

2.下面介绍两个引理:

引理1:行列式乘积表达式:

\begin{vmatrix} a_{11} & a_{12} &...&a_{1n} \\ a_{21} & a_{22} &...&a_{2n} \\\vdots &\vdots &&\vdots \\a_{n1}&a_{n2}&\hdots&a_{nn}\end{vmatrix} \quad=\sum_{j_1j_2j_3\hdots j_n} (-1)^{\tau(j_1j_2\hdots j_n)}a_{1j_1}a_{2j_2}\hdots a_{nj_n}

这个引理的证明可参看《高等代数》王萼芳,石生萌 著,第四版的56页

引理2:行列式求导:

对于某个行列式求导等于对其每一行求导并且将其还原到原矩阵并求和:

也即:

{ \begin{vmatrix} a_{11} & a_{12} &\hdots&a_{1n}\\a_{21} & a_{22} &\hdots&a_{2n} \\ \vdots & \vdots&& \vdots\\ a_{n1} & a_{n2}&\hdots&a_{nn}\end{vmatrix} \quad}'= \begin{vmatrix} {a_{11}}' & {a_{12}}' &\hdots&{a_{1n}}'\\a_{21} & a_{22} &\hdots&a_{2n} \\ \vdots & \vdots&& \vdots\\ a_{n1} & a_{n2}&\hdots&a_{nn}\end{vmatrix} \quad+\begin{vmatrix} a_{11} & a_{12}&\hdots&a_{1n}\\{a_{21}}' & {a_{22}}' &\hdots&{a_{2n}}' \\ \vdots & \vdots&& \vdots\\ a_{n1} & a_{n2}&\hdots&a_{nn}\end{vmatrix} \quad+\begin{vmatrix} a_{11} & a_{12} &\hdots&a_{1n}\\a_{21} & a_{22} &\hdots&a_{2n} \\ \vdots & \vdots&& \vdots\\ {a_{n1}}' & {a_{n2}}'&\hdots&{a_{nn}}'\end{vmatrix} \quad

这个引理很显然,利用引理1,和乘积求导的公式,并把每次被求导的元素按照位置不变的带回原来的行列式就能得到引理2

定理1:

对于一个实数域上n阶方阵A,其特征多项式A\left ( \lambda \right )被表示为:

f(\lambda)=\lambda^{n}+d_{n-1}\lambda^{n-1}+\hdots+d_1\lambda+d_0,其中d_0,d_1,\hdots,d_{n-1}\in \mathbb{R}

d_{k}=(-1)^{n-k}\sum_{1\leq j_1<j_2<\hdots<j_k\leq n}det\begin{pmatrix} j_1 & j_2&\hdots&j_k \\ j_1 & j_2&\hdots&j_k \end{pmatrix} \quad

证明:利用多项式麦克劳林展开式可以得到以下关系:

f(0)=d_0;{f}'(0)=d_1\hdots f^{(n-1)}(0)=(n-1)!d_{n-1}

利用行列式求导法:

{f}'\left ( \lambda \right )= {\begin{vmatrix} \1 & 0&\hdots&0\\ -a_{21}&\lambda-a_{22}&\hdots&-a_{2n} \\ \vdots&\vdots&&\vdots \\-a_{n1}&-a_{n2}&\hdots&\lambda-a_{nn} \end{vmatrix} \quad}_n +{\begin{vmatrix} \lambda-a_{11}&-a_{12}&\hdots&-a_{1n}\\ 0 & 1&\hdots&0 \\ \vdots&\vdots&&\vdots \\-a_{n1}&-a_{n2}&\hdots&\lambda-a_{nn} \end{vmatrix} \quad}_n +\hdots+ +{\begin{vmatrix} \lambda-a_{11}&-a_{12}&\hdots&-a_{1n}\\ -a_{21}&\lambda-a_{22}&\hdots&-a_{2n}\\ \vdots&\vdots&&\vdots \\0&0&\hdots&1 \end{vmatrix} \quad}_n

1由于都在主对角线上,按行降阶:

{f}'\left ( \lambda \right )=\sum_{j_1j_2\hdots j_{n-1}}det\begin{pmatrix} j_1 & j_2&\hdots&j_{n-1} \\ j_1 & j_2&\hdots&j_{n-1} \end{pmatrix} \quad\left ( \lambda \right )

{f}'\left ( \lambda \right )表示成了所有n-1阶主子阵的特征多项式之和

{f}'\left ( 0 \right )=\left ( -1\right )^{n-1}\sum_{j_1j_2\hdots j_{n-1}}det\begin{pmatrix} j_1 & j_2&\hdots&j_{n-1} \\ j_1 & j_2&\hdots&j_{n-1} \end{pmatrix} \quad

对于任意一个n-2阶主子阵,一定真包含且只包含在两个n-1阶主子阵中:

\begin{pmatrix} j_1 & j_2&\hdots&j_{n-2} \\ j_1 & j_2&\hdots&j_{n-2} \end{pmatrix} \quad只真包含在\begin{pmatrix} j_1 & j_2 &\hdots&j_{n-2}&j_{n-1}\\j_1 & j_2 &\hdots&j_{n-2}&j_{n-1} \end{pmatrix} \quad

\begin{pmatrix} j_1 & j_2 &\hdots&j_{n-2}&j_{n}\\j_1 & j_2 &\hdots&j_{n-2}&j_{n} \end{pmatrix} \quad中,因此对于{f}''\left ( 0 \right )\left ( -1 \right )^{n-2}要除以2才是d_{2}

依次类推:

\begin{pmatrix} j_1 & j_2 &\hdots&j_{k}\\j_1 & j_2 &\hdots&j_{k} \end{pmatrix} \quad包含且只包含在n-k个k+1阶主子阵中,故\left ( -1 \right )^{k}f^{(n-k)}\left ( 0 \right )要除以\left ( n-k \right )!才是d_{n-k}:1\leq k\leq n-1

定理1证毕;

证明到这里我们可以看到方阵的迹就是这里k取1

利用定理1我们可以得到关于方阵主子式的又一个性质:这在最优化的海森矩阵判断正定性里有部分应用:

定理2:

对于实对称矩阵A是半正定的充分必要条件是A的一切主子式大于等于0:

A=\begin{bmatrix} a_{11} & a_{12} & \hdots& a_{1n}\\ a_{21} & a_{22} & \hdots& a_{2n}\\ \vdots & \vdots & & \vdots\\ a_{n1} & a_{n2} & \hdots& a_{nn} \end{bmatrix} \quad

实对称,取其主子式:A_{k}=\begin{pmatrix} j_{1} & j_{2}&\hdots&j_{k} \\ j_{1} & j_{2}&\hdots&j_{k} \end{pmatrix} \quad,\left (1 \le k \le n,1\le j_{1}<j_{2}<\hdots<j_{k}\le n \right )

则存在一个可逆阵C:s.t. C^{T}AC=\begin{bmatrix} A_{k} & B \\ B^{T} & D_{n-k} \end{bmatrix} \quad其中B,D是除去A_{k}的一定规格的矩阵

事实上:对于A的行与列做对等的第二类初等变换(交换)就可得到该矩阵:

这里运用到一个常用的求实对称矩阵合同变换矩阵的方法:

构造:

M=\begin{bmatrix} A & E_{n} \\ E_{n} & \forall \end{bmatrix} \quad矩阵,这里的\forall表示可以取任意n阶方阵,每次交换两行的同时交换两列:最终的得到A下方E_{n}位置的矩阵就是C:

事实上,这里根据初等矩阵的理论:每次对M做一对对等的初等行变换:相当于给M左乘一个初等阵\begin{bmatrix} P_{n} & O \\ O & E_{n} \end{bmatrix} \quad

结果为:

\begin{bmatrix} P_{n}A & P_{n} \\ E_{n} & \forall \end{bmatrix} \quad在此结果上做一次对等的列变换:等价于右乘一个初等阵:\begin{bmatrix} Q_{n} & O \\ O & E_{n} \end{bmatrix} \quad:结果为:\begin{bmatrix} P_{n}AQ_{n} & P_{n} \\ Q_{n} & \forall \end{bmatrix} \quad

依次类推可得经过n次该变换的矩阵为:

\begin{bmatrix} P_{n}P_{n-1}\hdots P_{1}AQ_{1}Q_{2}\hdots Q_{n} & P_{n}P_{n-1}\hdots P_{1} \\Q_{1}Q_{2}\hdots Q_{n} & \forall \end{bmatrix} \quad

即根据初等矩阵的性质:P_{i}Q_{i}=E;P_{i}=Q_{i}^{T}即可证明经过m次该对等的行列初等变换的A_{m}和A合同;

必要性:

按照交换排列的方法:就比如选择排序,操作M,使得被选中的行列在上或左,得到的A_{m}的前k行k列交出来的矩阵是排序之前的

A_{k},注意这里的A_{m},A_{k}形式相同,表达着不同的含义:前者是m经过m次对等初等行列变换后原本的A位置的矩阵;而A_{k}是原本A矩阵的k阶主子式;

现在证明这个k阶主子阵也是半正定的:

取向量:\left ( x_{1},x_{2},\hdots,x_{k},0,\hdots ,0 \right )_{n}^{T}由于合同变换前后的矩阵A,A_{m}正定性相同,即A_{m}也是半正定的故对于A_{m}分块:

\begin{pmatrix}\underset{\xi}{\rightarrow}^{T}& \underset{0}{\rightarrow}^{T} \end{pmatrix} \quad\begin{bmatrix} A_{k} & \forall_{1} \\ \forall_{2} & \forall_{3} \end{bmatrix} \quad\begin{pmatrix} \underset{\xi}{\rightarrow} \\ \underset{0}{\rightarrow} \end{pmatrix} \quad= \underset{\xi}{\rightarrow}^{T}A_{k}\underset{\xi}{\rightarrow}\ \ge 0

A_{k}也为半正定,故其行列式大于等于零:如若不然则存在负的特征根;注意这个反之不然;

充分性:

因为A的任意主子式都大于或等于0,故考虑A+\epsilon E的正定性:这里\epsilon>0可取任意小

判断正定性的方法其一就是其充要条件:所有顺序主子式都大于等于0,那么这里的A+\epsilon E的任意一个k阶顺序主子式即:

\begin{pmatrix} a_{11}+\epsilon & a_{12}&\hdots &a_{1k} \\ a_{21} & a_{22}+\epsilon& \hdots&a_{2k}\\ \vdots &\vdots&&\vdots\\ a_{k1}&a_{k2}&\hdots&a_{kk}+\epsilon \end{pmatrix} \quad

的展开式为\epsilon^{k}+d_{k-1}\epsilon^{k-1}+\hdots+d_{1}\epsilon+d_{0}(***),而同样考虑A_{k}的特征多项式

\begin{pmatrix} -a_{11}+\lambda & -a_{12}&\hdots &-a_{1k} \\ -a_{21} & -a_{22}+\lambda& \hdots&-a_{2k}\\ \vdots &\vdots&&\vdots\\ -a_{k1}&-a_{k2}&\hdots&-a_{kk}+\lambda \end{pmatrix} \quad

其展开式为\left ( -1 \right )\left^{k} ( (-\lambda)^{k}+d_{k-1}(-\lambda)^{k-1}+\hdots+d_{1}(-\lambda)+d_{0} \right )

化为首一多项式为:

\lambda^{k}-d_{k-1}\lambda^{k-1}+d_{k-2}\lambda^{k-2}+\hdots+\left ( -1 \right )^{i}d_{k-i}\lambda^{k-i}+\hdots+(-1)^{k}d_{0}

由定理1:

\left ( -1 \right )^{i}d_{k-i}=\left ( -1 \right )^{k-(k-i)}\sum_{1 \le j_{1} \le j_{2} \le \hdots j_{k-i}\le k} det \begin{pmatrix} j_{1}&j_{2}&\hdots j_{k-i} \\ j_{1}&j_{2}&\hdots j_{k-i} \end{pmatrix} \quad

故:

d_{k-i}=\sum_{1 \le j_{1} \le j_{2} \le \hdots j_{k-i}\le k} det \begin{pmatrix} j_{1}&j_{2}&\hdots j_{k-i} \\ j_{1}&j_{2}&\hdots j_{k-i} \end{pmatrix} \quad \ge0

\epsilon^{k}+d_{k-1}\epsilon^{k-1}+\hdots+d_{1}\epsilon+d_{0}\epsilon>0时恒正

即推导出任意阶A+\epsilon E的顺序主子式大于0,即A+\epsilon E正定;

故考虑非零实向量\underset{X}{\rightarrow}=\left ( x_{1},x_{2},\hdots x_{n} \right )^{T}:\underset{X}{\rightarrow}^{T}\left ( A+\epsilon E \right )\underset{X}{\rightarrow}>0对任意\epsilon>0恒成立,然而其一定可以看成

关于\epsilon的有限阶多项式,一定在R上连续,令\epsilon从正向趋于0可得\underset{X}{\rightarrow}^{T}\left ( A\right )\underset{X}{\rightarrow} \ge 0

这就证明了A的半正定性

定理2证毕


http://chatgpt.dhexx.cn/article/1cQo6BOU.shtml

相关文章

Zlib库的安装与使用

在实际应用中经常会遇到要压缩数据的问题&#xff0c;常见的压缩格式有zip和rar,而Linux下那就更多了,bz2,gz,xz什么的都有&#xff0c;单单Linux下的解压和压缩命令就有好多呢&#xff1f;没有什么好不好的。查了资料&#xff0c;应该是zlib这个比较简单好用。应用也广&#x…

zlib安装和使用 linux

zlib的安装与使用 zlib是一个很好的压缩解压缩库&#xff0c;今天我们分别介绍如何在Linux与Windows上安装与使用&#xff1a; 一&#xff1a;Linux平台 首先看看自己的机器上是不是已经安装好zlib了&#xff1a; whereis zlib 如果安装好了&#xff0c;会输出zlib的路径&…

zlib开发笔记(一):zlib库介绍、编译和工程模板

若该文为原创文章&#xff0c;转载请注明原文出处 本文章博客地址&#xff1a;https://blog.csdn.net/qq21497936/article/details/111877005 长期持续带来更多项目与技术分享&#xff0c;咨询请加QQ:21497936、微信&#xff1a;yangsir198808 红胖子(红模仿)的博文大全&#x…

zlib包的下载

zlib包下载地址&#xff1a;http://www.zlib.net/ 这里注意很多帖子都是直接给了具体的连接&#xff0c;比如&#xff1a; wget http://www.zlib.net/zlib-1.2.8.tar.gz 然后... 所以&#xff0c;这里不宜生搬硬套&#xff0c;直接去官网上看&#xff0c;源码地址 ... 然后&am…

安装最新版本zlib

官方网址:http://www.zlib.net/ 进入官网看到,如图所示,最新版本为zlib 1.2.11 然后你用wget http://www.zlib.net/zlib 1.2.11或者wget http://www.zlib.net/zlib-1.2.11下载,那你永远下载不了. 嘿嘿,正确的下载方式是wget http://www.zlib.net/zlib-1.2.11.tar.gz 进入…

C++封装zlib库

C封装zlib库 1、zlib简介2、如何下载zlib库源代码3、如何安装zlib库4、zlib代码封装步骤4.1、编写初始化函数4.2、编写压缩、解压函数4.3、编写刷新数据函数 5、结论并附上源代码 1、zlib简介 zlib是提供数据压缩用的函式库&#xff0c;最早是由Jean-loup Gailly与Mark Adler所…

使用zlib库解压文件

下载zlib库源码&#xff1a;http://www.zlib.net/ 编译lib库 选择对应的Visual Studio工程目录打开zlibvc.sln文件&#xff0c;工程设置为Release模式&#xff0c;选中zlibstat项&#xff0c;将预处理器中的ASMINF宏删除&#xff08;重要否则会产生 L_get_length_code_mmx 的崩…

zlib的使用

测试项目目录结构如图 其中zlib源文件放置在libz目录下。 将ZLib源文件编译成静态库 1.在libz-cmake目录下的CMakeLists.txt中编写如下命令&#xff0c;生成静态库。 cmake_minimum_required (VERSION 3.3)project (z)file (GLOB_RECURSE SOURCES ${CMAKE_SOURCE_DIR}/libz/…

【zlib】linux安装zlib

一、zlib zlib适用于数据压缩的函式库&#xff0c;由Jean-oup Gailly(负责compression)和 MarkAdler(负责decompression)开发。 zlib被设计成一个免费的、通用的、法律上不受阻碍&#xff08;即没有被任何专利覆盖)的无损数据压缩库。zib几乎适用于任何计算器硬件和操作系统。…

linux下Zlib的安装与使用

1. zlib简介 zlib 适用于数据压缩的函式库,由Jean-loup Gailly (负责compression)和 Mark Adler (负责decompression)开发。    zlib被设计成一个免费的、通用的、法律上不受阻碍(即没有被任何专利覆盖) 的无损数据压缩库。zlib几乎适用于任何计算器硬件和操作系统。…

zlib开发笔记(二):zlib库介绍、ubuntu平台编译和工程模板

若该文为原创文章&#xff0c;转载请注明原文出处 本文章博客地址&#xff1a;https://blog.csdn.net/qq21497936/article/details/118713737 长期持续带来更多项目与技术分享&#xff0c;咨询请加QQ:21497936、微信&#xff1a;yangsir198808 红胖子(红模仿)的博文大全&…

zlib使用教程

下载zlib http://www.zlib.net/ 编译zlib库 打开sln: zlib-1.2.11\contrib\vstudio\vc12\zlibvc.sln 生成库位置&#xff1a; zlib-1.2.11\contrib\vstudio\vc12\x86\ZlibDllRelease 调用zlib库 添加lib依赖库位置&#xff1a;zlibwapi.lib的文件位置 添加zlibwapi…

zlib库介绍一:zlib简介

目录 1.库简介 2.算法 3.计算资源 4.数据长度 5.业界使用 1.库简介 zlib是一套通用的解压缩开源库&#xff0c;提供了内存&#xff08;in-memory&#xff09;压缩和解压函数&#xff0c;能检测解压出来的数据完整性&#xff0c;由Jean-loup Gailly与Mark Adler所开发。源…

zlib压缩原理

数据压缩的本质 去除数据中的冗余信息&#xff0c;对于ABABABABABABAB字样的字符串&#xff0c;AB出现了7次&#xff0c;占用14个字节&#xff0c;如果将该字符串编码为7AB&#xff0c;只占用3个字节。 为什么需要对数据压缩 数据需要存储或者传输&#xff0c;为了节省磁盘空…

第三方库介绍——zlib库

文章目录 zlib1. zlib库介绍2. zlib库的应用3. 下载地址4. 函数使用教程4.1 compress 与 uncompress4.3 使用过程解析4.2 infate、deflate、z_stream 5. 交叉编译zlib库 zlib 1. zlib库介绍 zlib是一套通用的解压缩开源库&#xff0c;提供了内存&#xff08;in-memory&#x…

Zlib的安装与测试

官方网址:http://www.zlib.net/ 进入官网看到,如图所示,最新版本为zlib 1.2.11 然后你用wget http://www.zlib.net/zlib 1.2.11或者wget http://www.zlib.net/zlib-1.2.11下载,那你永远下载不了. 嘿嘿,正确的下载方式是wget http://www.zlib.net/zlib-1.2.11.tar.gz 进入…

Java多线程(详细了解java多线程机制)

每天进步一点点 一、程序、进程、线程1.1 什么是程序1.2 什么是进程1.3 什么是线程1.4 进程和线程的区别 二、创建线程的三种方式2.1 继承Thread类重写run()方法具体实现获取线程ID和名称修改线程名称 2.2 实现Runnable接口实现run()方法具体实现使用匿名内部类 2.3 实现Callab…

JAVA多线程和并发编程(三)- JAVA多线程信息共享

我们通常希望多个线程之间有信息的通信&#xff0c;而不是每个线程各自run方法执行完就结束了。那么多个线程间如何通信呢&#xff1f; Java中多线程通常通过共享变量进行信息共享。 1&#xff09;使用static变量共享信息&#xff0c;该方法适用于通过继承Thread类创建线程的方…

Java多线程的知识点

&#x1f331;&#x1f331;友友们大家好 我是你们的小王同学啊 今天给大家带来的是 java多线程的知识点 希望大家能支持小王 喜欢就给个三连吧 你们的三连是我制作的动力&#xff01;&#x1f497;&#x1f497; 小王的gitee&#xff1a;小王同学&#x1f370; 小王的github&a…

java线程调度

线程调度分为两种形式 1 分时调度模型: 所有线程轮流获得CPU使用权&#xff0c;平均分配每一个线程的CPU时间片 2 抢占式调度模型: 优先让优先级更高的线程使用CPU&#xff0c;如果线程优先级相同 那机会随机分配优先级 给优先级高的线程更多一些的时间片 而java的分配模式 是…