原文地址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-正的确定矩阵",这个翻译也是耿直,
Positive Definite Matrices 定义为,对称矩阵,并且所有特征值全部大于0
那么我们第一个大问题就是如何确定一个矩阵是不是正定矩阵呢,求特征值肯定是根本方法,定义都说了,对称矩阵,特征值大于0,求出所有特征值,那么自然明朗了,但是有时候我们只需要知道是不是正定矩阵,而不需要知道特征值,这样的话计算代价有点大,我们需要找点别的招数,来避免求特征值。
接下来我们的目标是:
- 找到能快速判断对称矩阵的特征值都是正数
- 正定矩阵的重要应用
2 × 2 2 \times 2 2×2 矩阵
对于 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 是正定的
不定矩阵,正定矩阵,负定矩阵(Indefinite,Positive Definite and Negative Definite)
有正定就应该有负定,零正定(这个没有,0被分配到大于等于0的行列叫做半正定)或者不定矩阵。
- Positive Definite:对称矩阵特征值全部为正数
- Negative Definite:对称矩阵特征值全部为负数
- Indefinite: 特征值有正有负,不定矩阵
- Positive Semidefinite:对称矩阵,特征值大于等于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。
能量基的定义 (Energy-based Definition)
能量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
R T R R^TR RTR
这是一种新的判断正定的方法,通过上面能量的观点
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是正定矩阵。
正定矩阵"五项原则"
总结下我们判断正定的几种方法,他们互相等效,一个成立便可以推出其他所有:
- All n pivots are Positive
- All n upper left determinants are positive
- All n Eigenvalues are Positive
- x T A x x^TAx xTAx is positive except at x = 0 x=0 x=0 This is the energy-based Definition
- A equal R T R R^TR RTR for a Matrix R with independent columns
上面的2我们好像没有证明,左上角的行列式的值总和左上角矩阵的pivot有关系,如果第一个行列式为正(也就是1x1的矩阵,即第一个pivot为正)那么第二个矩阵(2x2)的行列式也为正的话,可以得出第二个pivot也是正的,以此类推,就能得到第一条,所有pivot都是正数,这个可以参考行列式文章Permutation 可以有些启发。
上面的五条基本上可以把线性代数大部分东西全包括进去了,消元,特征值,行列式,子空间,这些都要知道后,才能对上面的五条不存在疑惑,所以直接看本文的同学,不懂往回看。
从正定返回 R T R R^TR RTR
我们回忆一下最初的分解形式
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,针对正定矩阵的一种分解
半正定矩阵 (Positive Semidefinite Matrices)
如果特征值中包含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的特征向量的时候等号成立。
一个应用(First Application: The Ellipse) a x 2 + 2 b x y + c y 2 = 1 ax^2+2bxy+cy^2=1 ax2+2bxy+cy2=1
学习线性代数,从向量开始,我就有一种感觉就是线性代数当矩阵维度是2或者3的时候,应该是和几何有关系的,也就是我们能画出来的这些形状有关而不仅仅是解方程这么简单,线性变换,对图形的作用应该是比较直观的,所以我们来看书上的🌰,关于特征值,特征向量,以及椭圆的:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ssVBF7ql-1592544432896)(https://tony4ai-1251394096.cos.ap-hongkong.myqcloud.com/blog_images/Math-Linear-Algebra-Chapter-6-5/ellipse.png)]
两个椭圆,一个倾斜的,一个立正的,两幅图能够看出下面这些信息:
- The tilted ellipse is associated with A. Its equation is x T A x = 1 x^TAx=1 xTAx=1
- The lined-up ellipse is associated with Λ \Lambda Λ .Its equation is x T Λ x = 1 x^T\Lambda x=1 xTΛx=1
- The rotation matrix that lines up the ellipse is the eigenvector matrix Q
第一个歪的椭圆的方程是:
[
x
y
]
[
5
4
4
5
]
[
x
y
]
=
1
A
=
[
5
4
4
5
]
λ
1
=
9
λ
2
=
1
x
1
=
[
1
1
]
x
2
=
[
1
−
1
]
\begin{bmatrix}x&y\end{bmatrix} \begin{bmatrix}5&4\\4&5\end{bmatrix} \begin{bmatrix}x\\y\end{bmatrix}=1\\ A=\begin{bmatrix}5&4\\4&5\end{bmatrix}\\ \lambda_1=9\\ \lambda_2=1\\ x_1=\begin{bmatrix}1\\1\end{bmatrix}\\ x_2=\begin{bmatrix}1\newline -1\end{bmatrix}
[xy][5445][xy]=1A=[5445]λ1=9λ2=1x1=[11]x2=[1−1]
分解成
A
=
Q
Λ
Q
T
=
1
2
[
1
1
1
−
1
]
[
9
0
0
1
]
1
2
[
1
1
1
−
1
]
A=Q\Lambda Q^T= \frac{1}{\sqrt{2}}\begin{bmatrix}1&1\\1&-1\end{bmatrix} \begin{bmatrix}9&0\\0&1\end{bmatrix} \frac{1}{\sqrt{2}}\begin{bmatrix}1&1\\1&-1\end{bmatrix}
A=QΛQT=21[111−1][9001]21[111−1]
然后把xy弄进去
$$
\begin{bmatrix}x&y\end{bmatrix}
Q\Lambda Q^T
\begin{bmatrix}x\y\end{bmatrix}=
\frac{1}{\sqrt{2}}
\begin{bmatrix}x&y\end{bmatrix}
\begin{bmatrix}1&1\1&-1\end{bmatrix}
\begin{bmatrix}9&0\0&1\end{bmatrix}
\frac{1}{\sqrt{2}}
\begin{bmatrix}1&1\1&-1\end{bmatrix}
\begin{bmatrix}x\y\end{bmatrix}\
\frac{1}{\sqrt{2}}
\begin{bmatrix}x&y\end{bmatrix}
\begin{bmatrix}1&1\1&-1\end{bmatrix}
\begin{bmatrix}9&0\0&0\end{bmatrix}
\frac{1}{\sqrt{2}}
\begin{bmatrix}1&1\1&-1\end{bmatrix}
\begin{bmatrix}x\y\end{bmatrix}\
+
\frac{1}{\sqrt{2}}
\begin{bmatrix}x&y\end{bmatrix}
\begin{bmatrix}1&1\1&-1\end{bmatrix}
\begin{bmatrix}0&0\0&1\end{bmatrix}
\frac{1}{\sqrt{2}}
\begin{bmatrix}1&1\1&-1\end{bmatrix}
\begin{bmatrix}x\y\end{bmatrix}\
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 的时候,这个图形就是个圆,如果有负数特征值,那就变成双曲线了,如果都是负的。。这个我也不知道是啥了(就有虚数部分了,这个我还不懂)
Conclusion
本文主要讲解正定矩阵,最后的应用是最精彩的部分,前面主要是线性代数知识点的大串讲,可能有些不那么详细,大家可以自己再补充一些,到这里线性代数高潮部分已经完成了一大半,完成了下面就是相似矩阵和svd,线性代数基础部分也就算是快结束了,待续。。