切换科目
重点科目
主要科目
次要科目
科数网
首页
刷题
学习
VIP会员
赞助
组卷
集合
教材
VIP
写作
游客,
登录
注册
在线学习
数值分析
第二篇 线性方程组的数值解法与特征值估计
QR方法(2)
最后
更新:
2026-06-18 22:37
查看:
3
次
纠错
评论(0)
课件
开VIP
QR方法(2)
定义 4.6 对于方阵 $A$ ,如果当 $i>j+1$ 时,有 $a_{i j}=0$ ,则称 $A$ 为上海森伯矩阵,即 $$ A=\left(\begin{array}{cccc} a_{11} & a_{12} & \cdots & a_{1 n} \tag{4.23}\\ a_{21} & a_{22} & \cdots & a_{2 n} \\ & \ddots & \ddots & \vdots \\ & & a_{n n-1} & a_{n n} \end{array}\right) . $$ 上海森伯矩阵(简称海氏矩阵),有时候也称为拟三角矩阵。由于它的非零元素比三角矩阵多了一条次对角线,所以海氏矩阵虽然不是三角矩阵,但它很接近三角矩阵。 例 4.12 设 $A=\left(\begin{array}{lll}1 & 5 & 7 \\ 8 & 0 & 6 \\ 4 & 3 & 1\end{array}\right)$ ,用豪斯霍尔德变换将 $A$ 化为海氏矩阵。 解 因为 $A$ 的第一列元素为 $b_1=(1,8,4)^{\mathrm{T}}$ ,取 $$ u_1=(1,-4 \sqrt{5}, 0)^{\mathrm{T}} . $$ 则 $$ v_1=b_1-u_1=(0,8+4 \sqrt{5}, 4)^{\mathrm{T}}, \quad\left\|v_1\right\|_2^2=303.1084 . $$ 取对称变换矩阵 $$ H_1=I-2 \frac{v_1 v_1^{\mathrm{T}}}{\left\|v_1\right\|_2^2}=\left(\begin{array}{ccc} 1 & 0 & 0 \\ 0 & -0.8944 & -0.4472 \\ 0 & -0.4472 & 0.8944 \end{array}\right), $$ 有 $$ H_1 A_1 H_1=\left(\begin{array}{ccc} 1 & -7.6026 & 4.0249 \\ -8.9443 & 3.8000 & -4.6000 \\ 0 & -1.6000 & -2.8000 \end{array}\right)=B . $$ 矩阵 $B$ 就是所求. 从上面例子可以看出,我们可以利用豪斯霍尔德变换将矩阵正交相似约化为海氏矩阵,这种正交相似约化 $A$ 为海氏矩阵的乘法计算量约为 $5 n^3 / 3$ ,而且计算过程比较稳定。 对于上面得到海氏矩阵,我们可以对其作 $Q R$ 迭代.比如若记 $H^{(1)}=H$ ,设 $H^{(1)}=U_1 R_1$ ,令 $H^{(2)}=R_1 U_1$ .由于 $R_1$ 为上三角,$U_1$ 为上海森伯矩阵,所以 $H^{(2)}$ 也为上海森伯矩阵,这样可以不断进行迭代. 2.吉文斯旋转变换 为进一步利用海氏矩阵来加快 $Q R$ 迭代法,这里简要介绍吉文斯旋转变换。吉文斯旋转变换是一种正交变换,是进行矩阵对角化的一种重要方法. 首先看下面的例子。 $$ A=\left(\begin{array}{ll} a_{11} & a_{12} \\ a_{21} & a_{22} \end{array}\right), $$ 设旋转矩阵 $R$ 为 $$ R=\left(\begin{array}{cc} \cos \theta & \sin \theta \\ -\sin \theta & \cos \theta \end{array}\right) . $$ 直接计算有 $$ B=R A R^{\mathrm{T}}=\left(\begin{array}{cc} \cos \theta & \sin \theta \\ -\sin \theta & \cos \theta \end{array}\right)\left(\begin{array}{ll} a_{11} & a_{12} \\ a_{21} & a_{22} \end{array}\right)\left(\begin{array}{cc} \cos \theta & -\sin \theta \\ \sin \theta & \cos \theta \end{array}\right) \triangleq\left(\begin{array}{ll} b_{11} & b_{12} \\ b_{21} & b_{22} \end{array}\right) . $$ 比较系数,有 $$ \begin{gathered} b_{11}=a_{11} \cos ^2 \theta+a_{22} \sin ^2 \theta+a_{12} \sin 2 \theta \\ b_{12}=b_{21}=\frac{1}{2}\left(a_{22}-a_{11}\right) \sin 2 \theta+a_{12} \cos 2 \theta \\ b_{22}=a_{11} \sin ^2 \theta+a_{22} \cos ^2 \theta-a_{12} \cos 2 \theta \end{gathered} $$ 通过选取适当选取 $\theta$ ,可使 $$ b_{12}=b_{21}=\frac{1}{2}\left(a_{22}-a_{11}\right) \sin 2 \theta+a_{12} \cos 2 \theta=0 \text {. } $$ 比如,若 $a_{11}=a_{22}$ ,取 $\theta=\frac{\pi}{4}$ ;若 $a_{11} \neq a_{22}$ ,取 $\tan 2 \theta=\frac{2 a_{12}}{a_{11}-a_{22}}$ ,其中 $|\theta| \leqslant \frac{\pi}{4}$ . 从上面的计算过程可以看出,对于二阶矩阵 $A$ ,存在旋转矩阵 $R$ ,使得对角矩阵 $B$ 正交相似于 $A$ 。该方法可以推广到一般 $n$ 阶矩阵。为方便起见,称矩阵  为旋转矩阵,它是在单位阵 $I$ 的 $i$ 行、 $j$ 行与 $i$ 列、 $j$ 列的四个交叉位置上分别放置 $\cos \theta,-\sin \theta, \sin \theta$ 和 $\cos \theta$ 而成的,容易验证该旋转矩阵是正交矩阵。用 $P(i, j)$ 作旋转变换的几何意义是:在 $n$ 维空间中,以 $i, j$ 轴形成的平面上,把 $i, j$ 轴旋转一个角度 $\theta$ 。这样的旋转变换可以反复使用. 和前面二阶矩阵类似,我们可以选取第 $k$ 次旋转变换矩阵 $P_k(i, j)$ ,使得 $a_{i j}^{(k)}=0$ 。比如若 $a_{p p}^{(k-1)}-a_{q q}^{(k-1)} \neq 0$ ,则令 $\theta$ 满足 $$ \begin{equation*} \tan 2 \theta=\frac{2 a_{p q}^{(k-1)}}{a_{p p}^{(k-1)}-a_{q q}^{(k-1)}}, \quad-\frac{\pi}{4} \leqslant \theta \leqslant \frac{\pi}{4} . \tag{4.24} \end{equation*} $$ 如果 $a_{p p}^{(k-1)}-a_{q q}^{(k-1)}=0$ ,则当 $a_{p q}^{(k-1)}>0$ 时,取 $\theta=\frac{\pi}{4}$ ;当 $a_{p q}^{(k-1)}<0$ 时,取 $\theta=-\frac{\pi}{4}$ . 为提高计算效率,在实际上可不显式计算 $\theta$ ,而直接从三角函数关系式计算 $\sin \theta$ 和 $\cos \theta$ .比如记 $$ \left\{\begin{array}{l} y=\left|a_{i i}^{(k-1)}-a_{j i}^{(k-1)}\right|, \tag{4.25}\\ x=\operatorname{sign}\left(a_{i i}^{(k-1)}-a_{j j}^{(k-1)}\right) \cdot 2 a_{i j}^{(k-1)} . \end{array}\right. $$ 则 $$ \tan 2 \theta=\frac{x}{y} . $$ $$ \begin{aligned} &\text { 当 }|\theta| \leqslant \frac{\pi}{4} \text { 时,有下面三角恒等式 }\\ &2 \cos ^2 \theta-1=\cos 2 \theta=\frac{1}{\sqrt{1+\tan ^2 2 \theta}}=\frac{y}{\sqrt{x^2+y^2}} .\\ \end{aligned} $$ 于是 $$ \begin{equation*} 2 \cos ^2 \theta=1+\frac{y}{\sqrt{x^2+y^2}} \tag{4.26} \end{equation*} $$ $\cos \theta$ 始终取正值.关于 $\sin ^2 \theta$ 的计算有几种方法,最简单的一种是利用公式 $\sin ^2 \theta= 1-\cos ^2 \theta$ ,不过这种办法有一个缺点,当 $\cos ^2 \theta$ 接近于 1 时, $1-\cos ^2 \theta$ 的有效位数就不多了,精度不高.为避免这个缺点,可采用下面公式计算 $\sin \theta$ . $$ \sin 2 \theta=2 \sin \theta \cos \theta=\tan 2 \theta \cdot \cos 2 \theta=\frac{x}{\sqrt{x^2+y^2}} $$ 即 $$ \begin{equation*} \sin \theta=\frac{\sin 2 \theta}{2 \sqrt{(1+\cos 2 \theta) / 2}} \tag{4.27} \end{equation*} $$ 在求出 $\cos \theta$ 和 $\sin \theta$ 后,就可以构造出相应的旋转矩阵 $P_k(i, j)$ ,从而完成一次旋转变换。下面介绍基于吉文斯旋转变换和豪斯霍尔德变换的 $Q R$ 迭代法。 3.改进的 $Q R$ 方法 对于一般的矩阵,在使用 $Q R$ 方法之前,可先将 $A$ 利用豪斯霍尔德正交相似变换化为海氏矩阵 $H$ ,然后作 $Q R$ 迭代,可节省部分运算量;或者在将 $A$ 化为海氏矩阵 $H$ 的基础上,对 $H$ 用如吉文斯正交相似变换作正交分解,再进行 $Q R$ 迭代,从而提高迭代效率。下面介绍用吉文斯旋转变换加快 $Q R$ 迭代的计算过程。 给定一个海氏矩阵,其结构如下所示: $$ A=\left(\begin{array}{ccccc} a_{11} & a_{12} & a_{13} & \cdots & a_{1 n} \\ a_{21} & a_{22} & a_{23} & \cdots & a_{2 n} \\ 0 & a_{23} & a_{33} & \cdots & a_{3 n} \\ \vdots & \vdots & \ddots & \ddots & \vdots \\ 0 & 0 & \cdots & a_{n-1, n} & a_{n n} \end{array}\right) . $$ 下面介绍基于吉文斯旋转变换对其进行 $Q R$ 分解的基本思想。设第一次迭代所构造的旋转变换矩阵为 $$ P_1=\left(\begin{array}{ccccc} \cos \theta & -\sin \theta & 0 & \cdots & 0 \\ \sin \theta & \cos \theta & 0 & \cdots & 0 \\ 0 & 0 & 1 & \cdots & 0 \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & 0 & \cdots & 1 \end{array}\right), $$ 其中 $\cos \theta, \sin \theta$ 由公式(4.26)和(4.27)来计算.则 $$ P_1 A=\left(\begin{array}{ccccc} c & a_{12} & a_{13} & \ldots & a_{1 n} \\ 0 & a_{22} & a_{23} & \cdots & a_{2 n} \\ 0 & a_{32} & a_{33} & \cdots & a_{3 n} \\ \vdots & \vdots & \ddots & \ddots & \vdots \\ 0 & 0 & \cdots & a_{n-1, n} & a_{n n} \end{array}\right), $$ $c$ 为一确定的数.于是第一次左变换后得到矩阵 $P_1 A$ .这样经过 $n-1$ 次左变换后,我们得到一个上三角阵,即为 $Q R$ 分解中的 $R$ 。记 $Q^{\mathrm{T}}=\prod_{i=1}^{n-1} P_i$ ,则有 $Q^{\mathrm{T}} A=R$ 。为方便起见,将其记为 $$ Q_1^{\mathrm{T}} A^{(1)}=R_1 . $$ 根据 $Q R$ 迭代法构造矩阵序列公式 $$ A^{(k+1)}=R_k Q_k, $$ 我们得到 $$ \begin{equation*} A^{(2)}=R_1 Q_1=Q_1^{\mathrm{T}} A^{(1)} Q_1=\prod_{i=1}^{n-1} P_i \cdot A^{(1)} \cdot \prod_{i=1}^{n-1} P_i^{\mathrm{T}} \tag{4.28} \end{equation*} $$ 式(4.28)告诉我们,如果对 $A^{(1)}$ 同时进行左、右正交变换,则可得到下一个迭代矩阵 $A^{(2)}$ 。和前面讨论的一样,$A^{(2)}$ 也是一个海氏矩阵。这样,反复应用上述变换就产生相似于 $A$ 的海氏矩阵序列 $\left\{A^{(k)}\right\}$ 。根据前面给出的 $Q R$ 迭代法收敛性证明可知, $\left\{A^{(k)}\right\}$ 本质收敛. 在 $Q R$ 分解过程中,吉文斯旋转变换 $P_1 A$ 实际只是逐行对 2 行元素进行计算,这样的变换共进行了 $n-1$ 次,所以对于海氏矩阵进行基于吉文斯旋转变换的 $Q R$ 分解,其时间复杂度仅是 $O\left(n^2\right)$ ,比较高效。 总结起来,由于海氏只有对角线、次对角线及这些线以上的元素可能不为 0 ,所以我们可以利用吉文斯旋转将其进行快速 $Q R$ 分解。由于通过一次正交变换,可将 $A$ 中的一个非零的非对角元素化成零。在一定条件下,反复进行上述过程变换可使矩阵的非对角元素趋于零,从而使该矩阵近似为对角矩阵或上三角矩阵,从而得到全部特征值,这样就能起到加速 $Q R$ 迭代的效果。 为进一步提高效率,对 $n$ 阶海氏矩阵 $H$ 施行几次迭代后,主对角线下的次对角线上会出现小元素近似为 0 ,故可将上 $H$ 阵分块,分别使用 $Q R$ 算法进行计算,这样可节省计算时间且便于并行处理。 此外,值得一提的是,若在上述 $Q R$ 迭代中产生的 $H^{(k)}$ 都不可约(即不能将 $H^{(k)}$分块),则可仿照幂法中的原点平移法来加速.例如,取平移量 $\mu$ 对 $H^{(1)}-\mu I$ 作 $Q R$分解 $H^{(1)}-\mu I=Q_1 R_1$ ,令 $H^{(2)}=R_1 Q_1+\mu I$ ,即 $$ \left\{\begin{array}{l} H^{(k)}-\mu I=Q_k R_k, \tag{4.29}\\ H^{(k+1)}=R_k Q_k+\mu I, \end{array} \quad k=1,2, \cdots,\right. $$ 则 $\forall k$ 有 $H^{(k)} \sim H^{(1)} \sim A$ 。 若 $\left\{\lambda_i\right\}$ 为 $A$ 的特征值:$\left|\lambda_1-\mu\right| \geqslant\left|\lambda_2-\mu\right| \geqslant \cdots \geqslant\left|\lambda_n-\mu\right|$ ,则 $H^{(k)}$ 的第 $j$ 个次对角元收敛速度取决于 $$ \left|\frac{\lambda_{j+1}-\mu}{\lambda_j-\mu}\right|^k . $$ 所以,若 $\mu$ 接近于 $\lambda_j$ 收敛将会很快. 关于这些方法的具体实现及细致讨论,大家可以参考相关的文献和专门书籍,在此就不作具体介绍了。 幂法、反幂法、 $Q R$ 方法是求矩阵特征值的常用方法。它们是求矩阵特征值和特征向量的常用数值方法,都是通过构造迭代产生的矩阵序列来达到目的的。幂法计算简单,特别适用于高阶稀疏矩阵,但其收敛速度不能令人满意,要想加快幂法的收敛速度可采用反幂法及平移技术.$Q R$ 方法虽然计算量较大,但是它收敛快、精度高、特征向量有较好的正交性,便于并行计算且算法稳定,它是目前求中小规模矩阵全部特征值和特征向量最有效的方法.
其他版本
【线性代数】矩阵的QR分解
科数题库(单机版)
会议室预约系统(book)
今日还可看
0
篇 未注册用户每天查看4篇,
注册
用户每天8篇,
开通VIP
会员无限制查看。
免费注册
《高等数学》难点解析
高数教程
泰勒公式
切线与法线
切平面与法平面
驻点·拐点·极值点·零点
间断点
渐进线
瑕积分
欧拉方程
伯努利方程
Abel 收敛定理
偏导数的几何意义
偏导数的几何意义
梯度
数量场与向量场
多元函数极值
拉格朗日算子
通量与散度
环流量与旋度
格林公式
高斯公式
斯托克斯公式
三大公式比较
傅里叶级数
极坐标微元
点法式方程
变上限定积分
X型计算面积
Y型计算面积
微分的意义
渐近线
间断点
y''+py'+qy=f(x)方程
高斯
黎曼
傅里叶变换(复数)
拉普拉斯变换(复数)
《线性代数》难点解析
线代教程
近世代数对数学的整体思考
线性的意义
矩阵乘法(列视角)
矩阵乘法(行视角)
矩阵左乘
矩阵右乘
逆矩阵求解方程组
阶梯形矩阵的求法
方程组解的判定
四阶行列式的计算
线性变换的意义
线性空间
向量组的等价
线性空间的几何意义
基础解系的求法
施密特正交化
特征值与特征向量的意义
矩阵相似的几何意义
矩阵可对角化的理解
秩的意义(向量版)
秩的意义(方程版)
二次型的意义
《概率论与数理统计》难点解析
概率教程
置信区间与上a分位数
概率中的“取”与“放”
贝叶斯公式
全概率公式
泊松分布
指数分布
伽玛分布
二维密度图的意义
卷积的意义
相关系数的意义
k阶矩是与矩母函数
卡方分布的作用
单正态区间估计理解
假设检验理解
切比雪夫不等式
中心极限定理
上一篇:
QR方法(1)
下一篇:
没有了
本文对您是否有用?
有用
(
0
)
无用
(
0
)
赞助:
知乎 Mathhub
启明星
商务合作
赞助本站
科数网
是专业的数学网站,为您提供题库与教程 版权所有 禁止镜像
部分内容采用AI辅助生成,请注意识别
如果页面无法显示请联系 18155261033 或 983506039@qq.com