title: 线性代数笔记11:正定矩阵理解及推导
tags:
- linear algebra
categories: - linear algebra
date: 2018-04-12 15:55:43
mathjax: true
正定矩阵及半正定矩阵在机器学习和深度学习中有很重要的应用。
引言
- 定义:特征值全是正实数的实对称矩阵为正定矩阵(positive definite matrix)。
- 类似的,若实对称矩阵的特征值均非负,则为半正定矩阵(positive semidefinite matrix)。
可能用到的概念
-
主子式
定义:在 n n n阶行列式中任选 k k k行,再取相应的 k k k列,将行列交汇处元素组成新的矩阵行列式,称为 n n n阶行列式的一个 k k k阶主子式。
-
顺序主子式(the k-th leading principal minor)
定义:在 n n n阶行列式中由第 1 , . . . , k 1,...,k 1,...,k行和第 1 , . . . , k 1,...,k 1,...,k列所确定的主子式称为 k k k阶顺序主子式。直观上看就是矩阵中左上方的子矩阵。
实对称矩阵 A A A正定的充要条件
注意,这里的所有进行判别的矩阵都是实对称矩阵。
以下条件都是判别实对称矩阵是否正定的充要条件。
- A A A的所有特征值 λ i \lambda_i λi均为正。
- x T A x > 0 x^TAx > 0 xTAx>0对所有非零向量 x x x都成立。
- A A A的所有顺序主子式都是正的。
- A A A的所有主元(无行交换)都是正的。
- 存在列满秩矩阵 R R R,使得 A = R T R A=R^TR A=RTR.
- A A A的所有主子式都是正的。
证明
(1) => (2)
对实对称矩阵 A A A,存在正交阵 Q Q Q,使得 A = Q Λ Q R A=Q\Lambda Q^R A=QΛQR。
因此,对任意非零向量 x x x:
x T A x = x T Q Λ Q T x = y T Λ y = λ 1 y 1 2 + . . . + λ n y n 2 > 0 x^TAx = x^TQ\Lambda Q^Tx = y^T\Lambda y=\lambda_1y_1^2 + ... + \lambda_ny_n^2 > 0 xTAx=xTQΛQTx=yTΛy=λ1y12+...+λnyn2>0
其中 y = Q T x = ( y 1 , . . . , y n ) ≠ 0 y = Q^Tx = (y_1,...,y_n) \ne 0 y=QTx=(y1,...,yn)̸=0
(2) => (1)
因为 A A A为实对称矩阵,因此一定可以对角化 A = Q λ Q T A = Q\lambda Q^T A=QλQT
∵ x T A x > 0 ∴ x T Q Λ Q T x > 0 \because x^TAx > 0 \quad \therefore x^TQ\Lambda Q^Tx > 0 ∵xTAx>0∴xTQΛQTx>0
令 y = Q T x y = Q^Tx y=QTx,因此 y Λ y T > 0 ⇒ ∑ λ i y i 2 = 0 y\Lambda y^T > 0\Rightarrow \sum \lambda_iy_i^2 = 0 yΛyT>0⇒∑λiyi2=0
∵ ∀ y ≠ 0 s . t ∑ λ i y i 2 = 0 \because \forall y \ne 0 \quad s.t \quad \sum \lambda_iy_i^2 = 0 ∵∀y̸=0s.t∑λiyi2=0
λ i = 0 \lambda_i = 0 λi=0
(2) => (3)
由(2) => (1) => d e t ( A ) = λ 1 . . . λ n > 0 det(A) = \lambda_1 ...\lambda_n > 0 det(A)=λ1...λn>0
x T A x = ( x k T 0 ) ( A k ∗ ∗ ∗ ) ( x k 0 ) = x k T A x k > 0 x^TAx = \begin{pmatrix}x_k^T & 0\end{pmatrix}\begin{pmatrix}A_k &* \\ * & *\end{pmatrix} \begin{pmatrix}x_k\\0 \end{pmatrix} = x^T_k A x_k > 0 xTAx=(xkT0)(Ak∗∗∗)(xk0)=xkTAxk>0
∴ d e t ( x k T ) d e t ( A k ) d e t ( k k ) = d e t ( A k ) > 0 \therefore det (x_k^T)det(A_k)det(k_k) = det(A_k) > 0 ∴det(xkT)det(Ak)det(kk)=det(Ak)>0
(3) => (4)
顺序主子式与主元有直接关系,第 k k k个主元:
d k = d e t ( A k ) d e t A k ( k − 1 ) > 0 d_k = \frac{det(A_k)}{detA_k(k-1)} > 0 dk=detAk(k−1)det(Ak)>0
其中 A k A_k Ak是第 k k k个顺序主子矩阵(the k-th leading principal submatrix)。
(4) => (2)
由对称矩阵的Gauss消元法得LDU分解: A = L D L T A = LDL^T A=LDLT,其中对角阵的对角元为 A A A的主元:
D = d i a g ( d 1 , . . . , d n ) D = diag (d_1,...,d_n) D=diag(d1,...,dn)
则对任意非零向量:
x T A x = x T L D L T x = y T D y = d 1 y 1 2 + . . . + d n y n 2 > 0 x^TAx = x^TLDL^Tx = y^TDy = d_1y_1^2 + ...+ d_ny_n^2> 0 xTAx=xTLDLTx=yTDy=d1y12+...+dnyn2>0
(2) => (5)
A = L D L T = L D D L T = ( D L T ) T ( D L T ) = R T R A = LDL^T = L\sqrt {D} \sqrt {D} L^T = ( \sqrt {D} L^T)^T ( \sqrt {D} L^T) = R^TR A=LDLT=LDDLT=(DLT)T(DLT)=RTR
(5) => (2)
设 A = R T R A = R^TR A=RTR,则对任意非零向量 x x x:
x T A x = x T R T R x = ( R x ) T ( R x ) = ∣ ∣ R x ∣ ∣ 2 > 0 x^TAx = x^TR^TRx = (Rx )^T(Rx) = ||Rx||^2 > 0 xTAx=xTRTRx=(Rx)T(Rx)=∣∣Rx∣∣2>0
(6) => (2)
(6) => (3) => (2)
(2) => (6)
对 k k k阶主子矩阵 A i 1 , . . . , i k A_{i1,...,ik} Ai1,...,ik,任取 x = ( x 1 , . . . , x n ) ≠ 0 x = (x_1,...,x_n) \ne 0 x=(x1,...,xn)̸=0,使其除 x i 1 , . . . , x i k x_{i1},...,x_{ik} xi1,...,xik的其余分量全为0,则
x T A x = ( x i 1 , . . . , x i k ) A i 1 , . . . i k ( x i 1 . . . x i k ) > 0 x^TAx = (x_{i1},...,x_{ik})A_{i1,...ik}\begin{pmatrix}x_{i1}\\... \\ x_{i_k}\end{pmatrix} > 0 xTAx=(xi1,...,xik)Ai1,...ik⎝⎛xi1...xik⎠⎞>0
∴ d e t ( A i 1 , . . . i k ) > 0 \therefore det (A_{i1,...ik}) > 0 ∴det(Ai1,...ik)>0
判断
因此,我们可以用以上充要条件来判断矩阵是否正定。常用的判断方法有:
- 看顺序主子式是否都大于0
- Gauss消元后主元是否都大于0
- 看特征值是否都大于0
- 找任意一个向量计算 x T A x x^TAx xTAx是否大于0
- 找 A = L D L T A = LDL^T A=LDLT分解,看 R = D L T R = \sqrt {D} L^T R=DLT是否满秩
正定矩阵的常见性质
-
设 A , B A,B A,B为正定矩阵,则 A + B A+B A+B也为正定矩阵。
-
设 A A A为正定矩阵,则存在矩阵C,使得 A = C 2 A = C^2 A=C2。
证明: A A A为正定矩阵,则存在正交矩阵 Q Q Q,使得:
A = Q Λ Q T = ( Q Λ Q T ) ( Q Λ Q T ) = C 2 A = Q\Lambda Q^T = (Q\sqrt{\Lambda}Q^T) (Q\sqrt{\Lambda}Q^T) = C^2 A=QΛQT=(QΛQT)(QΛQT)=C2
-
设 A A A为正定矩阵,则矩阵 A 2 A^2 A2和 A − 1 A^{-1} A−1也正定。
-
设 A A A为正定矩阵,矩阵 C C C可逆,则 B = C T A C B = C^TAC B=CTAC也正定。
半正定矩阵
充要条件
- A A A的所有特征值 λ i \lambda_i λi均非负。
- x T A x ≥ 0 x^TAx \ge 0 xTAx≥0对所有向量 X X X成立。
- 存在矩阵 R R R,使得 A = R T R A =R^TR A=RTR( R R R可能不是可逆阵)。
- A A A的所有主子式均非负。(注意,不是所有顺序主子式)