漫步线性代数十七——正交基和格拉姆-施密特正交化(上)

对于一个正交基,每个向量和其他所有向量垂直,坐标轴就是互相正交的。我们还可以进一步改善:每个向量除以它的长度得到单位向量,这样的话正交基变成了标准正交基:

16、如果

qTiqj={01ij,i=j,

那么 q1,,qn 就是是标准正交基,由标准正交列组成的矩阵叫做 Q

最重要的例子是标准基,对于xy平面,最熟悉的 e1=(1,0)e2=(0,1) 水平和竖直方向都是垂直的, Q 2×2的单位矩阵。在 n 为空间里标准基e1,,en Q=I 的列组成:

e1=1000,e2=0100,,en=0001.

这不是唯一的正交基!我们在不改变直角的情况下悬着这些轴,依然是正交基,旋转得到的矩阵我们用 Q 来表示。

如果我们有一个Rn的子空间,标准向量 ei 可能不在这个子空间,但是子空间肯定有一个正交基,我们可以通过一种简单的方法来构造出来,本质上就是将这些倾斜的轴变成正交的,这就是所谓的格拉姆-施密特正交化(Gram-Schmidt othogonalization)。

接下来,说一些本篇文章的是三个主题:

  1. 正交矩阵 Q 的定义和性质。
  2. Qx=b的解,其中 Q 可以是n×n方阵,也可以是长方形矩阵(最小二乘)。
  3. 格拉姆-施密特方法的具体步骤以及新的矩阵分解 A=QR

正交矩阵

17、如果 Q (正方行或长方形)的列是正交的,那么QTQ=I

qT1qT2qTn|q1||q2||qn|=100010001(1)

正交矩阵就是列是单位正交的方阵,它的转置等于它的逆,即 QT=Q1

QT i 行乘以Q j 列时,结果为零qTiqj=0,而对角线上 i=j ,得到 qTiqi=1 ,也就是长度为1的单位矩阵归一化。

注意即便 Q 是长方形矩阵,QTQ=I依然成立,但是 QT 仅仅是左逆。

例1:

Q=[cosθsinθsinθcosθ],QT=Q1=[cosθsinθsinθcosθ]

Q 将每个向量旋转θ度,而 QT 旋转 θ 度,相当于有回到原点了。这些列明显都是正交的,因为 sin2θ+cos2θ=1

例2:置换矩阵 P 都是正交矩阵,它的列都是单位向量,而且正交。因为每一列在不同的位置有一个1,它的转置也等于它的逆:

P=001100010P1=PT=001100010

反对角线 P 上的元素P13=P22=P31=I xyz 轴变成了 zyx 轴——也就是右手系统变成了左手系统,所以如我们说每个正交矩阵 Q 表示一个旋转的话就不是很准确,因为反射也能做到:

P=[0110]

将点 (x,y) 反射成 (y,x) ,它的镜像是 45 斜线。从几何上来看,正交矩阵 Q 是旋转矩阵和反射矩阵的乘积。

有一个性质是旋转矩阵和反射共有的,当然也就意味着每个正交矩阵也具有。但投影矩阵没有这个性质,因为它不正交或者说不可逆,投影会使向量的长度变小,而正交矩阵却保持长度不变,这个性质非常重要也非常具有代表性:

18、Q乘以任何向量保持向量长度不变:

Qx=x(2)

它也保持内积和夹角不变,因为 (Qx)T(Qy)=xTQTQy=xTy 。对于长度而言,直接从 QTQ=I 就能看出来:

Qx2=x2(Qx)T(Qx)=xTQTQx=xTx(3)

当空间被旋转或反射时,所有的内积和长度都保持不变。

接下来我们利用性质 QT=Q1 进行计算。如果已知一组基,那么任何向量都可以用基向量来表示,对于一组标准正交基来说这是非常简便的,之后我们会看到傅里叶级数背后实际就是这一想法,所以现在问题变成找基向量的系数:

bb=x1q1+x2q2++xnqn

在计算 x1 时有一个小技巧,方程两边同时乘以 qT1 ,那么左边就变成 qT1b ,右边除了第一项外其余项都消失了(因为 qT1qj=0 ),最后留下:

qT1b=x1qT1q1

因为 qT1q1=1 ,所以 x1=qT1b ,同样的可以得出第二个系数 x2=qT2b ,得出所有系数后代入 b 的方程的:

(qT1b)q1+(qT2b)q2++(qTnb)qn(4)

接下来将标准正交基放到方阵 Q 中,向量方程x1q1++xnqn=b等价于 Qx=b ,( Q 的列乘以x 中的元素)它的解是 x=Q1b ,但是因为 Q1=QT ——正交矩阵的性质——所有解也可以写成 x=QTb

x=QTb=qT1qTnb=qT1bqTnb(5)

x 的元素就是内积qTib,也就是方程(4)。

矩阵形式也展示了在列向量不是标准正交时发生了什么,我们依然将 b 表示为x1a1++xnan的组合来求解 Ax=b ,基向量表示成 A ,为了求解,我们需要A1,在标准正交时仅仅需要 QT

注解1:前面我们将 b 投影到直线上时出现了aTb/aTa,而这里的 a 就是q1,这是一维的,并且投影是 (qT1)q1 ,所以我们可以重新解释公式(4):每个向量 b 是投影到一维直线上的总和。

因为这些投影是正交的,那么可以应用毕达哥拉斯定理,斜边的平方等于各项平方的和:

b2=(qT1b)2+(qT2b)2++(qTnb)2QTb2(6)

注解2:因为 QT=Q1 ,所以 QQT=I 。当我们计算 QQT 时,得到的是 Q 行的内积结果(QTQ是列的内积)。因为这个结果也是单位矩阵,由此我们得出一个结论:方阵的行是正交的。行的方向和列完全不同,从几何上看不出为何正交,但是他们真的就是正交:

Q=1/31/31/31/201/21/62/61/6

长方形矩阵

这一小节讲一下 Ax=b ,其中 A 是长方形矩阵。考虑Qx=b,我们现在允许行数大于列数,也就是说 Q 中有n个正交列 qi ,而 m>n ,此时 Q m×n矩阵并且不能精确的求解 Qx=b ,也就是需要用到最小二乘。

标准正交列一般会让问题简化,在方阵中我们已经看到了效果,现在我们在长方形矩阵使用一下,重点是注意到 QQ=I ,所以 QT 依然是 Q 的左逆。

对于最小二乘,在Ax=b两边乘以矩阵的转置得到正规方程 ATAx^=ATb ,而这里的正规方程就是 QTQ=QTb ,但是 QTQ=I !因此 x^=QTb ,当 Q 是方阵时x^ 就是精确解,或者 Q 是长方形矩阵,此时就需要最小二乘了。

19、如果Q的列是标准正交的,那么最小二乘问题就变得容易了:对于大多数 b ,长方形矩阵形式没有解

QxQTQx^x^pp=b=QTb=QTb=Qx^=QQTbbx^QTQ=Ix^iqTibb(qT1b)q1++(qTnb)qnP=QQT

最后一个方程像 p=Ax^P=A(ATA)1AT ,当列是标准正交时,矩阵 ATA 变成 QTQ=I ,也就是说当向量标准正交时最小二乘中难计算的部分没有了,在轴上的投影不在耦合了, p 是各项的和p=(qT1b)q1++(qTnb)qn

我们强调以下,投影不是重新构建 b ,只有在m=n的方阵情况下才是这样,而对于 m>n 的长方形矩阵,他们不是重建,给出的投影 p 已经不是原来的向量b。投影矩阵一般是 A(ATA)1AT ,而这里简化为

P=Q(QTQ)1QTP=QQT(7)

注意 QTQ n×n 的单位矩阵,而 QQT m×m 的投影矩阵 P ,它是Q列向量上的单位矩阵,但是 QQT 的正交补是零矩阵( QT 的零空间)。

例3:下面的例子比较简单但是非常典型。假设我们将点 b=(x,y,z) 投影到 xy 平面上,那么它的投影是 p=(x,y,0) ,并且是分别在 x 轴和y轴上投影之和:

q1=100,(qT1b)q1=x00;q2=010,(qT2b)q2=0y0

这个投影矩阵是

P=q1qT1+q2qT2=100010000,Pxyz=xy0

在平面上的投影=在标准正交向量 q1,q2 上投影之和。

例4:当测试时间的平均值是零时,拟合直线得到的是正交列。我们取 t1=3,t2=0,t3=3 ,然后拟合 y=C+Dt 得到含有两个未知量的三个方程:

CCC+++Dt1Dt2Dt3===y1y2y3,111303[CD]=y1y2y3

(1,1,1),(3,0,3) 是正交的,我们可以分别计算他们的投影,分别求出最佳系数 C^,D^

C^=[111][y1y2y3]T12+12+12,D^=[303][y1y2y3]T(3)2+02+32,

注意 C^=(y1+y2+y3)/3 是数据的均值,它给出了水平线的最佳拟合,而 D^t 是通过原点直线的最佳拟合。这些列是正交的,所以这两部分的和就是所以直线的最佳拟。因为列不是单位限量,所以 C^,D^ 都需要除以各自的长度。

正交列的确对求解问题带来许多方便。考虑另一种情况,如果测量时间的平均值不是0, t¯=(t1++tm)/m ,那么时间原点就变成了 t¯ ,我们不再使用 y=C+Dt ,而是用 y=c+d(tt¯) ,距离说明:

c^=[11][y1ym]T12+12++12=y1++ymm,d^=[(t1t¯)(tmt¯)][y1ym]T(t1t¯)2++(tmt¯)2=Σ(tit¯)yiΣ(tit¯)2(8)

最佳解 c^ 是均值,同时得到 d^ 的简化形式。之前 ATA 的反对角线元素是 Σti ,转变了时间 t^ 后变成零,而这个转变就是格拉姆-施密特过程。

正交矩阵在数值线性代数中非常重要,因为他们引入了不稳定性。当长度保持不变的时候,可以控制住舍入误差。正交向量已经是非常基本的技术,可能出了消元法它就是第二基本的方法了。并且由它得到的分解 A=QR A=LU 一样出名。

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值