1.标准正交向量
前面讲过向量和矩阵的运算,提到过如果两个向量的乘积是0,那么这两个向量正交。除此之外,标准正交向量也是一个重要概念:设有一组向量
q
1
,
q
2
,
.
.
.
,
q
n
q_1,q_2,...,q_n
q1,q2,...,qn,如果满足下列条件则称其为一组标准正交向量
q
i
T
q
j
=
0
,
i
≠
j
1
,
j
=
j
q_i^Tq_j=\begin{matrix}0,i\neq j\\1,j=j\end{matrix}
qiTqj=0,i=j1,j=j
标准正交向量的长度都是1,并且两两相互正交。
2.标准正交矩阵
如果矩阵
Q
Q
Q的列是标准正交向量组,那么
Q
T
Q
=
I
Q^TQ=I
QTQ=I,如果恰好
Q
Q
Q是方阵,同时满足其列是标准正交向量组,那么称
Q
Q
Q为正交矩阵,
Q
T
Q
=
I
,
Q
−
1
Q
=
I
,
Q
−
1
=
Q
T
Q^TQ=I,Q^{-1}Q=I,Q^{-1}=Q^T
QTQ=I,Q−1Q=I,Q−1=QT
例如:
Q
=
[
0
0
1
1
0
0
0
1
0
]
,
Q
T
=
[
0
1
0
0
0
1
1
0
0
]
Q=\begin{bmatrix}0&0&1\\1&0&0\\0&1&0\end{bmatrix},Q^T=\begin{bmatrix}0&1&0\\0&0&1\\1&0&0\end{bmatrix}
Q=⎣
⎡010001100⎦
⎤,QT=⎣
⎡001100010⎦
⎤这两者都是正交矩阵。
A
=
[
1
1
1
−
1
]
A=\begin{bmatrix}1&1\\1&-1\end{bmatrix}
A=[111−1]不是正交矩阵,因为列向量的长度不是
1
1
1,将其前面除以
2
\sqrt{2}
2就可以将其转化成正交矩阵:
A
’
=
1
2
[
1
1
1
−
1
]
A^’=\frac{1}{\sqrt{2}}\begin{bmatrix}1&1\\1&-1\end{bmatrix}
A’=21[111−1]再比如:
B
=
1
3
[
1
−
2
2
−
1
2
2
]
B=\frac{1}{3}\begin{bmatrix}1&-2\\2&-1\\2&2\end{bmatrix}
B=31⎣
⎡122−2−12⎦
⎤虽然列向量为标准正交向量,但因为它不是方阵,所以不称为正交矩阵,将其扩展成:
B
=
1
3
[
1
−
2
2
2
−
1
−
2
2
2
1
]
B=\frac{1}{3}\begin{bmatrix}1&-2&2\\2&-1&-2\\2&2&1\end{bmatrix}
B=31⎣
⎡122−2−122−21⎦
⎤就可以称之为正交阵了。
2.1标准正交矩阵的优势
前面讲过向量的投影,推出投影矩阵的表达式为:
P
m
=
A
A
T
A
T
A
=
A
(
A
T
A
)
−
1
A
T
P_m=\frac{AA^T}{A^TA}=A(A^TA)^{-1}A^T
Pm=ATAAAT=A(ATA)−1AT,本式子是将某向量投射到
A
A
A的列空间的投影矩阵。如果矩阵
A
A
A是正交矩阵,那么运算会简单的多,因为
A
T
A
=
I
A^TA=I
ATA=I所以
P
m
=
A
A
T
P_m=AA^T
Pm=AAT,进一步地
A
A
A是正交矩阵
A
A
T
=
I
AA^T=I
AAT=I,所以最终
P
m
=
I
P_m=I
Pm=I。
除此之外,还有前面讲过的无解矩阵求解最优解的问题:
A
T
A
x
^
=
A
T
b
A^TA\hat{x}=A^Tb
ATAx^=ATb,最终演变成
x
^
=
A
T
b
\hat{x}=A^Tb
x^=ATb
3.格拉姆-施密特正交化
加入有两个向量
a
,
b
a,b
a,b,如下图所示。我们希望从
b
b
b出发,找到一个向量能与
a
a
a形成标准正交,其步骤如下:
1.将向量单位化,这一步是施密特提出的(GS老师嘲讽施密特“真聪明”),具体来说就是
a
1
=
a
∣
∣
a
∣
∣
,
b
1
=
b
∣
∣
b
∣
∣
a_1=\frac{a}{||a||},b_1=\frac{b}{||b||}
a1=∣∣a∣∣a,b1=∣∣b∣∣b
2.利用投影,找到原向量的有效分量(与
a
a
a正交的分量).令
b
b
b往
a
a
a方向投影,则投影向量
p
=
a
T
b
a
t
a
a
p=\frac{a^Tb}{a^ta}a
p=ataaTba,误差向量
e
=
b
−
a
T
b
a
t
a
a
e=b-\frac{a^Tb}{a^ta}a
e=b−ataaTba这个误差向量就是
b
b
b与
a
a
a正交的分量。
验证:
e
e
e与
a
a
a正交,
a
T
e
=
a
T
(
b
−
a
T
b
a
t
a
a
)
=
a
T
b
−
a
T
a
T
b
a
t
a
a
=
0
a^Te=a^T(b-\frac{a^Tb}{a^ta}a)=a^Tb-a^T\frac{a^Tb}{a^ta}a=0
aTe=aT(b−ataaTba)=aTb−aTataaTba=0
问题上面讲的是2个向量的正交化,如果有3个向量怎么办?
如果有三个向量那么
c
c
c的正交化就是用向量
c
c
c减去其在
a
,
b
a,b
a,b方向上的分量即可。
c
1
=
c
−
a
T
c
a
T
a
a
−
b
T
c
b
T
b
b
c_1=c-\frac{a^Tc}{a^Ta}a-\frac{b^Tc}{b^Tb}b
c1=c−aTaaTca−bTbbTcb
例:有向量
a
=
[
1
1
1
]
,
b
=
[
1
0
2
]
a=\begin{bmatrix}1\\1\\1\end{bmatrix},b=\begin{bmatrix}1\\0\\2\end{bmatrix}
a=⎣
⎡111⎦
⎤,b=⎣
⎡102⎦
⎤求由他们演化而来的标准正交向量。
A
=
[
1
1
1
]
,
B
=
b
−
a
T
b
a
T
a
a
=
[
1
0
2
]
−
3
3
[
1
1
1
]
=
[
0
−
1
1
]
A=\begin{bmatrix}1\\1\\1\end{bmatrix},B=b-\frac{a^Tb}{a^Ta}a=\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=⎣
⎡111⎦
⎤,B=b−aTaaTba=⎣
⎡102⎦
⎤−33⎣
⎡111⎦
⎤=⎣
⎡0−11⎦
⎤
q
1
=
A
∣
∣
A
∣
∣
=
[
1
3
1
3
1
3
]
,
q
2
=
B
∣
∣
B
∣
∣
=
[
0
−
1
2
−
1
2
]
q_1=\frac{A}{||A||}=\begin{bmatrix}\frac{1}{\sqrt{3}}\\\frac{1}{\sqrt{3}}\\\frac{1}{\sqrt{3}}\end{bmatrix},q_2=\frac{B}{||B||}=\begin{bmatrix}0\\-\frac{1}{\sqrt2}\\-\frac{1}{\sqrt2}\end{bmatrix}
q1=∣∣A∣∣A=⎣
⎡313131⎦
⎤,q2=∣∣B∣∣B=⎣
⎡0−21−21⎦
⎤
原列向量组成的矩阵为
W
=
[
1
1
1
0
1
2
]
W=\begin{bmatrix}1&1\\1&0\\1&2\end{bmatrix}
W=⎣
⎡111102⎦
⎤正交化后的向量组成的矩阵为
Q
=
[
1
3
0
1
3
1
2
1
3
1
2
]
Q=\begin{bmatrix}\frac{1}{\sqrt{3}}&0\\\frac{1}{\sqrt{3}}&\frac{1}{\sqrt{2}}\\\frac{1}{\sqrt{3}}&\frac{1}{\sqrt{2}}\end{bmatrix}
Q=⎣
⎡31313102121⎦
⎤
矩阵
W
W
W和
Q
Q
Q拥有相同的列空间,因为
Q
Q
Q的列空间本身就是由向量
a
,
b
a,b
a,b张成的