线性代数学习笔记5-3:标准正交基、正交矩阵、施密特正交化、QR分解

正交矩阵

一组标准正交向量Orthonormal vectors满足:
q i T q j = { 0 i ≠ j 1 i = j \mathbf{q}_{i}^{T} \mathbf{q}_{j}=\left\{\begin{array}{ll} 0 & i \neq j \\ 1 & i=j \end{array}\right. qiTqj={01i=ji=j
“标准”是指各个向量长度都为1,“正交”指任意两个向量正交;标准正交基础让问题变得简单可控

一组标准正交向量作为列向量,得到的矩阵为 Q \mathbf Q Q
根据上面的性质,这个矩阵一定满足 Q T Q = [ q 1 T q 2 T q 3 T ] [ q 1 q 2 q 3 ] = I \mathbf Q^T\mathbf Q=\begin{bmatrix}q_1^T\\q_2^T\\q_3^T\end{bmatrix}\begin{bmatrix}q_1&q_2&q_3\end{bmatrix}=\mathbf I QTQ= q1Tq2Tq3T [q1q2q3]=I(但是 Q T Q ≠ I \mathbf Q^T\mathbf Q\neq \mathbf I QTQ=I,除非 Q \mathbf Q Q方阵

ps. Q \mathbf Q Q不一定为方阵,例如三维空间中两个正交的基向量,也可以构成一个 Q \mathbf Q Q
但是,如果 Q \mathbf Q Q方阵,则其列向量就是 R n \mathbf R^n Rn空间的一组标准正交基( n n n个长度为1的 n × 1 n \times 1 n×1基向量)

Q \mathbf Q Q方阵时,这样以一组标准正交基作为列向量的矩阵称为正交矩阵 Orthogonal matrix
正交矩阵满足 Q T Q = Q Q T = I \mathbf Q^T\mathbf Q=\mathbf Q\mathbf Q^T=\mathbf I QTQ=QQT=I Q − 1 = Q T \mathbf Q^{-1}=\mathbf Q^T Q1=QT

正交矩阵特性

  • 正交矩阵 Q \mathbf Q Q几何上对应单纯的旋转
    进而,任意正交矩阵的乘积 Q 1 Q 2 \mathbf Q_1\mathbf Q_2 Q1Q2仍为正交矩阵
  • 正交矩阵与向量相乘,不改变其长度
    ∥ Q x ∥ 2 = ( Q x ) T Q x = x T Q T Q x = ∥ x ∥ 2 \|\mathbf Q\mathbf x\|^2=(\mathbf Q\mathbf x)^T\mathbf Q\mathbf x=\mathbf x^T\mathbf Q^T\mathbf Q\mathbf x=\|\mathbf x\|^2 Qx2=(Qx)TQx=xTQTQx=x2
    或者说, Q \mathbf Q Q对应的线性变换是单纯的旋转,不会拉伸基向量、不改变基向量之间的正交关系,从而该变换不会改变向量长度
  • 正交矩阵 Q \mathbf Q Q特征值满足 ∣ λ ∣ = 1 |\lambda|=1 λ=1(可能为复数)
    证明:由 Q x = λ x \mathbf Q\mathbf x=\lambda\mathbf x Qx=λx得到 ∥ Q x ∥ 2 = λ 2 ∥ x ∥ 2 \|\mathbf Q\mathbf x\|^2=\lambda^2\|\mathbf x\|^2 Qx2=λ2x2;根据上面,又有 ∥ Q x ∥ 2 = ∥ x ∥ 2 \|\mathbf Q\mathbf x\|^2=\|\mathbf x\|^2 Qx2=x2
    λ 2 = 1 \lambda^2=1 λ2=1 ∣ λ ∣ = 1 |\lambda|=1 λ=1

正交矩阵举例

  • 置换矩阵 Q = [ 0 0 1 1 0 0 0 1 0 ] \boldsymbol{Q}=\left[\begin{array}{lll} 0 & 0 & 1 \\ 1 & 0 & 0 \\ 0 & 1 & 0 \end{array}\right] Q= 010001100
  • Q = [ cos ⁡ θ − sin ⁡ θ sin ⁡ θ cos ⁡ θ ] \boldsymbol{Q}=\left[\begin{array}{rr} \cos \theta & -\sin \theta \\ \sin \theta & \cos \theta \end{array}\right] Q=[cosθsinθsinθcosθ]
  • Q = 1 2 [ 1 1 1 − 1 ] \boldsymbol{Q}=\frac{1}{\sqrt 2}\left[\begin{array}{rr} 1&1\\ 1&-1 \end{array}\right] Q=2 1[1111],其中 1 2 \frac{1}{\sqrt 2} 2 1是为了保证每个列向量长度都是 1 1 1
  • 阿达玛Hadamard矩阵 Q = 1 2 [ 1 1 1 1 1 − 1 1 − 1 1 1 − 1 − 1 1 − 1 − 1 1 ] \boldsymbol{Q}=\frac{1}{2}\left[\begin{array}{rrrr} 1 & 1 & 1 & 1 \\ 1 & -1 & 1 & -1 \\ 1 & 1 & -1 & -1 \\ 1 & -1 & -1 & 1 \end{array}\right] Q=21 1111111111111111
  • 三维空间中两个正交向量组成的矩阵,可以“补出”第三个基向量,得到正交矩阵
    Q = 1 2 [ 1 − 2 2 − 1 2 2 ] \boldsymbol{Q}=\frac{1}{2}\left[\begin{array}{rr} 1&-2\\ 2&-1\\ 2&2 \end{array}\right] Q=21 122212 变为 Q = 1 2 [ 1 − 2 2 2 − 1 − 2 2 2 1 ] \boldsymbol{Q}=\frac{1}{2}\left[\begin{array}{rr} 1&-2&2\\ 2&-1&-2\\ 2&2&1 \end{array}\right] Q=21 122212221

标准正交基/正交矩阵的优势

之前说过,如果想要将一个向量 b \boldsymbol b b投影到矩阵 A \mathbf A A的列空间内,做法是使用投影矩阵 P \mathbf P P
将向量 b \boldsymbol b b投影到平面上得到的投影为 p = P b \boldsymbol p=\mathbf P\boldsymbol b p=Pb,其中投影矩阵 P = A ( A T A ) − 1 A T \mathbf P=\mathbf A(\mathbf A^T\mathbf A )^{-1}\mathbf A^T P=A(ATA)1AT

对应这里,如果要将向量投影到正交矩阵 Q \mathbf Q Q的列空间内,对应的投影矩阵 P = Q ( Q T Q ) − 1 Q T = Q Q T = I \mathbf P=\mathbf Q(\mathbf Q^T\mathbf Q )^{-1}\mathbf Q^T=\mathbf Q\mathbf Q^T=\mathbf I P=Q(QTQ)1QT=QQT=I
这表明:正交矩阵这个方阵,其列空间就是整个 R n \mathbf R^n Rn空间(投影后仍在原点)

之前说过, A x = b \mathbf A \boldsymbol x=\boldsymbol b Ax=b无解时,转而求解 A T A x ^ = A T b \mathbf A^T\mathbf A \hat{\boldsymbol x}=\mathbf A^T\boldsymbol b ATAx^=ATb,该方程的解 x ~ \tilde{\boldsymbol x} x~会是“最优解”

对于正交矩阵 Q \mathbf Q Q(或者列向量都为标准正交向量的非方阵 Q \mathbf Q Q),直接得到 Q T Q x ^ = x ^ = Q T b \mathbf Q^T\mathbf Q \hat{\boldsymbol x}=\hat{\boldsymbol x}=\mathbf Q^T\boldsymbol b QTQx^=x^=QTb

采用矩阵的QR分解(后面会介绍,即从列向量线性无关的矩阵 A \mathbf A A施密特正交化,得到正交矩阵 Q \mathbf Q Q)来帮助求解 A x = b \mathbf A \boldsymbol x=\boldsymbol b Ax=b的问题,最大的优势是提高了数值的稳定性

线性无关向量组的标准正交化:施密特正交化Gram-Schmidt

已知一组线性无关的向量,希望用它们导出一组标准正交向量
或者说,将满秩的矩阵,变为一个正交矩阵,
方法是施密特正交化Gram-Schmidt

例如,对于任意 R n \mathbf R^n Rn空间中的三个线性无关向量 a \boldsymbol a a b \boldsymbol b b c \boldsymbol c c,对应构造的正交的向量为 A \boldsymbol A A B \boldsymbol B B C \boldsymbol C C

  1. 对于 a \boldsymbol a a,我们就采用其本身,得到正交化的向量 A \boldsymbol A A
    对于 b \boldsymbol b b,我们只需要对 A \boldsymbol A A做投影 p \boldsymbol p p,然后取误差向量 e = b − p \boldsymbol e=\boldsymbol b-\boldsymbol p e=bp作为正交化的向量 B \boldsymbol B B
    (回忆之前的内容,求向量在另一向量上的投影,为 p = a T b a T a a \boldsymbol p=\frac{\boldsymbol {a}^{T} \boldsymbol {b}}{\boldsymbol {a}^{T} \boldsymbol {a}}\boldsymbol a p=aTaaTba
    因此, B = b − A T b A T A A \boldsymbol B=\boldsymbol b-\frac{\boldsymbol {A}^{T} \boldsymbol {b}}{\boldsymbol {A}^{T} \boldsymbol {A}}\boldsymbol A B=bATAATbA
    同理,对于第三个向量 c \boldsymbol c c也是“修剪掉”其“超出”已正交化的两个向量的那部分多余分量,得到
    C = c − A T c A T A A − B T c B T B B \boldsymbol C=\boldsymbol c-\frac{\boldsymbol {A}^{T} \boldsymbol {c}}{\boldsymbol {A}^{T} \boldsymbol {A}}\boldsymbol A-\frac{\boldsymbol {B}^{T} \boldsymbol {c}}{\boldsymbol {B}^{T} \boldsymbol {B}}\boldsymbol B C=cATAATcABTBBTcB
    在这里插入图片描述
  2. 最后,所有正交化的向量,除以其长度,进行“标准化”,得到一组标准正交向量
    q 1 = A ∥ A ∥ \boldsymbol q_1=\frac{\boldsymbol A}{\|\boldsymbol A\|} q1=AA, q 2 = B ∥ B ∥ \boldsymbol q_2=\frac{\boldsymbol B}{\|\boldsymbol B\|} q2=BB, q 3 = C ∥ C ∥ \boldsymbol q_3=\frac{\boldsymbol C}{\|\boldsymbol C\|} q3=CC

QR分解

在消元部分,学习了矩阵的LU分解得到 A = L U \mathbf{A=LU} A=LU

列向量线性无关的矩阵 A \mathbf A A的施密特正交化,也可表示为 A = Q R \mathbf{A=QR} A=QR形式,并且 R \mathbf R R必为上三角阵
另外注意:

  • 正交化后列空间不变 C ( A ) = C ( Q ) C(\mathbf A)=C(\mathbf Q) C(A)=C(Q)(正交化只不过是调整了我们使用的“基向量”,使其正交)
  • 矩阵 R \mathbf R R必然为上三角阵

原理:
若有 A = Q R \mathbf{A=QR} A=QR,则 R = Q − 1 A = Q T A \mathbf R=\mathbf Q^{-1}\mathbf A=\mathbf Q^{T}\mathbf A R=Q1A=QTA(因为 Q \mathbf Q Q为正交矩阵),由此我们得到了矩阵 R \mathbf R R的元素为 a 1 T q 2 \boldsymbol a_1^T\boldsymbol q_2 a1Tq2等,如图所示
在这里插入图片描述
其中,由于 a 1 \boldsymbol a_1 a1 q 2 \boldsymbol q_2 q2必然正交( q 2 \boldsymbol q_2 q2来自于 a 2 \boldsymbol a_2 a2的正交化),因此元素 a 1 T q 2 = 0 \boldsymbol a_1^T\boldsymbol q_2=0 a1Tq2=0

ps. 上面的矩阵 R \mathbf R R中的元素本应为 q 1 T a 1 \boldsymbol q_1^T\boldsymbol a_1 q1Ta1等,但由于这是向量点积,结果是一个数字,因此下面写作 a 1 T q 2 \boldsymbol a_1^T\boldsymbol q_2 a1Tq2也可以

理解:

  • 由于矩阵右乘对应于列的线性组合, A = Q R \mathbf{A=QR} A=QR可以视为:矩阵 R \mathbf R R对于正交矩阵 Q \mathbf Q Q的列向量做操作
  • Q \mathbf Q Q的列向量为一组标准正交基,用 R \mathbf R R中的元素对标准正交基加权组合,得到了另一组线性无关的向量,即 A \mathbf A A的列向量
    由此也能进一步理解为何 R \mathbf R R为上三角矩阵:这样保证了一组标准正交基经过线性组合后, A \mathbf A A不会出现线性相关的向量(每个向量仍然都贡献 / 张成一个新的维度)
  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值