您当前的位置: 首页 >  矩阵

我什么都布吉岛

暂无认证

  • 15浏览

    0关注

    292博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

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

我什么都布吉岛 发布时间:2022-10-10 11:04:58 ,浏览量:15

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

两个向量若内积为0则说明这两个向量的关系为正交;如果两个向量正交且各自长度均为1,则这个两向量为标准正交。对于若干个互相标准正交向量组成的集合,称为标准正交向量组,设 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} qiT​qj​={​0(i=j)1(i=j)​(1) 标准正交向量组中的向量彼此的内积为0且长度为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=[q1​​q2​⋯qn​​]T[q1​​q2​⋯qn​​]=⎣ ⎡​q1T​q2T​⋮qnT​​⎦ ⎤​[q1​​q2​⋯qn​​]=⎣ ⎡​q1T​q1​q2T​q1​⋮q1T​q1​​q1T​q2​q2T​q2​⋮q1T​q2​​⋯⋯⋮⋯​q1T​qn​q2T​qn​⋮q1T​qn​​⎦ ⎤​=⎣ ⎡​10⋯0​01⋯0​⋯⋯⋯⋯​00⋯1​⎦ ⎤​=I

虽然这个矩阵 M M M是由标准正交向量组成的矩阵,但是它不被称为标准正交矩阵(历史原因),要成为标准正交矩阵,向量的个数必须等于维数,也就是必须方方正正的(方阵),如果矩阵 M M M是方阵,那么称为正交矩阵(Orthogonal matrix),记为 Q Q Q。

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

验证一下正交矩阵 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=⎣ ⎡​010​001​100​⎦ ⎤​⎣ ⎡​001​100​010​⎦ ⎤​=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 = I Q^TQ=I QTQ=I
  • Q Q Q每一个列向量的长度为1
  • Q Q Q每一个列向量与其他不同列向量垂直(正交)
  • Q Q Q的逆等于其转置
二、正交矩阵带来的简化 2.1 投影矩阵 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.2 线性拟合方程

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​=qiT​b 也就是说,一个正交矩阵的列向量与 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=b−ATAATb​A 这样一来,两个非正交的向量组 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∣∣A​q2​=∣∣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=b−ATAATb​A
  • 考虑 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=c−ATAATc​A−BTBBTc​B
  • 最后别忘了对他们进行单位化 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∣∣A​q2​=∣∣B∣∣B​q3​=∣∣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=b−ATAATb​A 容易得: 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​⎦ ⎤​=⎣ ⎡​0−11​⎦ ⎤​ 最后将其正交化,得到正交矩阵 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=[q1​​q2​​]=⎣ ⎡​1/3 ​1/3 ​1/3 ​​0−1/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=⎣ ⎡​111​102​⎦ ⎤​ 为什么我们将矩阵 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=[a1​​a2​​] Q = [ q 1 q 2 ] Q=\begin{bmatrix}q_1&q_2\end{bmatrix} Q=[q1​​q2​​] 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=[a1T​q1​a1T​q2​​a2T​q1​a2T​q2​​] 显然 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 a1T​q2​=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=[a1T​q1​0​a2T​q1​a2T​q2​​] 确实是一个上三角矩阵。

关注
打赏
1658157489
查看更多评论
立即登录/注册

微信扫码登录

0.0480s