MIT 线性代数 Linear Algebra 17: 正交矩阵和Gram-Schmidt正交化手续

之前我们已经探讨过正交向量和正交space并且探讨了怎么把一个vector投影到一个subspace里。在这一讲里,我们会强化之前的学习,特别的,我们讨论一类特别的矩阵:正交矩阵。当一个subspace的一组基选用正交矩阵时 (即,基之间两两正交且长度均为 1),我们之前的计算将会被大大简化。这是正交矩阵带给我们的好处。

注意,正交矩阵我们叫orthogonal matrix 但是含义是他的列是orthonormal的。

什么是正交矩阵

正交矩阵 Q m × n \bm{Q}_{m\times n} Qm×n 是拥有 orthonormal columns 的矩阵. 假设 Q m × n \bm{Q}_{m\times n} Qm×n 的列是 q 1 \bm{q_1} q1, q 2 \bm{q_2} q2, …, q n \bm{q_n} qn, 则
q i ⊤ q j = { 0 if  i ≠ j 1 if  i = j      ( 1 ) \bm{q_i^\top q_j}=\begin{cases} 0 & \text{if}~i\neq j \\ 1 & \text{if}~i=j \end{cases}~~~~(1) qiqj={01if i=jif i=j    (1)

实际上,正交矩阵的各列就是 R m \mathbb{R}^m Rm 空间中的一个subspace R n \mathbb{R}^n Rn 的一组 orthonormal bases。

正交矩阵有很好的性质:

  • Q ⊤ Q = I n \bm{Q^\top Q=I_n} QQ=In 这从矩阵乘法的定义和 (1) 中很容易看出。
  • Q \bm{Q} Q 是一个方阵时, Q − 1 = Q ⊤ \bm{Q}^{-1}=\bm{Q}^\top Q1=Q

一个简单的例子是 permutation matrices,之前我们就说过 permutation matrix 的 inverse 很好求,就是他自己的转置。这背后的原因是,permutation matrices 本身是正交矩阵。因为它们是单位阵 row exchange 的结果。

正交矩阵带来了什么

好,接下来我们看下 how does the orthogonal matrix make our life easier. Prof. Strang 用的是之前 projection 课程中的例子。

我们之前讲过,如果把一个vector b \bm{b} b 投影到矩阵 A \bm{A} A 的column space上,投影矩阵 P \bm{P} P 和 投影后得到的vector d \bm{d} d
P = A ( A ⊤ A ) − 1 A ⊤ \bm{P}=\bm{A}(\bm{A}^\top\bm{A})^{-1}\bm{A}^\top P=A(AA)1A

d = A ( A ⊤ A ) − 1 A ⊤ b \bm{d}=\bm{A}(\bm{A}^\top\bm{A})^{-1}\bm{A}^\top\bm{b} d=A(AA)1Ab

现在,如果我们假设 A \bm{A} A 是一个正交阵,即我们选取subspace的一组orthonormal basis 组成 A = Q \bm{A=Q} A=Q,则有
P = Q Q ⊤ \bm{P}=\bm{Q}\bm{Q}^\top P=QQ

d = Q Q ⊤ b \bm{d}=\bm{Q}\bm{Q}^\top\bm{b} d=QQb

可以看出计算被大大简化了。而且 Q Q ⊤ \bm{Q}\bm{Q}^\top QQ 确实是一个 projection
matrix,symmetric, P i = P \bm{P}^i=\bm{P} Pi=P 都是满足的。

注意此时 Q Q ⊤ \bm{Q}\bm{Q}^\top QQ 没法继续化简了,除非 Q \bm{Q} Q 是一个方阵 Q Q ⊤ = I \bm{Q}\bm{Q}^\top=\bm{I} QQ=I。这个结论显然正确,因为 Q \bm{Q} Q是一个方阵时,他的column space是整个空间,投影结果还是原来的 d = b \bm{d=b} d=b.

怎样得到正交阵

正交阵确实很好,但是怎么得到正交阵尼?Gram and Schmidt 给出了下面两个processes 让我们从一个列满秩矩阵得到一个正交阵。

假设我们有一个列满秩矩阵 [ a 1 , a 2 , . . . , a n ] ⊤ [\bm{a_1},\bm{a_2}, ..., \bm{a_n}]^\top [a1,a2,...,an] 其中 a i \bm{a_i} ai 是各列.

  • 首先,我们尝试得到一组正交的向量 A 1 , A 2 , . . . , A n \bm{A_1},\bm{A_2}, ..., \bm{A_n} A1,A2,...,An.
  • 然后我们直接对正交向量归一化即可
    q i = A n / ∥ A n ∥ \bm{q_i}=\bm{A_n}/\|\bm{A_n}\| qi=An/An

这些 q i \bm{q_i} qi 便是我们target vectors。

好,难点其实在第一步,怎么由 a 1 , a 2 , . . . , a n \bm{a_1},\bm{a_2}, ..., \bm{a_n} a1,a2,...,an 得到 A 1 , A 2 , . . . , A n \bm{A_1},\bm{A_2}, ..., \bm{A_n} A1,A2,...,An

  1. a 1 \bm{a_1} a1 方向我们不动 A 1 = a 1 \bm{A_1=a_1} A1=a1,从他开始构造其他向量。

  2. a 2 \bm{a_2} a2 的构造方法其实就是把 a 2 \bm{a_2} a2 投影到 a 1 \bm{a_1} a1 上,只不过我们不要投影后的向量 d \bm{d} d, 而是要法向量 A 2 = e = a 2 − d \bm{A_2=e=a_2-d} A2=e=a2d, 因为法向量是和 a 1 a_1 a1 正交的。
    A 2 = a 2 − A 1 A 1 ⊤ A 1 ⊤ A 1 a 2 = a 2 − A 1 A 1 ⊤ a 2 A 1 ⊤ A 1 \bm{A_2}=\bm{a_2} - \frac{\bm{A_1}\bm{A_1}^\top}{\bm{A_1}^\top\bm{A_1}}\bm{a_2}=\bm{a_2} - \bm{A_1}\frac{\bm{A_1}^\top\bm{a_2}}{\bm{A_1}^\top\bm{A_1}} A2=a2A1A1A1A1a2=a2A1A1A1A1a2

  3. a 3 \bm{a_3} a3 的构造那就是投影到 A 1 \bm{A_1} A1, A 2 \bm{A_2} A2 确定的 subspace 上,直接给出公式
    A 3 = a 3 − A 1 A 1 ⊤ a 3 A 1 ⊤ A 1 − A 2 A 2 ⊤ a 3 A 2 ⊤ A 2 \bm{A_3}=\bm{a_3} - \bm{A_1}\frac{\bm{A_1}^\top\bm{a_3}}{\bm{A_1}^\top\bm{A_1}} -\bm{A_2}\frac{\bm{A_2}^\top\bm{a_3}}{\bm{A_2}^\top\bm{A_2}} A3=a3A1A1A1A1a3A2A2A2A2a3

and so on so forth 就能得到一组 A 1 , A 2 , . . . , A n \bm{A_1},\bm{A_2}, ..., \bm{A_n} A1,A2,...,An

QR 分解

实际上 Gram-Schimdt process 是一个把列满秩矩阵 QR 分解的过程。

QR分解是说,任意一个实数方阵都能被分解为一个正交阵乘以上三角矩阵的形式 (非方阵和非实数情况也能QR分解,这里不详细讨论)。
A = Q R A=QR A=QR

Gram-Schimdt process 能把一个列满秩矩阵变为正交阵, 所以用 Gram-Schimdt process只能处理满秩矩阵的QR分解。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值