广义特征值问题中的预处理方法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
§2.2 子空间迭代法
子空间迭代法是乘幂法的推广,它能同时求出对 称矩阵的几个极端特征值和特征向量。即是假设有 q p个 个初始向量同时进行迭代,来求得对称矩阵的前 p 按模最大的(或最小的)特征值和特征向量。通常 q 的大小可以这样选取 q min( 2 p, p 8) 。 算法1 子空间迭代法
1.以 q1 和 r1 执行算法2,迭代 n次,得到 p1个收敛的特征 对(i , xi )。 2.以 q2 和 r2 执行算法2,得到 p2 个收敛的特征对,这时 所求的特征对个数就是 p1 p2,继续下去直 到 p1 p2 ... pi p 。(注意,当以新的Ritz 向量块迭 代的时候,产生的Ritz 向量块一定要与已收敛的特征 向量作 M -正交归一,这样求的特征值才不会是上一次 求得的已收敛的特征对。)
子空 间迭 代法
2 0.50055558658243 2 0.50025321533020
3 0.50142658494075 3 0.50057026013372
360
3598
4 0.50225196875936 4 0.50101543205781
预处 理子 空间 迭代 法
§2.3 迭代Ritz 向量法
原始的Ritz 向量法是按一定规律生成一组标准正 交的Ritz 向量,然后将特征方程转换到这组Ritz向量 上,只求解一次缩减的标准特征值问题,然后通过特 征变换,得到原特征问题的部分特征对,因为只求解 一次,所以求得的特征对的精确程度就与Ritz 向量有 关。 算法2 迭代Ritz 向量法
第三章 预处理子空间迭代法和 预处理迭代Ritz向量法 §3.1预处理技术的概述
§3.2预处理子空间迭代法
算法3 预处理子空间迭代法 I.初始化 1.选取初始列满秩向量矩阵 X 0 R N m ,其中( )。 m p II. Rayleigh-Ritz 外循环 1.对 =0,1,…计算Ritz 矩阵 , * T * T k m K X KX M X k ,并求解缩减后的广义特征值问题 k ,得到 k MX k K *u M *u 个特征对 ,并检验第 个特征对的收敛性, p k) (k ) 如果收敛停止,否则进行下一步; (( , u ) i i 2.计算Ritz 向量 ; Vk X 3.取对称正定矩阵 为 的近似,计算其 kU Wk ,并构成预处理后的矩 K (pk ) M Cholesky 分解 阵 Wk Lk。 LT k
吉林大学硕士学位论文
广义特征值问题中的预处理方法
Preconditioning Method for Generalized Eigenvalue Problems
作者姓名:陆 昊 辉 专 业:计算数学 导师姓名 吴 柏 生 及职称: 教 授
第一章 引 言
许多工程问题比如结构力学中的振动分析以及控 制系统稳定性分析等问题,最终都转化成下面的广义 特征值问题
初始向量的11-20行是单位矩阵,其余全为0。
算法 特征值 精确特征值 迭代 矩阵 向量 乘积
1 0.19100322928376 1 0.19095299342587 2 1.01745912993262 2 1.01658700007092
子空 间迭 代法
3 1.81109225092976 3 1.80808588736282 4 2.46544314433200 4 2.46058114161657 5 3.02391896037363 5 3.01743022165104 1 0.19095299353392 1 0.19095299342587 2 1.01658835795271 2 1.01658700007092 3 1.80808588736684 3 1.80808588736282 4 2.46098662446297 4 2.46058114161657
Kx Mx
子空间迭代法是求解大型对称矩阵特征值问题的有效 方法之一,但是当特征值的分布很密集的时候,子空 间迭代的收敛速度很慢。
Ritz 向量法构造了一组逼近特征向量空间的Ritz 向量, 它生成的Ritz 向量都与前几步生成的Ritz 向量标准正 交归化,因而将原特征值问题投影在这组Ritz 向量上, 就变成了缩减的标准的特征值问题。
1 0.5000632ຫໍສະໝຸດ Baidu472250 1 0.50006327464898
2 0.50025321563857 2 0.50025321533020
3 0.50057026071012 3 0.50057026013372
外 3 内 10 92
4 0.50101543305325 4 0.50101543205781
6. 如果得到了要求的 p个特征值,退出;否则将未收 敛的前 q个最小特征值对应的特征向量作为 X 1 进行下一 次迭代。 算法2的说明: 关于Ritz 向量法块宽 q与Ritz向量的生成步数 r的 确定,并没有严格的准则,通常我们选取 q 2 p 或更 大一点。r 的选取也可以是任意的,其中r 越大,收敛 越快。实际计算中,我们选取的 r一般满足 (q r ) N 。 当要求的特征对比较多的时候,缩减后的阶标准 特征值问题很可能仍然是一个大型特征值问题,运用 压缩技术,我们可以动态选取q 和r,具体方法如下。
I.初始化 1.确定子空间的维数 q ; 2.选取初始向量矩阵 X R N q ;
3.做刚度矩阵的Cholesky 分解。
II.迭代 1.将 X 进行 M -正交归一化(含对已收敛的特征向 量),归一化后的向量矩阵仍记为X ; T 1 X L L MX ; 2.求解试向量矩阵 1 3.计算投影 K * X 1T KX 1, M * X 1T MX 1 ; * * * * * q K M ; 4.求解 阶广义特征值问题 * X X 5.形成新的近似特征向量 ; 1 6.判断特征值的收敛性,移出已收敛的特征值和特征 向量,并在 X 中加入随机向量或减缩子空间的大小, 如果达到要求的 p 个特征对,停止,否则回到1。
5 3.01745270156483 5 3.01743022165104
30
299
预处 理子 空间 迭代 法
外5 内10
110
例 2.
1 3 0.5 22 15 6 0.5 3 0.5 15 22 15 6 1 ... ... ... ... ... ... ... ... M K 0 . 5 3 0 . 5 ... 6 15 22 15 6 0.5 3 0.5 1 6 15 22 15 0 . 5 3 1 6 15 22
算法1的说明:
1.判断特征对的收敛一般用特征值的相对误差来衡量, k) ( k 1) ( k 1) 即用 | ( | | | i i i,我们也可以使用残量误差 (k ) || KX i( k ) (i k ) MX i( k ) || || KX) || 或模态误差( i 来判断。 2.实际计算中往往会出现迭代一定次数后,继续迭代 很难获得满意的特征值,我们可以预先设定迭代的最 大次数,如果达到最大迭代数,就重新开始。
初始向量均为
1 0 ... V0 0 0 ... 0 1 0 0 0 0 0 0 ... ... 0 0 ... 1 0 ...100 8
... ...
求解4个最小特征值
算法
特征值
精确特征值
迭 代
矩阵 向量 乘积
1 0.50015665826428 1 0.50006327464898
I.初始化 1.确定Ritz 向量法块宽 q 与Ritz 向量的生成步数 r ; 2.选取初始向量矩阵 ; N q X R 0 3.分解刚度矩阵 ; K LLT II.迭代 1.对 解 ,然后将 对已收敛 的特征向量以及 ,k 1 ,… 作k -正交归一化,并形 X LT, L1MX k 0,1,..., r 1 X k 1 Xk M X1 X 2 成 ; X k 1 在=[ , ,…, ]上的投影, 2.计算 ; * T X X K X 2 k X1 3.求解K 阶标准特征值问题 ; KX qr * * * * K 4.形成新的近似特征向量 ; * Y X 5.判断特征值和特征向量的收敛性,并移出已收敛的 特征值和特征向量;
第四章 数值试验 §4.1 子空间迭代法和预处理 子空间迭代法的比较
例1.
1 0.5 2 2 1 0.5 1.1 0.5 2 3 2 1 ... ... ... 1 2 ... ... ... M K 0.5 15.7 0.5 ... ... 148 2 1 0.5 15.8 0.5 1 2 149 2 0 . 5 15 . 9 1 2 151
1 (k ) T
III.内循环迭代 1.以Z 0 LTkVk为初始向量,对矩阵 N k使用子空间迭代法, 求解绝对值最小的 m 个特征值和对应的特征向 (k ) ]; 量 ( i( k ) , zi( k ) ) ,令 Z k [ z1( k ) ,..., zm
T X L 2.计算新的近似向量 k 1 k Z k,回到II。
算法3的说明: T (k ) 关于近似对称正定矩阵Wk 的取法,一般将K p M 做 LDL (k ) T K K 分解,可取Wk L | D | L 。还可以调整 ,使得 p M 对称正定。
§3.3 预处理迭代Ritz向量法
算法4 预处理迭代Ritz 向量法 I.II.同算法3 III.使用迭代Ritz 向量法求解预处理后的标准特征值 问题。 T m L 如果 很大,以 kVk 为初始向量进行迭代Ritz 向量法 T L 显然不可能,只要我们选取 kVk 中的前 q 列做迭代 Ritz 向量法即可。
第二章 子空间迭代法和迭代Ritz 向量法的介绍
§2.1 问题假设和记号约定
质量矩阵和刚度矩阵都是对称正定矩阵,向量矩 阵的 M -正交归一化,即是由 X i 求满足下面关系的向 量矩阵 X i
X iT MX j ij I
一种方法用修正的Gram-Schmidt正交化方法将 X i按列 单位正交得 X i*,并将 M 做Cholesky分解 M LLT,然后 令 X i LT X i* 。 T 另一种方法令 B X i M X i ,然后做 B 的Cholesky分解 B LLT ,则取 X i X i LT。
§4.2 迭代Ritz 向量法和预处理 迭代Ritz 向量法的比较
同例1 q m 10 r 2
迭代 Ritz 向量 法
初始向量同例1。
1 0.19095299972948 1 0.19095299342587 2 1.01658700617024 2 1.01658700007092 3 1.80808589356052 3 1.80808588736282 4 2.46058114837042 4 2.46058114161657 5 3.01743022 766799 5 3.01743022165104