QR分解(正交三角分解)
QR分解
定义
如果实(复)非奇异矩阵
A
A
A能化成正交(酉)矩阵
Q
Q
Q与实(复)非奇异上三角矩阵的乘积,即
A
=
Q
R
A=QR
A=QR
则称是
A
A
A的
Q
R
QR
QR分解
定理1
任何实的非奇异 n n n阶矩阵 A A A可以分解成正交矩阵 Q Q Q和上三角矩阵 R R R的乘积,且除去相差一个对角线元素之绝对值全等于1的对角矩阵因子 D D D外,唯一分解
证明:
设
A
A
A的列向量分别为
α
1
,
α
2
,
⋯
,
α
n
\alpha_1,\alpha_2,\cdots,\alpha_n
α1,α2,⋯,αn,由于
A
A
A非奇异,所以他们线性无关,经过施密特正交化和单位化后,得到
n
n
n个标准正交的向量
β
1
,
β
2
,
⋯
,
β
n
\beta_1,\beta_2,\cdots,\beta_n
β1,β2,⋯,βn,且
{
β
1
=
b
11
α
1
,
β
2
=
b
12
α
1
+
b
22
α
2
⋮
β
n
=
b
1
n
α
1
+
b
2
n
α
2
+
⋯
+
b
n
n
α
n
\begin{cases} \beta_1 &=b_{11}\alpha_1,\\ \beta_2 &=b_{12}\alpha_1+b_{22}\alpha_{2}\\ &\vdots\\ \beta_n&=b_{1n}\alpha_1+b_{2n}\alpha_{2}+\cdots+b_{nn}\alpha_{n} \end{cases}
⎩⎪⎪⎪⎪⎨⎪⎪⎪⎪⎧β1β2βn=b11α1,=b12α1+b22α2⋮=b1nα1+b2nα2+⋯+bnnαn
这里
b
i
j
b_{ij}
bij都是常数,且由正交化过程可知
b
i
i
≠
0
(
i
=
1
,
2
,
⋯
,
n
)
b_{ii}\neq 0(i=1,2,\cdots,n)
bii=0(i=1,2,⋯,n),于是
(
β
1
,
β
2
,
⋯
,
β
n
)
=
(
α
1
,
α
2
,
⋯
,
α
n
)
B
(\beta_1,\beta_2,\cdots,\beta_n)=(\alpha_1,\alpha_2,\cdots,\alpha_n)B
(β1,β2,⋯,βn)=(α1,α2,⋯,αn)B
即
Q
=
A
B
Q=AB
Q=AB
其中
B
=
(
b
11
b
12
⋯
b
1
n
b
22
⋯
b
2
n
⋱
⋮
b
n
n
)
B= \begin{pmatrix} b_{11}&b_{12}&\cdots &b_{1n}\\ &b_{22}&\cdots&b_{2n}\\ &&\ddots&\vdots\\ &&&b_{nn}\\ \end{pmatrix}
B=⎝⎜⎜⎜⎛b11b12b22⋯⋯⋱b1nb2n⋮bnn⎠⎟⎟⎟⎞
是上三角矩阵
(
b
i
i
≠
0
(
i
=
1
,
2
,
⋯
,
n
)
)
(b_{ii}\neq 0(i=1,2,\cdots,n))
(bii=0(i=1,2,⋯,n))
显然
B
B
B可逆,
R
=
B
−
1
R=B^{-1}
R=B−1也是上三角矩阵
因为
Q
Q
Q的各列标准正交,所以
Q
Q
Q为正交矩阵,有
A
=
Q
R
A=QR
A=QR
唯一性:
不妨设
A
=
Q
R
=
Q
1
R
1
A=QR=Q_1 R_1
A=QR=Q1R1
其中
Q
,
Q
1
Q,Q_1
Q,Q1都是正交矩阵,
R
,
R
1
R,R_1
R,R1都是上三角矩阵,
Q
=
Q
1
R
1
R
−
1
=
Q
1
D
Q=Q_1R_1 R^{-1}=Q_1 D
Q=Q1R1R−1=Q1D
D
=
R
1
R
−
1
D=R_1 R^{-1}
D=R1R−1也是非奇异上三角矩阵,于是
I
=
Q
T
Q
=
(
Q
1
D
)
T
(
Q
1
D
)
=
D
T
D
I=Q^T Q=(Q_1 D)^T (Q_1 D)=D^T D
I=QTQ=(Q1D)T(Q1D)=DTD
D
=
(
d
11
d
12
⋯
d
1
n
d
22
⋯
d
2
n
⋱
⋮
d
n
n
)
D= \begin{pmatrix} d_{11}&d_{12}&\cdots &d_{1n}\\ &d_{22}&\cdots&d_{2n}\\ &&\ddots&\vdots\\ &&&d_{nn}\\ \end{pmatrix}
D=⎝⎜⎜⎜⎛d11d12d22⋯⋯⋱d1nd2n⋮dnn⎠⎟⎟⎟⎞
代入比较,得
d
11
2
=
1
,
d
12
=
⋯
=
d
1
n
=
0
d
22
2
=
1
,
d
23
=
⋯
=
d
2
n
=
0
⋮
d
n
n
2
=
1
d_{11}^2=1,d_{12}=\cdots =d_{1n}=0\\ d_{22}^2=1,d_{23}=\cdots =d_{2n}=0\\ \vdots\\ d_{nn}^2=1
d112=1,d12=⋯=d1n=0d222=1,d23=⋯=d2n=0⋮dnn2=1
从而
∣
d
i
i
∣
=
1
\left| d_{ii} \right|=1
∣dii∣=1
即
D
=
d
i
a
g
(
±
1
,
±
1
,
⋯
,
±
1
)
D=diag(\pm 1,\pm 1,\cdots,\pm 1)
D=diag(±1,±1,⋯,±1)
所以
D
D
D不仅是正交矩阵,而且还是对角线元素的绝对值全为1的对角矩阵
R
1
=
D
R
1
,
Q
1
=
Q
D
−
1
R_1=DR_1,Q_1=QD^{-1}
R1=DR1,Q1=QD−1
当然,如果规定 R , R 1 R,R_1 R,R1对角线上的元素为正实数,则 D = I D=I D=I,从而唯一分解
定理2
设
A
A
A为
m
×
n
m\times n
m×n的复矩阵
(
m
≥
n
)
(m\ge n)
(m≥n),且
n
n
n个列向量线性无关,则
A
A
A有分解式
A
=
U
R
A=UR
A=UR
其中
U
U
U是
m
×
n
m\times n
m×n的复矩阵,且
U
H
U
=
I
U^H U=I
UHU=I,
R
R
R是
n
n
n阶复非奇异上三角矩阵,且除去相差一个对角元素的模全为1的对角矩阵因子外,唯一分解
QR分解求法
吉文斯(Givens)方法
定理
任何非奇异矩阵可以通过左连乘初等旋转矩阵化为上三角矩阵
证明:
(1)
对实可逆矩阵
A
=
(
a
i
j
)
A=(a_{ij})
A=(aij)左乘初等旋转矩阵
R
i
j
R_{ij}
Rij以后,只改变
A
A
A的第
i
i
i行和第
j
j
j行元素
设
A
′
=
R
i
j
A
A'=R_{ij}A
A′=RijA
则
a
i
g
′
=
c
a
i
g
+
s
a
j
g
,
a
j
g
′
=
−
s
a
i
g
+
c
a
j
g
,
a
p
g
′
=
a
p
g
(
p
≠
i
,
j
;
g
=
1
,
2
,
⋯
,
n
)
a'_{ig}=ca_{ig}+sa_{jg},a'_{jg}=-sa_{ig}+ca_{jg},a'_{pg}=a_{pg}(p\neq i,j;g=1,2,\cdots,n)
aig′=caig+sajg,ajg′=−saig+cajg,apg′=apg(p=i,j;g=1,2,⋯,n)
如果要使得
A
′
A'
A′中的第
g
0
g_0
g0列的第
j
j
j元素
a
j
g
0
′
=
0
a'_{jg_0}=0
ajg0′=0,那么只要
a
i
g
0
a_{ig_0}
aig0和
a
j
g
0
a_{jg_0}
ajg0之一不为0,且取
s
=
a
j
g
0
a
i
g
0
2
+
a
j
g
0
2
,
c
=
a
i
g
0
a
i
g
0
2
+
a
j
g
0
2
s=\frac{a_{jg_0}}{\sqrt{a_{ig_0}^2+a_{jg_0}^2}},c=\frac{a_{ig_0}}{\sqrt{a_{ig_0}^2+a_{jg_0}^2}}
s=aig02+ajg02ajg0,c=aig02+ajg02aig0
此时
a
i
g
0
′
=
a
i
g
0
2
+
a
j
g
0
2
>
0
a'_{ig_0}=\sqrt{a_{ig_0}^2+a_{jg_0}^2} >0
aig0′=aig02+ajg02>0
也就是
A
A
A的第
g
0
g_0
g0列的第
j
j
j个元素化为0,第
g
0
g_0
g0列的第
i
i
i个元素的变为正数,其余元素不变
(2)
假设
a
11
≠
0
a_{11}\neq 0
a11=0,取
g
0
=
1
g_0=1
g0=1,连续左乘
R
12
,
R
13
,
⋯
,
R
1
n
R_{12},R_{13},\cdots,R_{1n}
R12,R13,⋯,R1n,使得第1列的第1个元素为正外,其余元素都被逐个化为0,即
A
(
1
)
=
R
1
n
R
1
,
n
−
1
⋯
R
12
A
=
(
a
11
(
1
)
a
12
(
1
)
⋯
a
1
n
(
1
)
0
a
22
(
1
)
⋯
a
2
n
(
1
)
⋮
⋮
⋮
0
a
n
2
(
1
)
⋯
a
n
n
(
1
)
)
\begin{aligned} A^{(1)}&=R_{1n}R_{1,n-1}\cdots R_{12}A\\ &= \begin{pmatrix} a_{11}^{(1)}&a_{12}^{(1)}&\cdots&a_{1n}^{(1)}\\ 0&a_{22}^{(1)}&\cdots&a_{2n}^{(1)}\\ \vdots&\vdots&&\vdots\\ 0&a_{n2}^{(1)}&\cdots&a_{nn}^{(1)}\\ \end{pmatrix} \end{aligned}
A(1)=R1nR1,n−1⋯R12A=⎝⎜⎜⎜⎜⎛a11(1)0⋮0a12(1)a22(1)⋮an2(1)⋯⋯⋯a1n(1)a2n(1)⋮ann(1)⎠⎟⎟⎟⎟⎞
且
a
11
(
1
)
>
0
a_{11}^{(1)}>0
a11(1)>0
如果
a
1
1
=
0
a_11=0
a11=0,则
A
A
A从 左乘
R
1
i
0
R_{1i_0}
R1i0开始,其中
i
0
i_0
i0是
a
i
1
≠
0
a_{i1}\neq 0
ai1=0的最小下标,因为
A
A
A是可逆的,所以列向量不能为0,也就是说一定可以找到,此时
R
1
i
0
A
R_{1i_0}A
R1i0A的第1列第1个元素为正
因为
A
A
A是可逆的,所以右下角的子式非零,所以在
a
22
(
1
)
,
a
32
(
1
)
,
⋯
,
a
n
2
(
1
)
a_{22}^{(1)},a_{32}^{(1)},\cdots,a_{n2}^{(1)}
a22(1),a32(1),⋯,an2(1)中至少有一个不为0,此时同样可以认为
a
22
(
1
)
≠
0
a_{22}^{(1)}\neq 0
a22(1)=0,取
g
0
=
2
g_0=2
g0=2,连续左乘
R
23
,
R
24
,
⋯
,
R
2
n
R_{23},R_{24},\cdots,R_{2n}
R23,R24,⋯,R2n使
A
(
1
)
A^{(1)}
A(1)化为
A
(
2
)
=
R
2
n
R
2
,
n
−
1
⋯
R
23
A
(
1
)
=
(
a
11
(
1
)
a
12
(
1
)
a
13
(
1
)
⋯
a
1
n
(
1
)
0
a
22
(
1
)
a
23
(
2
)
⋯
a
2
n
(
2
)
0
0
a
33
(
2
)
⋯
a
3
n
(
2
)
⋮
⋮
⋮
⋮
0
0
a
n
3
(
2
)
⋯
a
n
n
(
2
)
)
\begin{aligned} A^{(2)}&=R_{2n}R_{2,n-1}\cdots R_{23}A^{(1)}\\ &= \begin{pmatrix} a_{11}^{(1)}&a_{12}^{(1)}&a_{13}^{(1)}&\cdots&a_{1n}^{(1)}\\ 0&a_{22}^{(1)}&a_{23}^{(2)}&\cdots&a_{2n}^{(2)}\\ 0&0&a_{33}^{(2)}&\cdots&a_{3n}^{(2)}\\ \vdots&\vdots&\vdots&&\vdots\\ 0&0&a_{n3}^{(2)}&\cdots&a_{nn}^{(2)}\\ \end{pmatrix} \end{aligned}
A(2)=R2nR2,n−1⋯R23A(1)=⎝⎜⎜⎜⎜⎜⎜⎛a11(1)00⋮0a12(1)a22(1)0⋮0a13(1)a23(2)a33(2)⋮an3(2)⋯⋯⋯⋯a1n(1)a2n(2)a3n(2)⋮ann(2)⎠⎟⎟⎟⎟⎟⎟⎞
且第一行元素不变,
a
22
(
2
)
>
0
a_{22}^{(2)}>0
a22(2)>0
继续进行下去
A
(
n
−
1
)
=
R
n
−
1
,
n
⋯
R
12
A
=
(
a
11
(
1
)
a
12
(
1
)
⋯
a
1
n
(
1
)
0
a
22
(
2
)
⋯
a
2
n
(
2
)
⋮
⋮
⋱
⋮
0
0
⋯
a
n
n
(
n
−
1
)
)
\begin{aligned} A^{(n-1)}&=R_{n-1,n}\cdots R_{12}A\\ &= \begin{pmatrix} a_{11}^{(1)}&a_{12}^{(1)}&\cdots&a_{1n}^{(1)}\\ 0&a_{22}^{(2)}&\cdots&a_{2n}^{(2)}\\ \vdots&\vdots&\ddots&\vdots\\ 0&0&\cdots&a_{nn}^{(n-1)}\\ \end{pmatrix} \end{aligned}
A(n−1)=Rn−1,n⋯R12A=⎝⎜⎜⎜⎜⎛a11(1)0⋮0a12(1)a22(2)⋮0⋯⋯⋱⋯a1n(1)a2n(2)⋮ann(n−1)⎠⎟⎟⎟⎟⎞
其中除了最后一个
a
n
n
(
n
−
1
)
a_{nn}^{(n-1)}
ann(n−1)外,所有的对角线元素都是正的,显然
a
n
n
(
n
−
1
)
a_{nn}^{(n-1)}
ann(n−1)的符号与
A
A
A的行列式的符号一致
求法
由上面的定理,我们可以看出,利用初等旋转矩阵讲
A
A
A化为上三角矩阵的过程实际上存在
A
A
A的一个
Q
R
QR
QR分解
R
=
A
(
n
−
1
)
R=A^{(n-1)}
R=A(n−1)
Q
=
(
R
n
−
1
⋯
R
12
)
−
1
=
(
R
n
−
1
⋯
R
12
)
T
Q=(R_{n-1}\cdots R_{12})^{-1}=(R_{n-1}\cdots R_{12})^T
Q=(Rn−1⋯R12)−1=(Rn−1⋯R12)T
每个
R
i
j
R_{ij}
Rij都是正交矩阵,所以他们的乘积的逆矩阵
Q
Q
Q也是正交矩阵,从而
A
=
Q
R
A=QR
A=QR
显然吉文斯方法需要 n ( n − 1 ) 2 \frac{n(n-1)}{2} 2n(n−1)个初等矩阵连乘,当 n n n比较大的时候,工作量比较大,适合稀疏矩阵
豪斯霍尔德(Housholder)方法
定理
任何实的 n n n阶矩阵 A A A可用初等反射矩阵 H = I − 2 ω ω T H=I-2\omega \omega^T H=I−2ωωT化为上三角矩阵
证明:
A
=
(
α
1
(
1
)
,
α
2
(
1
)
,
⋯
,
α
n
(
1
)
A=(\alpha_1^{(1)},\alpha_2^{(1)},\cdots,\alpha_n^{(1)}
A=(α1(1),α2(1),⋯,αn(1)
其中
α
i
(
1
)
\alpha_i^{(1)}
αi(1)是
A
A
A的第
i
i
i个列向量,因为
α
1
(
1
)
≠
0
\alpha_1^{(1)}\neq 0
α1(1)=0
根据
ω
=
ξ
−
∣
ξ
∣
ζ
∣
ξ
−
∣
ξ
∣
ζ
∣
\omega=\frac{\xi-\left|\xi\right|\zeta}{\left|\xi-\left|\xi\right|\zeta\right|}
ω=∣ξ−∣ξ∣ζ∣ξ−∣ξ∣ζ
构造一个单位向量
ω
(
1
)
\omega^{(1)}
ω(1),使得
α
1
(
1
)
\alpha_{1}^{(1)}
α1(1)与单位向量
e
1
=
(
1
,
0
,
⋯
,
0
)
T
e_1=(1,0,\cdots,0)^T
e1=(1,0,⋯,0)T同向.从而必然存在初等反射矩阵
H
(
1
)
H^{(1)}
H(1),使得
H
(
1
)
A
=
(
∣
a
11
(
1
)
∣
∗
0
A
n
−
1
)
H^{(1)}A= \begin{pmatrix} \left|a_{11}^{(1)}\right|& *\\ 0&A_{n-1}\\ \end{pmatrix}
H(1)A=(∣∣∣a11(1)∣∣∣0∗An−1)
然后对矩阵
A
n
−
1
A_{n-1}
An−1再用
n
−
1
n-1
n−1阶的初等反射矩阵
H
^
(
2
)
\hat{H}^{(2)}
H^(2),使得
H
^
(
2
)
A
n
−
1
=
(
∣
a
22
(
2
)
∣
∗
0
A
n
−
2
)
\hat{H}^{(2)}A_{n-1}=\begin{pmatrix} \left|a_{22}^{(2)}\right|& *\\ 0&A_{n-2}\\ \end{pmatrix}
H^(2)An−1=(∣∣∣a22(2)∣∣∣0∗An−2)
因此有
H
(
2
)
=
(
1
0
T
0
H
^
(
2
)
)
H^{(2)}=\begin{pmatrix} 1&0^T\\ 0&\hat{H}^{(2)}\\ \end{pmatrix}
H(2)=(100TH^(2))
使得
H
(
2
)
H
(
1
)
A
=
(
∣
a
11
(
1
)
∣
∗
0
∣
a
22
(
2
)
∣
∗
0
0
⋮
⋮
A
n
−
2
0
0
)
H^{(2)}H^{(1)}A= \begin{pmatrix} \left|a_{11}^{(1)}\right|&&*\\ 0&\left|a_{22}^{(2)}\right|&*\\ 0&0&\\ \vdots&\vdots&A_{n-2}\\ 0&0&\\ \end{pmatrix}
H(2)H(1)A=⎝⎜⎜⎜⎜⎜⎜⎜⎛∣∣∣a11(1)∣∣∣00⋮0∣∣∣a22(2)∣∣∣0⋮0∗∗An−2⎠⎟⎟⎟⎟⎟⎟⎟⎞
下面我们证明
H
(
2
)
H^{(2)}
H(2)是初等反射矩阵
若
H
^
(
2
)
=
I
n
−
1
−
2
ω
^
ω
^
T
\hat{H}^{(2)}=I_{n-1}-2\hat{\omega}\hat{\omega}^T
H^(2)=In−1−2ω^ω^T,其中
ω
^
\hat{\omega}
ω^是
n
−
1
n-1
n−1维的单位向量
记
ω
=
(
0
ω
^
)
\omega=\begin{pmatrix} 0\\ \hat{\omega} \end{pmatrix}
ω=(0ω^)
显然
ω
\omega
ω是
n
n
n维的单位向量
H
(
2
)
=
I
−
2
ω
ω
T
H^{(2)}=I-2\omega \omega^T
H(2)=I−2ωωT
因此
H
(
2
)
H^{(2)}
H(2)也是初等反射矩阵
继续进行下去,便能化为上三角矩阵
H
(
n
−
1
)
⋯
H
(
1
)
A
=
A
(
n
)
H^{(n-1)}\cdots H^{(1)}A=A^{(n)}
H(n−1)⋯H(1)A=A(n)
因为
A
n
−
1
,
⋯
,
A
2
A_{n-1},\cdots,A_2
An−1,⋯,A2的第1列均不为零向量(否则与非奇异矛盾),所以这个过程可以执行到底
求法
由上述定理
A
=
(
H
(
n
−
1
)
⋯
H
(
1
)
)
−
1
A
(
n
)
A=(H^{(n-1)}\cdots H^{(1)})^{-1}A^{(n)}
A=(H(n−1)⋯H(1))−1A(n),令
R
=
A
(
n
)
R=A^{(n)}
R=A(n)
Q
=
(
H
(
n
−
1
)
⋯
H
(
1
)
)
−
1
=
(
H
(
n
−
1
)
⋯
H
(
1
)
)
T
Q=(H^{(n-1)}\cdots H^{(1)})^{-1}=(H^{(n-1)}\cdots H^{(1)})^T
Q=(H(n−1)⋯H(1))−1=(H(n−1)⋯H(1))T
因为
H
(
i
)
(
i
=
1
,
2
,
⋯
,
n
−
1
)
H^{(i)}(i=1,2,\cdots,n-1)
H(i)(i=1,2,⋯,n−1)是正交矩阵,所以他们的乘积的逆矩阵
Q
Q
Q也是正交矩阵,于是
A
=
Q
R
A=QR
A=QR
可以看出,豪斯霍尔德方法只要左乘 n − 1 n-1 n−1个初等矩阵,计算量大约是吉文斯方法的一半
吉文斯方法和豪斯霍尔德方法都可以推广到复矩阵
证明:(不会)