原文地址1:https://www.face2ai.com/Math-Linear-Algebra-Chapter-6-5转载请标明出处
Abstract: 关于正定矩阵的相关知识总结,正定矩阵在数学中的一个应用
Keywords: Positive Definite Matrices,Symmetric Matrices,Eigenvalues,Eigenvectors
正定矩阵,对这个矩阵印象深刻,知道学了这节以后,才知道,正定矩阵就是"Positive Definite Matrices-正的确定矩阵",这个翻译也是耿直,
Positive Definite Matrices 定义为,对称矩阵,并且所有特征值全部大于0
那么我们第一个大问题就是如何确定一个矩阵是不是正定矩阵呢,求特征值肯定是根本方法,定义都说了,对称矩阵,特征值大于0,求出所有特征值,那么自然明朗了,但是有时候我们只需要知道是不是正定矩阵,而不需要知道特征值,这样的话计算代价有点大,我们需要找点别的招数,来避免求特征值。
接下来我们的目标是:
对于 A = [ a b b c ] A=\begin{bmatrix}a&b\\b&c\end{bmatrix} A=[abbc] 什么情况下特征值是正的呢?因为只有两个特征值,那么我们考虑第一个条件:
但是如果两个复数相乘也是复数,所以引入第二个条件:
2. 两个正数相加,结果是正数
那么如果满足,两个特征值相加是正数,相乘也是正数,那么肯定特征值全部都是正数。
又因为我们已知特征值相乘等于行列式,相加等于trace,那么:
a + c > 0 a n d : a c − b 2 > 0 a+c>0\\ and:\\ ac-b^2>0 a+c>0and:ac−b2>0
就是 2 × 2 2 \times 2 2×2 symmetric Matrices 正定的充分必要条件啦,当然还可以做个简化 a c − b 2 > 0 ac-b^2>0 ac−b2>0 中如果 a > 0 a>0 a>0 和上面的式子等效:
a > 0 a n d : a c − b 2 > 0 a>0\\ and:\\ ac-b^2>0 a>0and:ac−b2>0
注意关联词哦是and两个必须同时发作,那么这个条件才算是成功了.举两个计算的。
A 1 = [ 1 2 2 1 ] a c − b 2 = 1 − 4 < 0 A 2 [ 1 − 2 − 2 6 ] a c − b 2 = 6 − 4 > 0 a = 1 > 0 A_1=\begin{bmatrix}1&2\\2&1\end{bmatrix}\;\;ac-b^2=1-4<0\\ A_2\begin{bmatrix}1&-2\newline -2&6\end{bmatrix}\;\;ac-b^2=6-4>0\;\;a=1>0 A1=[1221]ac−b2=1−4<0A2[1−2−26]ac−b2=6−4>0a=1>0
结论
A 1 A_1 A1 不是正定的
A 2 A_2 A2 是正定的
有正定就应该有负定,零正定(这个没有,0被分配到大于等于0的行列叫做半正定)或者不定矩阵。
正定也好不正定也好,我们可以现在想一想在空间上的操作到底是个什么鬼:
学习对称矩阵,我们一直在研究的是对角化,对角化作为一种分解方式和LU,QR等有着相同的身份,但是从书籍上的讲解篇幅和教授描述,都要比LU,QR更具体更深入,所以,对角化应该更有市场,我们接下来就从对角化来说说正定矩阵A:
A = S Λ S − 1 Q = S A = Q Λ Q − 1 A=S\Lambda S^{-1}\\ Q=S\\ A=Q\Lambda Q^{-1} A=SΛS−1Q=SA=QΛQ−1
这个是上上上一篇讲述的,但是上一篇有一个惊天的秘密可以足够清晰的帮我们研究正定矩阵,也就是当对称矩阵A和一个向量相乘的时候,从空间的角度来讲,这个向量被投影到了A的列空间,但A的列空间和特征向量的空间不一致(特征向量可能比A的列向量维度大,因为当A存在0特征值的时候,相当于给自己降维了,也就是A是全体特征向量的子空间),那么现在:
u = c 1 q 1 + c 2 q 2 + ⋯ + c n q n = Q c A = Q Λ Q − 1 A u = Q Λ Q − 1 Q c = Q Λ ( Q − 1 Q ) c = Q Λ ( Q − 1 Q ) c = Q Λ c Q Λ c = [ q 1 … q n ] [ λ 1 ⋱ λ n ] [ c 1 ⋮ c n ] = c 1 λ 1 q 1 + ⋯ + c n λ n q n u=c_1q_1+c_2q_2+\dots +c_nq_n=Qc\\ A=Q\Lambda Q^{-1}\\ Au=Q\Lambda Q^{-1}Qc=Q\Lambda (Q^{-1}Q)c=Q\Lambda (Q^{-1}Q)c=Q\Lambda c\\ Q\Lambda c= \begin{bmatrix}&&\\q_1&\dots &q_n\\&&\end{bmatrix} \begin{bmatrix}\lambda_1&&\\&\ddots &\\&&\lambda_n\end{bmatrix} \begin{bmatrix}c_1\\\vdots \\c_n\end{bmatrix}= c_1\lambda_1 q_1+\dots +c_n\lambda_n q_n u=c1q1+c2q2+⋯+cnqn=QcA=QΛQ−1Au=QΛQ−1Qc=QΛ(Q−1Q)c=QΛ(Q−1Q)c=QΛcQΛc=⎣⎡q1…qn⎦⎤⎣⎡λ1⋱λn⎦⎤⎣⎢⎡c1⋮cn⎦⎥⎤=c1λ1q1+⋯+cnλnqn
看到什么了?老铁们,一个向量乘以一个对称矩阵,相当于把这个向量以特征向量们为基,然后长度伸缩特征值倍,不改变方向且没有0的是正定矩阵,有0的是半正定,这时候有些方向上的长度被消灭了,也就是说向量分解到特征向量基空间少一维,也就是A并不是满空间的,也就是singular矩阵,和前面的0正好对应,如果有正有负,那就是瞎搞了,哈哈哈哈。
Negative Definite, Indefinite的就不说了,后面会有一个section专门讲Positive Semidefinite。
能量based的定义,能量一般都是正的,所以这个和正定矩阵有关系也不那么令人惊讶,从源头看 A x = λ x Ax=\lambda x Ax=λx 是一个矩阵的特征值和特征向量,如果我们在这两边同时乘上点什么:
x T A x = x T λ x = λ x T x x T x = ∣ x ∣ 2 ≥ 0 x^TAx=x^T\lambda x=\lambda x^Tx\\ x^Tx=|x|^2 \geq 0 xTAx=xTλx=λxTxxTx=∣x∣2≥0
特征向量都是非零向量所以上面等号在特征向量前提下永不成立,那么也就是只要保证 x T A x > 0 x^TAx>0 xTAx>0 那么就有 λ > 0 \lambda >0 λ>0 得出矩阵可能是正定的,然后检验所有特征向量,这个工作量也有点大,根据其他一些应用,这里提出一个新的定义,关于能量的 x T A x x^TAx xTAx 表示一个系统的能量,其必须大于0.也就是说对于一个矩阵,其能量为正,这个矩阵定义为正定矩阵。
上面这个是定义正定矩阵的一个方法,也就是说了一个有点实际意义的定义,而不是上来拿枪指着你,说,“小子,特征值大于0的对称矩阵就是正定矩阵,说不行打死你”,所以这种定义在应用中出现的时候,要想到正定矩阵就好。
上一篇有一块介绍pivot和Eigenvalue之间的关系,他们的符号是相同的,也可以测试 x T A x x^TAx xTAx是正是负。
Definition: A is positive definite if x T A x > 0 x^TAx>0 xTAx>0 for every nonzero vector x:
x T A x = [ x y ] [ a b b c ] [ x y ] = a x 2 + 2 b x y + c y 2 > 0 x^TAx= \begin{bmatrix}x&y\end{bmatrix} \begin{bmatrix}a&b\\b&c\end{bmatrix} \begin{bmatrix}x\\y\end{bmatrix}=ax^2+2bxy+cy^2>0 xTAx=[xy][abbc][xy]=ax2+2bxy+cy2>0
这个就是能量观点下定义的完整写法,如果理解了这个过程也就对这个形式没什么困惑了,我记得我之前是老师说,来,把这个公式记住。。。
a x 2 + 2 b x y + c y 2 ax^2+2bxy+cy^2 ax2+2bxy+cy2 是一个碗的形状,当然xy都不是零的时候。
根据能量观点可以得到正定矩阵的可加性,也就是规模相同的两个正定矩阵,相加也是正定的,证明过程如下,假设其中A,B规模相同,切都是正定的:
C = A + B x T A x > 0 x T B x > 0 x T ( A x + B x ) = x T ( A + B ) x = x T C x > 0 C=A+B\\ x^TAx>0\\ x^TBx>0\\ x^T(Ax+Bx)=x^T(A+B)x=x^TCx>0 C=A+BxTAx>0xTBx>0xT(Ax+Bx)=xT(A+B)x=xTCx>0
QED
这是一种新的判断正定的方法,通过上面能量的观点 x T A x x^TAx xTAx 延伸,出如果能把A分解成一个矩阵和矩阵的转置相乘的形式,那么就能得到 ( R x ) T ( R x ) (Rx)^T(Rx) (Rx)T(Rx) 的形式 那么这个形式下,如果 R x ≠ 0 Rx\neq 0 Rx=0 必然其结果大于0( R x Rx Rx 是一个向量,所以 ( R x ) T ( R x ) (Rx)^T(Rx) (Rx)T(Rx) 就变成了 ∣ R x ∣ |Rx| ∣Rx∣ 是一个长度)那么如果我们假设必然存在R,那么R要满足什么条件呢? R x ≠ 0 Rx\neq 0 Rx=0 就是条件,对于所有非0向量,也就是R的Nullspace只有0向量,也就是R的列必须相互独立,这也是唯一的条件,如果矩阵能分解成 A = R T R A=R^TR A=RTR 的形式,R的列线性独立,那么A正定。
反过来也是正确的,如果矩阵R各列线性独立,那么 A = R T R A=R^TR A=RTR A是正定矩阵。
总结下我们判断正定的几种方法,他们互相等效,一个成立便可以推出其他所有:
上面的2我们好像没有证明,左上角的行列式的值总和左上角矩阵的pivot有关系,如果第一个行列式为正(也就是1x1的矩阵,即第一个pivot为正)那么第二个矩阵(2x2)的行列式也为正的话,可以得出第二个pivot也是正的,以此类推,就能得到第一条,所有pivot都是正数,这个可以参考行列式文章Permutation 可以有些启发。
上面的五条基本上可以把线性代数大部分东西全包括进去了,消元,特征值,行列式,子空间,这些都要知道后,才能对上面的五条不存在疑惑,所以直接看本文的同学,不懂往回看。
我们回忆一下最初的分解形式 A = L D U A=LDU A=LDU 分解 当A是正定矩阵的时候,我们可以得到 U = L T U=L^T U=LT
所以 A = L D L T A=LDL^T A=LDLT 其中D是对角矩阵,如果给D开个根号是不是很完美,那么前提是D中所有元素都是正的(也就是所有pivots和Eigenvalue都是正的,这里两个概念等价)正定矩阵满足你的需求,所以就可以分解出来:
A = L D ( D L ) T A=L\sqrt{D}(\sqrt{D}L)^T A=LD(DL)T
上面这个是Cholesky Factor,针对正定矩阵的一种分解
如果特征值中包含0 ,那么 x T A x x^TAx xTAx (x是特征向量) 有可能是0,也就是没有能量。并且写成 R T R R^TR RTR的形式。R总是有线性相关的列,具体原因看上面的证明自明,也就是奇异矩阵必然不是正定矩阵,但是可以使半正定矩阵,这个结论还是很欣慰的,并没有把奇异矩阵一棒子打死。
扩展x为任意变量的时候 x T A x ≥ 0 x^TAx\geq 0 xTAx≥0 只有当x为对应于特征值为0的特征向量的时候等号成立。
学习线性代数,从向量开始,我就有一种感觉就是线性代数当矩阵维度是2或者3的时候,应该是和几何有关系的,也就是我们能画出来的这些形状有关而不仅仅是解方程这么简单,线性变换,对图形的作用应该是比较直观的,所以我们来看书上的,关于特征值,特征向量,以及椭圆的:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ssVBF7ql-1592544432896)(https://tony4ai-1251394096.cos.ap-hongkong.myqcloud.com/blog_images/Math-Linear-Algebra-Chapter-6-5/ellipse.png)]
两个椭圆,一个倾斜的,一个立正的,两幅图能够看出下面这些信息:
9(\frac{x+y}{\sqrt{2}})2+1(\frac{x-y}{\sqrt{2}})2
$$
最后一步矩阵计算比较长,这里省略了,中间没有trick,我把分解那步写出来也是为了好看,,结论是正确的,观察上面结果,两个系数居然是特征值,厉害不?不是pivot也不是别人,而是特征值,在两个平方内部,是两组向量 ( 1 , 1 ) (1,1) (1,1) 和 ( 1 , − 1 ) (1,-1) (1,−1) 这个是特征向量,也是椭圆轴的方向,所以当矩阵扩展到多维的时候(还是正定矩阵),的时候所有特征向量是这个超椭圆的所有轴,这也是为什么叫主轴定理的原因啦,不光是主轴,特征值还能表示在主轴方向上的长度,这个也很值得重视,因为方向和长度是向量的两个组成因素。
进一步,我们看看怎么把歪着的椭圆立起来
X = x + y 2 Y = x − y 2 f o r : 9 ( x + y 2 ) 2 + 1 ( x − y 2 ) 2 g e t : 9 X 2 + Y 2 = 1 X=\frac{x+y}{\sqrt{2}}\\ Y=\frac{x-y}{\sqrt{2}}\\ for:\\ 9(\frac{x+y}{\sqrt{2}})^2+1(\frac{x-y}{\sqrt{2}})^2\\ get:\\ 9X^2+Y^2=1 X=2x+yY=2x−yfor:9(2x+y)2+1(2x−y)2get:9X2+Y2=1
那么X最大值是 1 3 \frac{1}{3} 31 ,Y 最大值是 1 1 1 这两个值的得到方法都是 1 λ \frac{1}{\sqrt{\lambda}} λ1 从图上也能看出来,长轴是1对应小的特征值,短轴是 1 3 \frac{1}{3} 31 对应长的特征值。
在xy中,轴的方向沿着A特征向量方向,在XY中是 Λ \Lambda Λ 的特征向量,也就是坐标轴了,数值上看是这样的,从原理上:
[ x y ] Q Λ Q T [ x y ] = [ X Y ] Λ [ X Y ] = λ 1 X 2 + λ 2 Y 2 = 1 \begin{bmatrix}x&y\end{bmatrix} Q\Lambda Q^T \begin{bmatrix}x\\y\end{bmatrix} =\begin{bmatrix}X&Y\end{bmatrix} \Lambda \begin{bmatrix}X\\Y\end{bmatrix}= \lambda_1X^2+\lambda_2Y^2=1 [xy]QΛQT[xy]=[XY]Λ[XY]=λ1X2+λ2Y2=1
xy可以表示一个被线性变换后的坐标表示,当这个坐标被Q投影了以后,就变成了图中正的图形了,可以观察特征值决定了椭圆有多椭,当特征值都是1的时候也就是 Λ = I \Lambda =I Λ=I 的时候,这个图形就是个圆,如果有负数特征值,那就变成双曲线了,如果都是负的。。这个我也不知道是啥了(就有虚数部分了,这个我还不懂)
本文主要讲解正定矩阵,最后的应用是最精彩的部分,前面主要是线性代数知识点的大串讲,可能有些不那么详细,大家可以自己再补充一些,到这里线性代数高潮部分已经完成了一大半,完成了下面就是相似矩阵和svd,线性代数基础部分也就算是快结束了,待续。。