QR方法

特征值与特征向量的计算

张瑞
中国科学技术大学数学科学学院

QR方法

QR 方法

若矩阵A有$A=QR$,其中$Q$是正交阵(即$Q^TQ=I$),$R$为上三角阵,则

\[Q^TAQ=Q^TQRQ=RQ \]

也就是说,$RQ$$A$是正交相似的,它们有相同的特征值。

$A_0=A$。若有QR分解$A_k=Q_kR_k$,则取$A_{k+1}=R_kQ_k$。在一定条件下(如$A$$n$个互不相同的实特征值时),可以证明$A_k$收敛到上三角阵。

QR分解

定义 1.
将矩阵分解为一下正交阵$Q$与上三角阵$R$乘积的过程,称为QR分解

矩阵的QR分解有很多方法,如用Given旋转矩阵,Schmidt正交化过程等。

定理 1.
$A\in\mathbb R^{n\times n}$,则存在正交阵$P$,使得$PA=R$,其中$R$是上三角阵

定理 2.
$A\in\mathbb R^{n\times n}$,且$A$非奇异,则存在正交阵$Q$,上三角阵$R$,使得$A$有如下分解

\[A=QR \]

且当$R$的对角元均为正时,分解是唯一的。

Householder反射变换

定义 2.
$\omega\in\mathbb{R}^n$,且$\|\omega\|_2=1$,则

\[P=I-2\omega\omega^T \]

称为Householder变换,或者Householder矩阵。易得,$P$是一个对称的正交阵。

证明

\[\begin{array}{ll} Pv&=(I-2\omega\omega^T)(v_1+v_2) \\ &=(v_1+v_2)-2\omega\omega^Tv_1-2\omega\omega^Tv_2 \end{array} \]

$v_1\perp\omega$,则$\omega\cdot v_1=0$,即$\omega^Tv_1=0$

$v_2//\omega$,则$v_2=\lambda\omega$

\[\begin{aligned} \omega\omega^Tv_2=\omega\omega^T\lambda\omega =\omega\lambda\omega^T\omega \\ =\lambda\omega\|\omega\|_2 =\lambda\omega=v_2 \end{aligned} \]

所以,

\[Pv=v_1+v_2-0-2v_2=v_1-v_2 \]

$x,y\in\mathbb{R}^n$,且$\|x\|_2=\|y\|_2$。 取$\omega=\frac{x-y}{\|x-y\|_2}$,则有

\[y=Px \]

问题. $x=(x_1,\cdots,x_n)^T\neq 0$,如何取Householder变换$P$和常数$k$,使得

\[Px=k e_1 , \quad e_1=(1,0,\cdots,0)^T \]

问题. 如何利用Householder变换将任意矩阵$A$变为上三角阵?

先取$A$的第1列作为向量$x$,由存在Householder矩阵$H_1$,使得

\[H_1A=\begin{pmatrix} \alpha_1 & * & \cdots & * \\ 0 & & & \\ \vdots & & A_2 & \\ 0 & & & \\ \end{pmatrix} \]

$A_2$是一个低一阶的矩阵。则存在$H'_2$使得$H'_2A_2$的第1列下三角部分为0。

$H_2$

\[H_2=\begin{pmatrix} 1 & 0 & \cdots & 0 \\ 0 & & & \\ \vdots & & H'_2 & \\ 0 & & & \\ \end{pmatrix} \]

$H_2H_1$$A$的第1和第2列下三角部分变为0。

经过$n-1$步后,矩阵$A$就成为一个上三角阵$R$

\[H_{n-1}\cdots H_2H_1A=R \]

\[Q=H_1^TH_2^T\cdots H_{n-1}^T \]

$A=QR$

例 1. 将矩阵$A$的分解为一个正交阵与上三角阵的乘积

\[A=\begin{pmatrix} 0 & 3 & 1 \\ 0 & 4 & -2 \\ 2 & 1 & 1 \end{pmatrix} \]

. $x_1=(0,0,2)^T$,记$a_1=\|x_1\|_2=2$,令

\[w_1=\frac{x_1-a_1e_1}{\|x_1-a_1e_1\|_2}=\frac1{\sqrt{2}}(-1,0,1)^T \]

\[H_1=I-2w_1 w_1^T=\begin{pmatrix} 0 & 0 & 1\\ 0 & 1 & 0\\ 1 & 0 & 0 \end{pmatrix} \]
\[H_1 A=\begin{pmatrix} 2 & 1 & 2 \\ 0 & 4 & -2 \\ 0 & 3 & 1 \end{pmatrix} \]

$x_2=(4,3)^T$,则$b_2=\|x_2\|_2=5$,令

\[w_2=\frac{x_2-b_2e_2}{\|x_2-b_2e_2\|_2}=\frac1{\sqrt{10}}(-1,3)^T \]

\[\tilde H_2=I-2 w_2 w_2^T=\frac15\begin{pmatrix} 4 & 3 \\ 3 & -4 \end{pmatrix} \]

\[H_2=\begin{pmatrix} 1 & 0^T \\ 0 & \tilde H_2\end{pmatrix} \]
\[H_2(H_1 A)=\begin{pmatrix} 2 & 1 & 2 \\ 0 & 5 & -1 \\ 0 & 0 & -2 \end{pmatrix}=R \]
\[Q=H_1H_2=\frac15\begin{pmatrix} 0 & 3 & -4 \\ 0 & 4 & 3 \\ 5 & 0 & 0 \end{pmatrix} \]

例 2. 做矩阵$A$的QR分解

\[A=\begin{pmatrix} 2 & -2 & 3 \\ 1 & 1 & 1 \\ 1 & 3 & -1 \end{pmatrix} \]

. $P_1\in\mathbb R^{n\times n}$,使

\[P_1\begin{pmatrix}2 \\ 1 \\ 1 \end{pmatrix}=\begin{pmatrix} a_1 \\ 0 \\ 0 \end{pmatrix} \]

其中$a_1=\sqrt{2^2+1+1}=\sqrt{6}$。 则有

\[P_1=I-2\omega_1\omega_1^T, \quad \omega_1=\frac{x_1-a_1e_1}{\|x_1-a_1e_1\|_2} \]

可得,

\[P_1=\begin{pmatrix} -0.816497 & -0.408248 & -0.408248 \\ -0.408248 & 0.908248 & -0.091751 \\ -0.408248 & -0.091751 & 0.908248 \end{pmatrix} \]
\[P_1A=\begin{pmatrix} -2.44949 & 0 & 2.44949 \\ 0 & 1.44949 & -0.224745 \\ 0 & 3.44949 & -2.22474 \end{pmatrix} \]

$\bar P_2\in\mathbb R^{2\times 2}$,使$\bar P_2(1.44949, 3.44949)^T=(*,0)^T$

\[P_2=\begin{pmatrix} 1 & 0 \\ 0 & \bar P_2 \end{pmatrix} =\begin{pmatrix} 1 & 0 & 0 \\ 0 & -0.387392 & -0.921915 \\ 0 & -0.921915 & 0.387392 \end{pmatrix} \]
\[R=P_2(P_1A)=\begin{pmatrix} -2.44949 & 0 & -2.44949 \\ 0 & -3.74166 & 2.13809 \\ 0 & 0 & -0.654654 \end{pmatrix} \]
\[Q=P_2P_1=\begin{pmatrix} -0.81649658 & 0.53452248 & 0.21821789 \\ -0.40824829 & -0.26726124 & -0.87287156 \\ -0.40824829 & -0.80178373 & 0.43643578 \\ \end{pmatrix} \]

例 3. 用QR方法求矩阵$A$的特征值

\[A=\begin{pmatrix} 2 & -2 & 3 \\ 1 & 1 & 1 \\ 1 & 3 & -1 \end{pmatrix} \]

. $A=QR$

\[R=\begin{pmatrix} -2.44949 & 0 & -2.44949 \\ 0 & -3.74166 & 2.13809 \\ 0 & 0 & -0.654654 \end{pmatrix} \]
\[Q=\begin{pmatrix} -0.81649658 & 0.53452248 & 0.21821789 \\ -0.40824829 & -0.26726124 & -0.87287156 \\ -0.40824829 & -0.80178373 & 0.43643578 \\ \end{pmatrix} \]

$A_2=RQ$

\[A_2=\begin{pmatrix} 3. & 0.65465367 & -1.60356745 \\ 0.65465367 & -0.71428571 & 4.19912527 \\ 0.26726124 & 0.52489066 & -0.28571429 \\ \end{pmatrix} \]
第7步
[[  3.00091156e+00  -3.10114983e-01   7.55736329e-01]
 [  2.05995975e-03  -2.04883645e+00  -4.00374260e+00]
 [ -1.56818338e-03   3.71776744e-02   1.04792489e+00]]
Step: 17
[[  3.00000002e+00  -3.24434000e-01   7.49272485e-01]
 [  3.51723303e-08  -2.00004722e+00  -4.04141682e+00]
 [ -2.61093216e-08   3.50559950e-05   1.00004721e+00]]
Step: 27
[[  3.00000000e+00  -3.24442834e-01   7.49268653e-01]
 [  5.95651648e-13  -2.00000005e+00  -4.04145185e+00]
 [ -4.42156694e-13   3.42316677e-08   1.00000005e+00]]

Givens旋转矩阵

一个$n\times n$的旋转矩阵为

\[G(i,j,\theta)=\begin{pmatrix} 1 & & & & & & \\ & \ddots & & & & & \\ & & \cos\theta & & \sin\theta & & \\ & & & \ddots & & & \\ & & -\sin\theta & & \cos\theta & & \\ & & & & & \ddots & \\ & & & & & & 1 \end{pmatrix} \]

其中,$\sin\theta$$(i,j)$处,$-\sin\theta$$(j,i)$位置。 则$G(i,j,\theta)$为正交阵。

$x\in\mathbb{R}^n$$y=G(i,j,\theta)x$,则$y$的分量为

\[\begin{aligned} \left\{ \begin{array}{l} y_i=c x_i+s x_j \\ y_j=-s x_i+c x_j \\ y_k=x_k, k\neq i, k\neq j \end{array} \right. \end{aligned} \]

若要使$y_j=0$,只要取$\theta$满足

\[\begin{aligned} \left\{ \begin{array}{l} c=\cos\theta=\frac{x_i}{\sqrt{x_i^2+x_j^2}}, \\ s=\sin\theta=\frac{x_j}{\sqrt{x_i^2+x_j^2}}, \\ \end{array} \right. \end{aligned} \]

谢谢

vertical slide 2

目录

本节读完

例 4.

4.