对比与详解:QR 分解、奇异值分解(SVD)与 Schur 分解及其他可产生正交基的方法

对比与详解:QR 分解、奇异值分解(SVD)与 Schur 分解及其他可产生正交基的方法

在数值线性代数与矩阵分析中,常见的能产生正交(或酉)矩阵的分解方法包括 QR 分解奇异值分解(SVD)Schur 分解 等。这些方法虽然都会产生一个(或多个)正交矩阵,但它们在适用范围、分解形式、计算重点和应用场景等方面各不相同。本文将尽量对这些分解方法进行系统地介绍与对比。


1. 正交矩阵(Orthogonal / Unitary)与正交基

1.1 定义

  • 正交矩阵(Orthogonal Matrix)
    在实数域 R \mathbb{R} R 上,若 Q Q Q 是一个 n × n n\times n n×n 矩阵并满足
    Q T Q = I ⟺ Q T = Q − 1 , Q^T Q = I \quad \Longleftrightarrow \quad Q^T = Q^{-1}, QTQ=IQT=Q1,
    则称 Q Q Q 为正交矩阵。其列向量(和行向量)彼此正交且范数为 1。

  • 酉矩阵(Unitary Matrix)
    在复数域 C \mathbb{C} C 上,正交矩阵的概念推广为酉矩阵,若 U U U 满足
    U ∗ U = I ⟺ U ∗ = U − 1 , U^* U = I \quad \Longleftrightarrow \quad U^* = U^{-1}, UU=IU=U1,
    则称 U U U 为酉矩阵。这里 U ∗ U^* U 表示复共轭转置(又记作 U † U^\dagger U U ‾ T \overline{U}^T UT)。

在很多文献中,若不特别指明实数或复数,我们常将“正交矩阵”和“酉矩阵”都笼统地称为“正交(或酉)矩阵”。

1.2 正交(酉)基

一个 n n n 维向量空间(实数或复数)中,一组向量若两两正交并且每个向量范数为 1,则称这组向量为一组 标准正交(正交规范)基。在数值线性代数中,经常希望通过某种分解把矩阵关联到一个正交(或酉)矩阵,以获得正交基的好处,比如数值稳定性、简化运算、方便几何解释等。


2. QR 分解(QR Decomposition)

2.1 定义与形式

对于一个 m × n m \times n m×n 的实矩阵 A A A(假设 m ≥ n m \ge n mn),QR 分解是指将 A A A 分解为
A = Q   R , A = Q\,R, A=QR,
其中:

  1. Q Q Q 是一个 m × m m \times m m×m 的正交矩阵,或者在有些场合可取 m × n m \times n m×n 的“薄”正交矩阵,使得其列向量相互正交。
  2. R R R 是一个 m × n m \times n m×n 的上三角矩阵(如果取的是薄形式,则可视为前 n × n n \times n n×n 块为上三角,剩余行为 0)。

在更常见的实用形式中,若 A A A 列满秩,则可写为:
A = Q [ R 0 ] , A = Q \begin{bmatrix} R \\ 0 \end{bmatrix}, A=Q[R0],
其中 Q Q Q m × m m \times m m×m 的正交矩阵, [ R 0 ] \begin{bmatrix}R \\ 0\end{bmatrix} [R0] 则是 m × n m \times n m×n 矩阵,只有前 n × n n \times n n×n 区域为上三角 R R R 而下面为 0。

2.2 利用正交基的思路

由于 Q Q Q 的列向量构成一个正交基,因此在 QR 分解中,

  • 矩阵 Q Q Q 的前 n n n 列可作为 A A A 列空间( C o l ( A ) \mathrm{Col}(A) Col(A))的正交基。
  • R R R 则为上三角系数矩阵,包含了对应的线性组合权重。

2.3 Gram-Schmidt 过程(一个常见构造 QR 的方法)

一个经典的构造 QR 分解的思路是 Gram-Schmidt 正交化。令矩阵 A = [   a 1 , a 2 , … , a n ] A = [\,a_1, a_2, \dots, a_n] A=[a1,a2,,an] 的列为 { a 1 , a 2 , … , a n } \{a_1,a_2,\dots,a_n\} {a1,a2,,an},我们依次构造一组正交向量 { u ^ 1 , u ^ 2 , … , u ^ n } \{\hat{u}_1,\hat{u}_2,\dots,\hat{u}_n\} {u^1,u^2,,u^n},然后归一化得到正交规范向量 { q 1 , q 2 , … , q n } \{q_1,q_2,\dots,q_n\} {q1,q2,,qn}
具体算法如下(经典形式):

  1. 初始步:
    u ^ 1 = a 1 , q 1 = u ^ 1 ∥ u ^ 1 ∥ . \hat{u}_1 = a_1, \quad q_1 = \frac{\hat{u}_1}{\|\hat{u}_1\|}. u^1=a1,q1=u^1u^1.

  2. k k k 步 ( 2 ≤ k ≤ n 2 \le k \le n 2kn):
    u ^ k    =    a k    −    ∑ j = 1 k − 1 ⟨ a k ,   q j ⟩   q j \hat{u}_k \;=\; a_k \;-\;\sum_{j=1}^{k-1} \langle a_k,\, q_j \rangle \, q_j u^k=akj=1k1ak,qjqj
    q k = u ^ k ∥ u ^ k ∥ . q_k = \frac{\hat{u}_k}{\|\hat{u}_k\|}. qk=u^ku^k.

于是得到 Q = [   q 1 , q 2 , … , q n ] Q = [\,q_1,q_2,\dots,q_n] Q=[q1,q2,,qn],而上三角矩阵 R R R 的元素可由内积求得:
R j k = ⟨ a k ,   q j ⟩ , ( 1 ≤ j ≤ k ≤ n ) . R_{jk} = \langle a_k,\, q_j\rangle, \quad (1 \le j \le k \le n). Rjk=ak,qj,(1jkn).

在数值算法中,更稳定常用 修正 Gram-SchmidtHouseholder 变换Givens 旋转 等方法来实现 QR 分解。

2.4 主要用途与特点

  1. 求解最小二乘问题:若要解 min ⁡ x ∥ A x − b ∥ \min_x \|A x - b\| minxAxb,做 A = Q R A=QR A=QR 后,可将问题转化为等价的 min ⁡ x ∥ R x − Q T b ∥ \min_x \|R x - Q^T b\| minxRxQTb,再使用回代求解,数值稳定性良好。
  2. 正交投影 Q Q Q 提供的列空间自然地定义了投影算子 P = Q Q T P=Q Q^T P=QQT
  3. QR 算法:特征值算法中会迭代使用 QR 分解(“QR 迭代”)来逼近特征值。
  4. 适用于矩形矩阵,对任何列满秩的 m × n m \times n m×n 矩阵都能做分解;但 并不 直接给出特征值或奇异值信息。

3. 奇异值分解(SVD, Singular Value Decomposition)

3.1 定义与形式

奇异值分解是最具“普适性”的分解之一。对 任意 m × n m \times n m×n 矩阵 A A A,无论是否方阵,都存在 SVD。形式如下(在实数域):
A = U   Σ   V T , A = U\,\Sigma\,V^T, A=UΣVT,
在复数域则为
A = U   Σ   V ∗ , A = U\,\Sigma\,V^*, A=UΣV,
其中:

  • U U U m × m m \times m m×m 的正交(或酉)矩阵,列向量 { u i } \{u_i\} {ui} 称为 左奇异向量
  • V V V n × n n \times n n×n 的正交(或酉)矩阵,列向量 { v i } \{v_i\} {vi} 称为 右奇异向量
  • Σ \Sigma Σ m × n m \times n m×n 的对角形(非方时可理解为对角块带 0),对角线上的元素 σ 1 ≥ σ 2 ≥ ⋯ ≥ 0 \sigma_1 \ge \sigma_2 \ge \cdots \ge 0 σ1σ20 称为 奇异值

举例:若 m ≥ n m \ge n mn,则
Σ = [ σ 1 0 σ 2 ⋱ σ n 0 ] m × n . \Sigma = \begin{bmatrix} \sigma_1 & & & 0 \\ & \sigma_2 & & \\ & & \ddots & \\ & & & \sigma_n \\ & & & 0 \\ \end{bmatrix}_{m\times n}. Σ= σ1σ20σn0 m×n.

3.2 从特征值角度理解 SVD

  • 右奇异向量 v i v_i vi A T A A^T A ATA 的特征向量:
    A T A   v i    =    σ i 2   v i . A^T A\,v_i \;=\; \sigma_i^2\,v_i. ATAvi=σi2vi.
  • 左奇异向量 u i u_i ui A A T A A^T AAT 的特征向量:
    A A T   u i    =    σ i 2   u i . A A^T\,u_i \;=\; \sigma_i^2\,u_i. AATui=σi2ui.
  • 对角线上的 σ i \sigma_i σi 即为 λ i \sqrt{\lambda_i} λi ,这里 λ i \lambda_i λi A T A A^T A ATA(或 A A T A A^T AAT)的非负特征值,故称“奇异值”。

3.3 获得正交基与主要用途

  • 双重正交基
    SVD 同时给出两组正交基: U U U 的列向量与 V V V 的列向量分别是 R m \mathbb{R}^m Rm R n \mathbb{R}^n Rn 中的正交基。它们将矩阵 A A A 在行空间、列空间上的结构都描述得很清晰。

  • 低秩近似
    若保留前 k k k 个最大的奇异值及对应的左右奇异向量,就可得最优(在 2 范数或 Frobenius 范数意义下)秩- k k k 近似:
    A ≈ U k   Σ k   V k T , A \approx U_k\,\Sigma_k\,V_k^T, AUkΣkVkT,
    其中 Σ k \Sigma_k Σk 仅保留前 k k k 个奇异值,对应地 U k U_k Uk V k V_k Vk 也取相应列。

  • 主成分分析(PCA)
    数据分析中常把数据矩阵做奇异值分解,用最大奇异值对应的方向来做主成分提取。

  • 伪逆(Moore-Penrose 逆)
    A = U   Σ   V T A = U\,\Sigma\,V^T A=UΣVT,则
    A +    =    V   Σ +   U T , A^+ \;=\; V\,\Sigma^+\,U^T, A+=VΣ+UT,
    其中 Σ + \Sigma^+ Σ+ 是将 Σ \Sigma Σ 中的非零对角元素取倒数并转置得到的矩阵。

3.4 特点对比

  • 计算代价相对较大:SVD 需要大约 O ( m n min ⁡ ( m , n ) ) O(mn\min(m,n)) O(mnmin(m,n)) 的运算量(具体取决于算法和矩阵大小)。
  • 强大的分析工具:同时提供奇异值谱、行列空间的正交基;几乎是最通用的分解方法。
  • 适用任何矩阵:无论方阵、矩形、有无满秩,都能做 SVD。

4. Schur 分解(Schur Decomposition)

4.1 定义与形式

对于 任意 n × n n\times n n×n 方阵 A A A(在复数域 C \mathbb{C} C 上),存在一个 酉矩阵(unitary) Q Q Q 使得
Q ∗   A   Q    =    T , Q^*\,A\,Q \;=\; T, QAQ=T,
其中 T T T 是一个 上三角矩阵(称为 Schur 形式)。这即是 Schur 定理。在实数域上若强行做 Schur 分解,则会引入 2×2 块去表示复共轭特征值对,一般在复数域上表述更简洁。

4.2 特征值与上三角元素的关系

Schur 分解的一个关键点在于,上三角矩阵 T T T 的主对角线元素就是 A A A 的特征值:
T i i = λ i , T_{ii} = \lambda_i, Tii=λi,
故而 Schur 分解在特征值分析中格外重要。进一步,若 A A A 可对角化,则可把 T T T 化为对角矩阵(这时就退化为普通的特征分解);若 A A A 不是可对角化的,也至少能保证上三角形式。

4.3 获得正交(酉)基与应用

  • 正交(酉)基
    Schur 分解告诉我们,存在一个酉矩阵 Q Q Q 使得 A A A 在这个基下为上三角 T T T。于是, Q Q Q 的列向量构成一组正交(酉)基。

  • 特征值算法(QR 迭代)
    在计算特征值时,往往先把 A A A 化为 Hessenberg 矩阵(或上三角),然后反复做 QR 分解迭代,最终收敛到 Schur 形式,从而提取特征值。

  • 只适用于方阵
    Schur 分解仅针对方阵,而且一般在复数域上最自然。


5. 其他可能产生正交矩阵的分解

5.1 特征分解(Eigendecomposition)

  • A A A对角化 n × n n\times n n×n 矩阵,则可写
    A = P   D   P − 1 , A = P\,D\,P^{-1}, A=PDP1,
    其中 D D D 为特征值对角矩阵, P P P 的列为特征向量。
  • A A A 进一步是 实对称矩阵(或复 Hermitian 矩阵),则可以用 正交(酉)矩阵 对角化:
    A = Q   Λ   Q T ( 或  A = Q   Λ   Q ∗ , 若是 Hermitian ) , A = Q\,\Lambda\,Q^T \quad (\text{或 } A=Q\,\Lambda\,Q^*, \text{若是 Hermitian}), A=QΛQT( A=QΛQ,若是 Hermitian),
    此时 Q Q Q 提供的即是一组正交特征向量。

5.2 极分解(Polar Decomposition)

对任何矩阵(方阵或矩形),都可写成
A = Q   P , A = Q\,P, A=QP,
其中 Q Q Q 为正交(或酉)矩阵, P P P 为对称正定(或 Hermitian 正定)矩阵。
实际上,极分解与 SVD 有密切关系:若 A = U   Σ   V T A = U\,\Sigma\,V^T A=UΣVT 是其 SVD,则可令
Q = U   V T , P = V   Σ   V T , Q = U\,V^T, \quad P = V\,\Sigma\,V^T, Q=UVT,P=VΣVT,
这样也能得到 A = Q P A = QP A=QP。此时 Q Q Q 同样提供一个正交基。

5.3 Hessenberg 分解

任何 n × n n\times n n×n 方阵都可通过相似变换化为 Hessenberg 形式(只有主对角线下方一条带可非零,其余在更下的部分为 0)。在数值算法里,这个相似变换通常也可选为正交矩阵积,因此也在一定程度上“产生了”一个正交变换。


6. 各分解的本质差异与对比

下表对 QRSVDSchur 分解作一个概括性比较,同时也提及特征分解、极分解等:

分解 适用范围 分解形式 是否一定方阵 正交(酉)矩阵的作用 主要关注点 计算复杂度
QR 分解 任意 m × n m\times n m×n 矩阵 A = Q R A = Q R A=QR (或薄形式 Q [ R ; 0 ] Q [R;0] Q[R;0]) Q Q Q 的列为正交基 最小二乘、正交化、数值稳定 O ( m n 2 ) O(mn^2) O(mn2) 量级(若 m ≥ n m\ge n mn)
SVD 任意 m × n m\times n m×n 矩阵 A = U Σ V T A = U \Sigma V^T A=UΣVT U U U V V V 同为正交基(行/列空间) 奇异值谱、低秩近似、PCA、伪逆 O ( m n min ⁡ ( m , n ) ) O(mn \min(m,n)) O(mnmin(m,n))
Schur 分解 任意 n × n n\times n n×n 方阵(复数) Q ∗ A Q = T Q^* A Q = T QAQ=T (上三角) Q Q Q 列向量为酉基; T T T 对角即特征值 特征值分析、特征值算法 O ( n 3 ) O(n^3) O(n3) (迭代实现)
特征分解 可对角化方阵 / 对称(或Herm.) A = P D P − 1 A = P D P^{-1} A=PDP1;对称时 A = Q Λ Q T A=Q\Lambda Q^T A=QΛQT 对称(或Herm.)时可用正交(酉)对角化 特征值、对称矩阵正交特征向量 一般也是 O ( n 3 ) O(n^3) O(n3)
极分解 任意矩阵(方阵或矩形) A = Q P A = Q P A=QP, P P P 正定 否或是 Q Q Q 为正交/酉矩阵 “幅角-模”分离,与 SVD 密切相关 一般通过 SVD 获得

6.1 正交基的不同之处

  • QR:只在列空间(或行空间)产生一组正交基 ( Q Q Q ),没有奇异值或特征值信息。
  • SVD:同时在行空间与列空间各找一组正交基 ( U U U V V V ),并带有有序奇异值 σ i \sigma_i σi
  • Schur:专注于方阵特征值分析,用酉矩阵 Q Q Q A A A 化为上三角 T T T。对角线即特征值。
  • 特征分解(对称矩阵):同样能得到正交基,并且可把矩阵变为对角形式。
  • 极分解:将矩阵分解为一个正交/酉因子与一个对称正定因子。

6.2 应用场景总结

  1. 最小二乘 / 解方程 / 正交化
    → \rightarrow QR 分解最常用、效率高;SVD 也可用但代价更大。
  2. 降维 / PCA / 最优近似 / 谱分析
    → \rightarrow SVD 是核心工具。
  3. 特征值分析 / 数值特征值算法
    → \rightarrow Schur 分解特征分解、(以及内部用的 QR 迭代 等)。
  4. 对称矩阵 / Hermitian 矩阵
    → \rightarrow 直接使用正交(或酉)对角化(也是 Schur 分解的特例)。
  5. 任何矩阵的进一步分解
    → \rightarrow 极分解可视作 SVD 的一种延伸。

7. 更详细的公式与推导补充

本节列出一些在实现或理解这些分解时常见的重要公式或推导片段。

7.1 Householder 变换(用于 QR 消元)

在实际数值算法中,为了把矩阵 A A A 转为上三角,可以迭代地构造一系列 Householder 反射
H k = I − 2 w k w k T w k T w k , H_k = I - 2\frac{w_k w_k^T}{w_k^T w_k}, Hk=I2wkTwkwkwkT,
其中 w k w_k wk 是经过精心选择的向量,使得用 H k H_k Hk 去乘矩阵某一列,可把特定位置以下的元素变为 0。然后通过有限步反射,就能把 A A A 化为 R R R,最后所有这些反射之积即为 Q T Q^T QT(或 Q Q Q):

Q = ( H 1 H 2 ⋯ H n ) T . Q = \bigl(H_1 H_2 \cdots H_n \bigr)^T. Q=(H1H2Hn)T.

7.2 SVD 中的特征值关系

A A A m × n m\times n m×n,令
A T A ∈ R n × n , A A T ∈ R m × m . A^T A \in \mathbb{R}^{n\times n},\quad A A^T \in \mathbb{R}^{m\times m}. ATARn×n,AATRm×m.
A T A A^T A ATA A A T A A^T AAT 的非零特征值完全相同,并且它们都非负。记这些公共特征值为 σ 1 2 , σ 2 2 , … , σ r 2 \sigma_1^2,\sigma_2^2,\dots,\sigma_r^2 σ12,σ22,,σr2,其中 r = r a n k ( A ) r=\mathrm{rank}(A) r=rank(A)。选对应的特征向量为 v i v_i vi(右奇异向量)与 u i u_i ui(左奇异向量),即
A T A   v i = σ i 2   v i , A A T   u i = σ i 2   u i . A^T A \, v_i = \sigma_i^2 \, v_i, \quad A A^T \, u_i = \sigma_i^2 \, u_i. ATAvi=σi2vi,AATui=σi2ui.
经适当归一化可使得
A   v i = σ i   u i , A\,v_i = \sigma_i\,u_i, Avi=σiui,
再将所有 { u i } , { v i } \{u_i\},\{v_i\} {ui},{vi} 扩展成一组完整正交基,就能组装出 U U U V V V Σ \Sigma Σ 则在对角位置放 σ i \sigma_i σi

7.3 Schur 分解与特征多项式

Schur 分解可视为对“任意方阵都可相似三角化(在复数域上)”这一定理的数值实现。对于 A ∈ C n × n A\in \mathbb{C}^{n\times n} ACn×n,存在可逆的酉矩阵 Q Q Q,使
Q ∗ A Q = T , Q^* A Q = T, QAQ=T,
T T T 上三角(又称 Schur 形式),且对角元就是 A A A 的特征值。若还需要分块对角 2×2 形式处理实数情况下的共轭复数对,则可用 实 Schur 分解

7.4 特征分解(对称矩阵)与正交基

如果 A A A 是实对称矩阵,则有
A = Q   Λ   Q T , A = Q\,\Lambda\, Q^T, A=QΛQT,
其中 Λ \Lambda Λ 是实对角, Q Q Q 正交。每个列向量 q i q_i qi 对应一个特征值 λ i \lambda_i λi,即
A   q i = λ i   q i , λ i ∈ R . A\,q_i = \lambda_i\, q_i, \quad \lambda_i \in \mathbb{R}. Aqi=λiqi,λiR.
这是 Schur 分解的特例,因为实对称矩阵 Schur 分解就是对角实数矩阵(无需上三角带非对角元)。


8. 总结

  1. QR 分解

    • 形式: A = Q R A=QR A=QR
    • 优点:适合解最小二乘、实现快速正交化;算法简单、数值稳定;适用于矩形矩阵。
    • 局限:不直接提供特征值或奇异值。
  2. 奇异值分解(SVD)

    • 形式: A = U Σ V T A=U\Sigma V^T A=UΣVT
    • 优点:适用于任何矩阵;能同时得到行/列空间的正交基;奇异值序列给出矩阵的全局谱信息;用于最佳低秩近似、PCA、伪逆等。
    • 局限:计算量相对大,特别是大规模数据时。
  3. Schur 分解

    • 形式: Q ∗ A Q = T Q^* A Q = T QAQ=T(方阵, T T T 上三角)。
    • 优点:主要用于特征值分析、特征值算法内核;对角元直接是特征值。
    • 局限:仅方阵;不直接给出奇异值;通常在复数域描述最简洁。

所有这几类分解在数值代数中都极为重要,它们从不同视角揭示了矩阵结构,且都能在某种意义上“产生活用的正交基”。根据具体需求(最小二乘、降维、特征值、正交化等),我们会选择不同的分解方法。


你可能感兴趣的:(机器学习,人工智能,信号处理,算法,矩阵,信息与通信,线性代数)