Orthonormal Bases

对于一个给定的空间 Rn,有无限多的基。 每组基都可以线性组合成该空间的向量。 在这么多组基中,最好的基,就叫做 Orthonormal Bases,常用 q1,q2,qn 来表示。

Orthonormal Bases 有以下性质: qiTqj={0ifij(orthogonality) 1ifi=j(normalization)

由 Orthonormal Bases 组成的矩阵一般称为 Q ,一般来说矩阵 Q 都是比较高的,也就是 Qm×n 中的 mn ,因为 Othonormal Bases 是互相垂直的,且是m 维的向量组成的,所以 m 一定要比 n 大,否则就很难相互之间垂直了。

如果 m=n ,则 Orthonormal Bases 形成一个方阵,这个方阵的名字叫做 Orthogonal Matrix。 注意 Bases 是 Orthonormal, 而 Matrix 是 Orthogonal 。

Orthogonal Matrix 的特点

  • 结合 Orthonormal Bases 的性质,Orthogonal Matrix 的各列都是正交的,而且各列的长度为 1
  • QTQ=I也就是 QT=Q1同时 QQT=I
    • 这点特别重要,因为求 Orthogonal Matrix 的 Q1 会变的特别简单,只要 QT 就可以了。

第二点要证明也很简单,如下:

QTQ=[q1Tq2Tq3T][q1q2q3]=[100010001]=I=Q1Q

QQT=(QTQ)T=IT=I

Orthogonal Matrix 对向量的操作

orthogonal Matrix 对向量的操作,主要就是用来 旋转、反射向量,或者是这两个操作的结合。

Orthonormal Bases 好什么好处?

如果一个向量可以用 Orthonormal Bases 来表示,那么很容易就能找到他们的系数。 比如: b=x1q1+x2q2++xnqn 只要 q1,q2,,qn 是一组 Orthonormal Bases,那么找到 x 会很简单。因为如果两边同时左乘 q1T,参考开头 qiTqj 的定义, 就能进行推导: q1Tb=x1q1Tq1+x2q1Tq2++xnq1Tqn=x1

或者直接用用矩阵的方式来解决,让 Q 为 Orthogonal Matrix:

Qx=bQ1Qx=Q1bx=Q1bx=QTb

这里可以看出来,由于 A1=AT ,所以求解线性方程组会变得非常简单,毕竟 x1 还是有计算量的,而 xT 就很容易看出来了。

到这里可以看出来,在 Orthogonal Matrix 中,一个向量可以分别投影到各个 base 向量中,而各个 base 是垂直的。一个最简单的想象方式就是小时候经常训练的由 (x,y) 组成的二维平面。

上一篇文章中提到的投影矩阵 P=A(ATA)1AT,如果 AQ,则 P=Q(QTQ)1QT=QQT。 注意这里的 Qm×n 中的 m 可能和 n 不相等。如果 m=n,那么 P=I

Ax=b 的问题上,如果 AQ ,则 x=QTb

如何把普通的 A 转换为 Q

使用 Gram-Schmidt 方法,把相互独立的 bases,转换成相互垂直的 bases,同时使得两者 span 成的空间不变。具体的方法这里就不展开了。