17正交矩阵和Gram-Schmidt正交化

一、标准正交向量(Orthonormal Vector)

R \mathbb R R 中,两个向量内积(Inner product)和点积(Dot product)是同一个概念,也就是内积与点积一样。但在 C \mathbb C C中,点积仍然被定义为对应元素相乘,而内积则被附加了共轭以保证物理性质。

对于两个向量 v v v w w w,如果它们之间的内积为0,那么它们被称为正交。如果它们的长度是标准的1,那么这两向量除了正交还被赋予标准的“title”。也就是这两个向量是互为标准正交向量。如果把多个标准向量放在一个集合中,那么集合叫做标准向量组(集合)。设 q q q是标准正交向量组的任意向量,那么:
q i T q j = { 0 ( i ≠ j ) 1 ( i = j ) (1) q_i^Tq_j=\left\{ \begin{aligned} &0\quad(i\ne j)\\ &1\quad(i= j) \end{aligned} \right.\tag{1} qiTqj={0(i=j)1(i=j)(1)

将向量 q 1 q_1 q1 q 2 q_2 q2 ⋯ \cdots q n q_n qn作为矩阵的列按顺序组合成一个新的矩阵,记为 M M M,显然:

  • M T M = I M^TM=I MTM=I
    M T M = [ q 1 q 2 ⋯ q n ] T [ q 1 q 2 ⋯ q n ] = [ q 1 T q 2 T ⋮ q n T ] [ q 1 q 2 ⋯ q n ] = [ q 1 T q 1 q 1 T q 2 ⋯ q 1 T q n q 2 T q 1 q 2 T q 2 ⋯ q 2 T q n ⋮ ⋮ ⋮ ⋮ q 1 T q 1 q 1 T q 2 ⋯ q 1 T q n ] = [ 1 0 ⋯ 0 0 1 ⋯ 0 ⋯ ⋯ ⋯ ⋯ 0 0 ⋯ 1 ] = I M^TM=\begin{bmatrix} q_1 &q_2 \cdots q_n \end{bmatrix}^T\begin{bmatrix} q_1 &q_2 \cdots q_n \end{bmatrix}\\=\begin{bmatrix} q_1^T \\q_2^T\\ \vdots \\q_n^T \end{bmatrix}\begin{bmatrix} q_1 &q_2 \cdots q_n \end{bmatrix}=\begin{bmatrix} q_1^Tq_1 &q_1^Tq_2& \cdots &q_1^Tq_n\\ q_2^Tq_1 &q_2^Tq_2 &\cdots &q_2^Tq_n\\ \vdots &\vdots &\vdots &\vdots \\ q_1^Tq_1 &q_1^Tq_2& \cdots& q_1^Tq_n \end{bmatrix}=\begin{bmatrix}1&0& \cdots&0\\0&1& \cdots&0\\\cdots& \cdots& \cdots& \cdots\\0&0& \cdots&1\end{bmatrix}=I MTM=[q1q2qn]T[q1q2qn]= q1Tq2TqnT [q1q2qn]= q1Tq1q2Tq1q1Tq1q1Tq2q2Tq2q1Tq2q1Tqnq2Tqnq1Tqn = 100010001 =I

如果一个矩阵是由标准正交向量组成的,它不能被称为标准正交矩阵。因为线性代数规定一个标准正交向量必须是一个方阵,只有“方方正正”才能被称为标准正交矩阵,简称正交矩阵(Orthogonal matrix),记为 Q Q Q

我们在谈论正交矩阵时,意味着我们在讨论的是标准正交矩阵,也就是 Q Q Q

对于一个正交矩阵 Q Q Q,因为 Q T Q = I Q^TQ=I QTQ=I,所以:
Q T = Q − 1 Q^T=Q^{-1} QT=Q1

验证一下正交矩阵 Q Q Q的逆等于 Q T Q^T QT
Q Q T = [ 0 0 1 1 0 0 0 1 0 ] [ 0 1 0 0 0 1 1 0 0 ] = I QQ^T=\begin{bmatrix} 0&0&1\\1&0&0\\0&1&0 \end{bmatrix}\begin{bmatrix} 0&1&0\\0&0&1\\1&0&0 \end{bmatrix}=I QQT= 010001100 001100010 =I
看上去确实如此。

正交矩阵 Q Q Q是由单位正交向量组成的方阵,如果有一列不为单位向量,那么他就不可能是正交矩阵。

再来看另一个例子:
[ cos ⁡ θ − sin ⁡ θ sin ⁡ θ cos ⁡ θ ] \begin{bmatrix} \cos\theta& -\sin\theta\\ \sin\theta&\cos\theta \end{bmatrix} [cosθsinθsinθcosθ]
随着 θ \theta θ的变换,能形成无数多个正交矩阵。

如果一个矩阵是一个正交矩阵,那么:

  • 逆矩阵和转置相等。 Q T = Q − 1 Q^T=Q^{-1} QT=Q1
  • 任意列向量与非自身列向量正交;
  • 任意列向量长度为1;
  • 行列式为1或者-1;

为什么正交矩阵行列式不是-1就是1?证明的关键在于矩阵转置不改变矩阵的行列式。因为 Q Q T = I QQ^T=I QQT=I 所以有 ∣ Q ∣ ∣ Q T ∣ = 1 |Q||Q^T|=1 Q∣∣QT=1,结合矩阵转置不改变行列式的逆,所以有: ∣ Q ∣ 2 = 1 |Q|^2=1 Q2=1,也就是 ∣ Q ∣ = ± 1 |Q|=\pm1 Q=±1,问题得证。

二、正交矩阵带来的简化

2.1 求解线性方程组的简化

对于线性方程组:
A x = b Ax=b Ax=b
如果 A = Q A=Q A=Q 那么有:
Q x = b Qx=b Qx=b
因为 Q − 1 = Q T Q^{-1}=Q^T Q1=QT ,所以:
x = Q T b x=Q^{T}b x=QTb
也就是说如果系数矩阵 A A A 是一个正交矩阵,我们通过逆解来求得方程组的解,方程组的解可以通过系数矩阵列向量点乘 b b b 向量给出。

2.2 投影矩阵 P P P

如果投影的子空间对应的列向量是一个正交矩阵 Q Q Q ,那么对应的投影矩阵 P P P 是一个单位向量。

P = A ( A T A ) − 1 A T P=A(A^TA)^{-1}A^T P=A(ATA)1AT
如果矩阵 A A A是一个 Q Q Q,那么:
P = Q ( Q T Q ) − 1 Q T = I P=Q(Q^TQ)^{-1}Q^T=I P=Q(QTQ)1QT=I
正交矩阵的投影矩阵 P P P是单位矩阵,也就是:
p = P b = b p=Pb=b p=Pb=b
这个告诉我们,如果一个向量往一个单位正交列向量构成的子空间投影,那么向量后将会保持不变。

2.3 线性拟合方程

不仅对于 A x = b Ax=b Ax=b 有解情况有所简化,对于拟合方程组也会带来简化:
A T b = A T A x ^ A^Tb=A^TA\hat x ATb=ATAx^
A A A是一个 Q Q Q,那么:
Q T b = Q T Q x ^ Q^Tb=Q^TQ\hat x QTb=QTQx^
因为 Q T Q = I Q^TQ=I QTQ=I,所以:
x ^ = Q T b \hat x=Q^Tb x^=QTb

对于 x ^ \hat x x^的每一个分量 x i x_i xi有:
x i = q i T b x_i=q_i^Tb xi=qiTb
也就是说,一个正交矩阵的列向量与 b b b的点积为 x i x_i xi的一个结果。

三、Gram-Schmidt正交化

与前面的的矩阵分解为上三角函数不同,这一次我们将对矩阵进行正交化,使得矩阵中的列向量组是正交向量组,也就是正交矩阵:

  • 长度为1
  • 相互正交

假如我们有一组线性无关的向量 a a a b b b

在这里插入图片描述
显然这两个向量的不是一组正交单位向量组,怎么将这两个向量转换成正交向量 A A A B B B?

联系之前学的投影知识,把 b b b投影至 a a a,再将 b b b投影至与 a a a正交的向量上:

在这里插入图片描述
可以取:
A = a B = b − A T b A T A A A=a\\ B=b-\frac{A^Tb}{A^TA}A A=aB=bATAATbA
这样一来,两个非正交的向量组 a a a b b b就求得了正交向量组 A A A B B B。此时,向量 A A A和向量 B B B并不是正交的,所以需要对他们进行单位化操作:

Schmidt给出了单位化两个向量的方法:
q 1 = A ∣ ∣ A ∣ ∣ q 2 = B ∣ ∣ B ∣ ∣ q_1=\frac{A}{\vert \vert A\vert\vert }\quad q_2=\frac{B}{\vert\vert B\vert \vert} q1=∣∣A∣∣Aq2=∣∣B∣∣B

个人理解,给定任意线性无关的向量组 A A A,我们都能找到与之对应的线性无关正交向量组 A ′ A' A

对于三个线性无关的向量又该如何进行正交化?

在这里插入图片描述

一样的思路:

  • a a a向量直接作为正交向量组的第一个向量
    A = a A=a A=a
  • 考虑 b b b,将向量 b b b A A A得到投影向量 p p p,与向量 A A A正交的向量记为 B B B,同时也是要求的第二个向量:
    B = b − A T b A T A A B=b-\frac{A^Tb}{A^TA}A B=bATAATbA
  • 考虑 c c c,将 c c c分别投影至两个向量,得到 p 1 p_1 p1 p 2 p_2 p2,因为 C + p 1 + p 2 = c C+p_1+p_2=c C+p1+p2=c,故:
    C = c − A T c A T A A − B T c B T B B C=c-\frac{A^Tc}{A^TA}A-\frac{B^Tc}{B^TB}B C=cATAATcABTBBTcB
  • 最后别忘了对他们进行单位化
    q 1 = A ∣ ∣ A ∣ ∣ q 2 = B ∣ ∣ B ∣ ∣ q 3 = C ∣ ∣ C ∣ ∣ q_1=\frac{A}{\vert \vert A\vert\vert }\quad q_2=\frac{B}{\vert\vert B\vert \vert}\quad q_3=\frac{C}{\vert\vert C\vert\vert} q1=∣∣A∣∣Aq2=∣∣B∣∣Bq3=∣∣C∣∣C

最后举一个简单的例子:

假设有两个线性无关的向量 a = [ 1 1 1 ] a=\begin{bmatrix}1\\1\\1\end{bmatrix} a= 111 b = [ 1 0 2 ] b=\begin{bmatrix}1\\0\\2\end{bmatrix} b= 102 ,利用Gram-Schmidt求其对应的正交矩阵。

简单的套用公式:
A = a B = b − A T b A T A A A=a\\ B=b-\frac{A^Tb}{A^TA}A A=aB=bATAATbA
容易得:
A = a = [ 1 1 1 ] B = [ 1 0 2 ] − 3 3 [ 1 1 1 ] = [ 0 − 1 1 ] A=a=\begin{bmatrix}1\\1\\1\end{bmatrix} B=\begin{bmatrix}1\\0\\2\end{bmatrix}-\frac{3}{3}\begin{bmatrix}1\\1\\1\end{bmatrix}=\begin{bmatrix}0\\-1\\1\end{bmatrix} A=a= 111 B= 102 33 111 = 011
最后将其正交化,得到正交矩阵 Q Q Q
Q = [ q 1 q 2 ] = [ 1 / 3 0 1 / 3 − 1 / 2 1 / 3 1 / 2 ] Q=\begin{bmatrix}q_1&q_2\end{bmatrix}=\begin{bmatrix}1/\sqrt{3}&0\\1/\sqrt{3}&-1/\sqrt{2}\\1/\sqrt{3}&1/\sqrt{2}\end{bmatrix} Q=[q1q2]= 1/3 1/3 1/3 01/2 1/2
对比正交前矩阵 A A A
A = [ 1 1 1 0 1 2 ] A=\begin{bmatrix}1&1\\1&0\\1&2\end{bmatrix} A= 111102
为什么我们将矩阵 A A A变成更加复杂得(有很多根号)的正交矩阵?

  • 正交化后矩阵的列空间与变化前相同

从矩阵分解的角度,消元法是 A = L U A=LU A=LU,而正交化则是 A = Q R A=QR A=QR,其中 R R R矩阵是一个上三角矩阵

对于上面这个例子, A = Q R A=QR A=QR分解其实是:
A = [ a 1 a 2 ] A=\begin{bmatrix}a_1&a_2\end{bmatrix} A=[a1a2]
Q = [ q 1 q 2 ] Q=\begin{bmatrix}q_1&q_2\end{bmatrix} Q=[q1q2]
R = [ a 1 T q 1 a 2 T q 1 a 1 T q 2 a 2 T q 2 ] R=\begin{bmatrix}a_1^Tq_1&a_2^Tq_1\\a_1^Tq_2&a_2^Tq_2\end{bmatrix} R=[a1Tq1a1Tq2a2Tq1a2Tq2]
显然 q 1 q_1 q1 a 1 a_1 a1上,所以不为0,但是 q 2 q_2 q2 a 1 a_1 a1正交,故 a 1 T q 2 = 0 a_1^Tq_2=0 a1Tq2=0,也就是:
R = [ a 1 T q 1 a 2 T q 1 0 a 2 T q 2 ] R=\begin{bmatrix}a_1^Tq_1&a_2^Tq_1\\0&a_2^Tq_2\end{bmatrix} R=[a1Tq10a2Tq1a2Tq2]
确实是一个上三角矩阵。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值