对于一个正交基,每个向量和其他所有向量垂直,坐标轴就是互相正交的。我们还可以进一步改善:每个向量除以它的长度得到单位向量,这样的话正交基变成了标准正交基:
16、如果
qTiqj={01i≠j,给出正交性i=j,给出归一性
那么q1,…,qn就是是标准正交基,由标准正交列组成的矩阵叫做Q。
最重要的例子是标准基,对于x?y平面,最熟悉的e1=(1,0),e2=(0,1)水平和竖直方向都是垂直的,Q是2×2的单位矩阵。在n为空间里标准基e1,…,en由Q=I的列组成:
e1=?????????100?0?????????,e2=?????????010?0?????????,?,en=?????????000?1?????????.
这不是唯一的正交基!我们在不改变直角的情况下悬着这些轴,依然是正交基,旋转得到的矩阵我们用Q来表示。
如果我们有一个Rn的子空间,标准向量ei可能不在这个子空间,但是子空间肯定有一个正交基,我们可以通过一种简单的方法来构造出来,本质上就是将这些倾斜的轴变成正交的,这就是所谓的格拉姆-施密特正交化(Gram-Schmidt othogonalization)。
接下来,说一些本篇文章的是三个主题:
- 正交矩阵Q的定义和性质。
- Qx=b的解,其中Q可以是n×n方阵,也可以是长方形矩阵(最小二乘)。
- 格拉姆-施密特方法的具体步骤以及新的矩阵分解A=QR。
正交矩阵
17、如果Q(正方行或长方形)的列是正交的,那么QTQ=I:
??????????qT1qT2?qTn?????????????|q1||q2|?|qn|???=?????10?001?0????00?1?????(1)
正交矩阵就是列是单位正交的方阵,它的转置等于它的逆,即QT=Q?1。
当QT的i行乘以Q的j列时,结果为零qTiqj=0,而对角线上i=j,得到qTiqi=1,也就是长度为1的单位矩阵归一化。
注意即便Q是长方形矩阵,QTQ=I依然成立,但是QT仅仅是左逆。
例1:
Q=[cosθsinθ?sinθcosθ],QT=Q?1=[cosθ?sinθsinθcosθ]
Q将每个向量旋转θ度,而QT旋转?θ度,相当于有回到原点了。这些列明显都是正交的,因为sin2θ+cos2θ=1。
例2:置换矩阵P都是正交矩阵,它的列都是单位向量,而且正交。因为每一列在不同的位置有一个1,它的转置也等于它的逆:
P=???001100010???那么P?1=PT=???001100010???
反对角线P上的元素P13=P22=P31=I将x?y?z轴变成了z?y?x轴——也就是右手系统变成了左手系统,所以如我们说每个正交矩阵Q表示一个旋转的话就不是很准确,因为反射也能做到:
P=[0110]
将点(x,y)反射成(y,x),它的镜像是45°斜线。从几何上来看,正交矩阵Q是旋转矩阵和反射矩阵的乘积。
有一个性质是旋转矩阵和反射共有的,当然也就意味着每个正交矩阵也具有。但投影矩阵没有这个性质,因为它不正交或者说不可逆,投影会使向量的长度变小,而正交矩阵却保持长度不变,这个性质非常重要也非常具有代表性:
18、Q乘以任何向量保持向量长度不变:
∥Qx∥=∥x∥(2)
它也保持内积和夹角不变,因为(Qx)T(Qy)=xTQTQy=xTy。对于长度而言,直接从QTQ=I就能看出来:
∥Qx∥2=∥x∥2即(Qx)T(Qx)=xTQTQx=xTx(3)
当空间被旋转或反射时,所有的内积和长度都保持不变。
接下来我们利用性质QT=Q?1进行计算。如果已知一组基,那么任何向量都可以用基向量来表示,对于一组标准正交基来说这是非常简便的,之后我们会看到傅里叶级数背后实际就是这一想法,所以现在问题变成找基向量的系数:
将b写成一个基向量的组合b=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=Q?1b,但是因为Q?1=QT——正交矩阵的性质——所有解也可以写成x=QTb:
x=QTb=???????qT1?qTn??????????b???=????qT1b?qTnb????(5)
x的元素就是内积qTib,也就是方程(4)。
矩阵形式也展示了在列向量不是标准正交时发生了什么,我们依然将b表示为x1a1+?+xnan的组合来求解Ax=b,基向量表示成A,为了求解,我们需要A?1,在标准正交时仅仅需要QT。
注解1:前面我们将b投影到直线上时出现了aTb/aTa,而这里的a就是q1,这是一维的,并且投影是(qT1)q1,所以我们可以重新解释公式(4):每个向量b是投影到一维直线上的总和。
因为这些投影是正交的,那么可以应用毕达哥拉斯定理,斜边的平方等于各项平方的和:
∥b∥2=(qT1b)2+(qT2b)2+?+(qTnb)2也就是∥QTb∥2(6)
注解2:因为QT=Q?1,所以QQT=I。当我们计算QQT时,得到的是Q行的内积结果(QTQ是列的内积)。因为这个结果也是单位矩阵,由此我们得出一个结论:方阵的行是正交的。行的方向和列完全不同,从几何上看不出为何正交,但是他们真的就是正交:
Q=???1/3√1/3√1/3√1/2√0?1/2√1/6√?2/6√1/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^=QQTb对于大多数b没有解正规方程有最佳解x^,其中QTQ=Ix^i就是qTibb的投影是(qT1b)q1+?+(qTnb)qn投影矩阵是P=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)?1QT或者P=QQT(7)
注意QTQ是n×n的单位矩阵,而QQT是m×m的投影矩阵P,它是Q列向量上的单位矩阵,但是QQT的正交补是零矩阵(QT的零空间)。
例3:下面的例子比较简单但是非常典型。假设我们将点b=(x,y,z)投影到x?y平面上,那么它的投影是p=(x,y,0),并且是分别在x轴和y轴上投影之和:
q1=???100???,(qT1b)q1=???x00???;q2=???010???,(qT2b)q2=???0y0???
这个投影矩阵是
P=q1qT1+q2qT2=???100010000???,P???xyz???=???xy0???
在平面上的投影=在标准正交向量q1,q2上投影之和。
例4:当测试时间的平均值是零时,拟合直线得到的是正交列。我们取t1=?3,t2=0,t3=3,然后拟合y=C+Dt得到含有两个未知量的三个方程:
CCC+++Dt1Dt2Dt3===y1y2y3,或者???111?303???[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(t?tˉ),距离说明:
c^=[1?1][y1?ym]T12+12+?+12=y1+?+ymm,d^=[(t1?tˉ)?(tm?tˉ)][y1?ym]T(t1?tˉ)2+?+(tm?tˉ)2=Σ(ti?tˉ)yiΣ(ti?tˉ)2(8)
最佳解c^是均值,同时得到d^的简化形式。之前ATA的反对角线元素是Σti,转变了时间t^后变成零,而这个转变就是格拉姆-施密特过程。
正交矩阵在数值线性代数中非常重要,因为他们引入了不稳定性。当长度保持不变的时候,可以控制住舍入误差。正交向量已经是非常基本的技术,可能出了消元法它就是第二基本的方法了。并且由它得到的分解A=QR和A=LU一样出名。