当前位置: 首页 > article >正文

【线性代数】正定矩阵,二次型函数

本文主要介绍正定矩阵,二次型函数,及其相关的解析证明过程和各个过程的可视化几何解释(深蓝色字体)。

非常喜欢清华大学张颢老师说过的一段话:如果你不能用可视化的方式看到事情的结果,那么你就很难对这个事情有认知,认知就是直觉,解析的东西可以让你理解,但未必能让你形成直觉,因为他太反直觉了。

正定矩阵

定义

给定一个大小为 n×n 的实对称矩阵 A ,若对于任意长度为 n 的非零向量 X,有X^{T}AX>0 恒成立,则矩阵 A是一个正定矩阵。

推荐文章:如何理解正定矩阵和半正定矩阵 - marsggbo - 博客园 (cnblogs.com)

正定矩阵有什么用

给定一个多元二次函数:f(x)=(x_{1}-x_{2})^{2}+2x_{1}+x_{2}+3

写成矩阵的形式:f(x)=\begin{bmatrix} x_{1} & x_{2} \end{bmatrix}\begin{bmatrix} 1 &-1 \\-1 &1 \end{bmatrix}\begin{bmatrix} x_{1}\\ x^{_{2}} \end{bmatrix}+\begin{bmatrix} 2 &1 \end{bmatrix}\begin{bmatrix} x_{1}\\ x_{2} \end{bmatrix}+3

一个二次函数的一般形式是:f(x)=\frac{1}{2}x^{T}Ax+b^{T}x+c

它的一阶导\forall f(x)=Ax+b  二阶导\forall ^{2}f(x)=A,它的二阶导就是这个二次型的矩阵A。

可视化:如果A是正定的,那么f(x)就是一个严格的凸函数(如图1),那么f(x)的极小值就是最小值,就是全局的最小值。此时最小化f(x)就等价于解一个线性方程组minimize.f(x)\ll =\gg Ax+b=0。在优化算法和机器学习中是一个非常重要的性质,可以避免我们得到的驻点但不是全局最小值的情况,如果A不是正定的,那么f(x)就不是严格的凸函数(如图2、图3)。最小化f(x)时就会很麻烦。

图1
图2
图3

正定矩阵的判定

一、验证定义

x^{T}Ax>0,\forall x\epsilon R^{n},x\neq 0 

此方法在运算过程中可能会涉及到配方换元等,不方便,几乎不采用此方法。

可视化:从定义可知,任意一个向量x经A的变换后,再与x做点积,结果大于0,说明x经过A的变换后它与原x的夹角是小于90°的。这也正好正定矩阵对应名字中“正”的粗略含义,并没有翻折等负的操作。

二、验证特征值都大于0

对于对称矩阵,特征值都大于0与矩阵正定是等价的。证明如下:

(1)A正定,验证特征值都大于0:

取x为特征向量,则x^{T}Ax=x^{T}(\lambda x)=\lambda x^{T}x>0,其中x^{T}x=x_{1}^{2}+...+x_{n}^{2}>0,所以\lambda>0

(2)特征值都大于0,验证A正定:

因为A是实对称阵,给A做一个正交相似对角化x^{T}Ax=x^{T}Q^{T}\Lambda Qx=(Qx)^{T}\Lambda (Qx)>0,其中Qx\neq 0\Lambda =diag(\lambda _{1},...,\lambda _{n}),\lambda都大于0.

要计算所以特征值比较麻烦,此方法用的少。

可视化:先说明对特征值的理解,正的特征值是这个变换在特征向量方向上的拉伸,并没有翻转。而对称矩阵的特征向量是正交的,在没有翻转的情况下,变换前后的向量不可能夹角大于90°,所以矩阵特征值都大于0时,矩阵就是正定的。

三、验证各阶主子式的行列式都大于0

各阶主子式的行列式都大于0与矩阵正定是等价的。证明如下:

(1)A正定,验证各阶主子式的行列式都大于0

(2)各阶主子式都大于0,验证A正定

可视化:行列式的几何意义是变换前后高维“体积”缩放的倍数,而特征值的几何意义是变换前后在某个方向缩放的倍数,故矩阵的行列式等于矩阵所以特征值的乘积,矩阵的行列式为正,说明矩阵特征值全为正或有偶数个负,但如果矩阵的各阶主子式都大于0,那么矩阵的特征值就全为正的。理由:n维矩阵的n-1阶主子式的特征值为(n-1)个,这(n-1)个特征值为原n维矩阵的n个特征值中的(n-1)个向(n-1)维做投影,其正负属性不变,所以当如果矩阵的各阶主子式都大于0,那么矩阵的特征值就全为正的,矩阵正定。

二次型函数

圆锥曲线判别式

对于二次型函数f(x,y)=ax^{2}+2bxy+cy^{2}=\begin{bmatrix} x & y \end{bmatrix}\begin{bmatrix} a &b \\ b &c \end{bmatrix}\begin{bmatrix} x\\ y \end{bmatrix}

a>0时,ac-b^{2}>0,则矩阵为正定矩阵,二次型函数为正定函数(如图4)

a>0时,ac-b^{2}<0,则矩阵为不定矩阵,二次型函数为不定函数(如图5)

a<0时,ac-b^{2}<0,则矩阵为不定矩阵,二次型函数为不定函数(如图6)

a<0时,ac-b^{2}>0,则矩阵为负定矩阵,二次型函数为负定函数(如图7)

ac-b^{2}=0,则矩阵为半正定矩阵,二次型函数为半正定定函数(如图8)

图4
图5
图6
图7
图8

图4:f(x,y)=2x^{2}+2xy+4y^{2},       \begin{bmatrix} a & b\\ b & c \end{bmatrix}=\begin{bmatrix} 2 &1 \\ 1 &4 \end{bmatrix}          ,正定,矩阵特征值都为正

图5:f(x,y)=2x^{2}+8xy+4y^{2},       \begin{bmatrix} a & b\\ b & c \end{bmatrix}=\begin{bmatrix} 2 &4 \\ 4&4 \end{bmatrix}          ,不定,矩阵特征值一正一负

图6:f(x,y)=-2x^{2}-8xy+4y^{2},   \begin{bmatrix} a & b\\ b & c \end{bmatrix}=\begin{bmatrix} -2 &-4 \\ -4 &4 \end{bmatrix}   ,不定,矩阵特征值一正一负

图7:f(x,y)=-2x^{2}+2xy-4y^{2} ,   \begin{bmatrix} a & b\\ b & c \end{bmatrix}=\begin{bmatrix} -2 &1 \\ 1 &-4 \end{bmatrix}   ,负定,矩阵特征值都为负

图8:f(x,y)=2x^{2}+4xy+2y^{2}    ,   \begin{bmatrix} a & b\\ b & c \end{bmatrix}=\begin{bmatrix} 2 &2 \\ 2 &2 \end{bmatrix}          ,半正定,矩阵特征值含0

合同变换,正交变换

对于二次型函数f(x,y)=2x^{2}+2bxy+4y^{2}=\begin{bmatrix} x & y \end{bmatrix}\begin{bmatrix} 2 &b \\ b &4 \end{bmatrix}\begin{bmatrix} x\\ y \end{bmatrix} 中的矩阵\begin{bmatrix} 2 &b \\ b & 4 \end{bmatrix}

(1)当b=0时,矩阵变为对角矩阵\begin{bmatrix} 2 &0 \\0 & 4 \end{bmatrix} ,特征向量为(1,0)和(0,1),特征值为2和4。画出图形为:

(2)当b\neq 0时,特征向量为(\frac{b}{1-\sqrt{b^{2}+4}},1)(\frac{b}{1+\sqrt{b^{2}+4}},1),特征值为3-\sqrt{b^{2}+4}3+\sqrt{b^{2}+4}

逐渐增大或减小b(保持在矩阵为正定矩阵的情况下),画出特征向量所在的直线和二次型函数图形:

b=-2
b=-1

b=1
b=2

可知矩阵特征向量的方向即为二次型函数旋转到的方向。正定矩阵为对称矩阵,对其进行谱分解A=Q^{T}\Lambda QQ为特征向量构成的矩阵,\Lambda为特征值组成的对角矩阵。则可知二次型函数都是将标准二次型函数旋转-缩放-再旋转变换得来的。


http://www.kler.cn/news/295114.html

相关文章:

  • IOS 21 发现界面(UITableView)单曲列表(UITableView)实现
  • Java项目: 基于SpringBoot+mybatis+maven学科竞赛管理系统(含源码+数据库+毕业论文)
  • 0x06 记录一次挖src的经历(xss漏洞)
  • 【机器人工具箱Robotics Toolbox开发笔记(十六)】SCARA机器人关节空间轨迹规划仿真实例
  • 分类与回归的区别
  • JavaScript 根据关键字匹配数组项
  • C++(一)----C++基础
  • Linux中的Vim文本编辑器
  • 【Spring】获取cookie,session,header(3)
  • 有限体积法:基于一维稳态扩散问题及其程序实现
  • sping boot 基于 RESTful 风格,模拟增删改查操作
  • 【全网最全】2024年数学建模国赛A题30页完整建模文档+17页成品论文+保奖matla代码+可视化图表等(后续会更新)
  • 使用LSTM(长短期记忆网络)模型预测股票价格的实例分析
  • 复旦大学王龑团队发布《静态与动态情感的面部表情识别》综述
  • 漫谈设计模式 [5]:建造者模式
  • 通用内存快照裁剪压缩库Tailor介绍及源码分析(一)
  • ubuntu安装maven
  • C++可以被重载的操作符Overloadable operators
  • SpringBoot 依赖之 Spring for RabbitMQ
  • LabVIEW如何确保采集卡稳定运行
  • 基于SSM+Vue+MySQL的可视化高校公寓管理系统
  • 【Qt笔记】QUndoView控件详解
  • 大数据开发职场:理性分析拖延
  • box64 安装
  • 开源模型应用落地-LlamaIndex学习之旅-LLMs-集成vLLM(二)
  • [Linux]:环境变量与进程地址空间
  • Python中的私有属性与方法:解锁面向对象编程的秘密
  • django ubuntu 踩坑集锦
  • jmeter之TPS计算公式
  • Kafka命令