计算方法第七章(r)
计算方法及程序实现刘华蓥第七章算法
计算方法及程序实现刘华蓥第七章算法刘华蓥的第七章算法是一种计算方法,主要用于解决复杂的数学问题,如线性方程组、方程求根、积分、微分等等。这种算法综合了数值计算和
近似计算的思想,能够在计算机上进行高效的求解。
在实现刘华蓥第七章算法的程序时,可以按照以下步骤进行:
1.确定问题:首先需要明确需要解决的问题是什么,比如线性方程组
的求解、方程求根、积分或微分等。这将决定算法的具体实现方式。
2.设计算法:根据问题的特点,设计算法的流程和步骤。可以参考刘
华蓥第七章算法中的描述和示例。
3.编写代码:使用适当的编程语言,根据算法的设计将其转化为具体
的代码。根据具体问题的要求,可能需要使用不同的数据结构和算法库。
4.调试和优化:运行代码并进行调试,判断是否得到了正确的结果。
如果出现错误,可以使用调试工具定位和修复问题。同时,也可以对代码
进行优化,提高程序的性能和效率。
5.测试和验证:使用不同的测试用例来验证程序的正确性和健壮性。
可以对已知答案的问题进行求解,比较计算结果和预期结果是否一致。
下面以求解线性方程组为例,展示刘华蓥第七章算法的实现过程:
问题:给定一个线性方程组Ax=b,其中A是一个n维矩阵,b是一个
n维向量,求解x。
算法实现步骤:
1.输入A和b。
2.判断A是否为方阵,如果不是则终止程序,并给出错误提示。
3.判断A是否为可逆矩阵,如果不是则终止程序,并给出错误提示。
4.使用高斯消元法将方程组转化为上三角方程组。
5.使用回代法求解上三角方程组,得到解x。
6.输出x。
代码实现(以Python为例):
第7章潮流计算的数学模型及基本解法
2013-1-10
8
共2n-r个待求量。其潮流方程是 Pi Pisp Vi V j (Gij cos ij Bij sin ij ) i 1,2 ,...,n ji (7-9) Qi Qsp Vi V j (Gij sin ij Bij cos ij ) i 1,2,...,n r i ji 共2n-r个方程。待求量和方程个数相等。 为了更清晰地表达潮流方程中给定量和待求量之间的关系, 表7.1中把每列中的两个给定量用阴影部分表示,另两个无阴影 字符表示待求量,平衡节点号为s=N=n+1。可见每列都有两个量 给定,另两个量待求。
第七章 潮流计算的数学模型及基本解法
•潮流计算问题的数学模型 •以高斯迭代法为基础的潮流计算方法
•牛顿—拉夫逊法潮流计算
2013-1-10
1
7.1 潮流计算问题的数学模型
一、 潮流方程
对于N个节点的电力网络(地作为参考节点不包括 在内),如果网络结构和元件参数已知,则网络方 程可表示为 (7-1) YV I 式中,Y为N N 阶节点导纳矩阵; 为 N 1 维节点电压 V 列矢量; 为 N 1 维节点注入电流列矢量。如果不计网 I
的形式,于是,有如下的高斯迭代公式:
x 0 x0 k 1 x x k
Leabharlann Baidu
计算方法第7章/《数值分析》/清华大学/上海交通大学/西安交通大学
系数 Ak 不依赖于被积函数 f. xk Î[a,b] 若(1)式对 " f Î Pn 精确成立,对 xn+1 不能精确成立,称公式(1)
有 n 次代数精确度。(一般认为越高越好)
由多项式插值理论知 n 阶 N-C 公式的代数精确度至少是 n-1 次的,可
证当 n=2k+1 时,其代数精确度至少为 n 次。 即: n 阶(1)式的代数精确度至少是 n 次的,可证当 n=2k 时,其代数精确
用近似函数 p(x)代 f (x) 积分
b
b
òa f (x)dx » òa p(x)dx
多方面的原因一般 p(x) : f (x) 的插值多项式
等距节点求积公式
将区间[a,b] n 等分,分点为 xk , xk = a + kh k = 0,1,....., n
h= b-a, n
设 pn (x) Î Pn ,
c(n) k
yk
-
c(n) k
f
(xk )
£e
c(n) k
=e
, 方法是稳定的。
如果假设不成立,则函数值的计算误差可能积累,方法不稳定。因为这个原
因 Newton-Gotes 公式只能用于 n<8 的场合。
一般求积公式:(机械求积公式)
ò å b
n
f (x)dx »
数值计算方法教学教材
0
x(1) BJx(0) f
4 11
1 2
[2.5, 3, 3]T
3 8 0
1 4
1 4 1
11 0
0 0 0
2 .5 3 3
x(1) x(0) 4.924
0
x(2) BJx(1) f
4 11
1 2
3 8 0
1 4
1 4 1
11 0
2 .5 3 3
0.9205 d = 0.1573
1.0010 d = 0.0914 1.0038 d = 0.0175 1.0031 d = 0.0059
迭代次数 为12次
0.9998 0.9997 0.9999 1.0000
d= d= d= d=
0.0040 7.3612e-004 2.8918e-004 1.7669e-004
Axb
称(5)式和(7)式为解线性方程组(1)的Jacobi迭代法(J法)
华长生制作
BJ为Jacob迭 i 代法的迭代矩阵 24
例6. 用Jacobi迭代法求解方程组,误差不超过1e-4
284
3 11 1
241xxx231
123203
解:
A 284
3 11 1
241
D
8 0 0
0 11 0
0 0 4
则称 A为矩A的 阵范. 数
气象统计方法:第7章 逐步回归方法
逐步剔除法
1、概念:
从包含全部变量的回归方程中逐步剔 除不显著的因子。
2、方案:
假定有4个预报因子,首先用这4个因子
建立回归方程,然后对每个因子检查 bk2
的大小。
c kk
因为在做单个因子检验时,
F
bk2 c kk Q
n p 1
上式中的分母是不变的(不同因子检验时),
3
新老回归系数之间的关系: 当剔除第k个因子后,
bi *
bi
c ik ckk
bk (i
k)
逐步引进方法
1. 概念 在一批待选的因子中,考查他们
对预报量y的方差贡献,挑选所有因 子中方差贡献最大者,经统计检验 是显著的,进入回归方程。
如从 x1, x2 , , xp 等因子中 考察哪个因子方差在一元回归方程中 贡献最大,故首先计算:
方法: 利用求解线性方程中求解求逆同时并行
的方法,使得在计算因子方差贡献和求解 回归系数同时进行。
优点: 计算简便,由于每步都作检验,保了
最后所得方程中所有因子都是显著的。
逐步回归方法的一般步骤和计算公式
第一步 准备工作
从标准化变量出发,建立求标准回归 系数的标准方程组。
将系数矩阵化为相关矩阵R,并与常
[rk(yl ) ]2 r (l)
微积分的数值计算方法
第七章 微积分的数值计算方法
7.1 微积分计算存在的问题/数值积分的基本概念 1. 微分计算问题
求函数的导数(微分),原则上没有问题。当然,这是指所求函数为连续形式且导数存在的情形。但如果函数一表格形式给出,要求函数在某点的导数值;或者是希望某点的导数值只用其附近离散点上的函数值近似地表示,这就是新问题了,它称为微分的数值计算,或称为数值微分。 2.定积分计算问题
计算函数f 在],[b a 上的定积分 dx x f I b
a
⎰=
)(
当被积函数f 的原函数能用有限形式)(x F 给出时,可用积分基本公式来计算:
)()()(a F b F dx x f I b
a -==⎰
然而,问题在于:① f 的原函数或者很难找到,或者根本不存在;②f 可能给出一个函数表;③仅仅知道f 是某个无穷级数的和或某个微分方程的解等等。这就迫使人们不得不寻求定积分的近似计算,也称数值积分。 3.数值积分的基本形式
数值积分的基本做法是构造形式如下的近似公式
∑⎰=≈n
k k
k
b
a
x f A dx x f 0
)()( (7.1.1)
或记成
∑⎰=+=n
k n
k
k
b
a
f R x f A dx x f 0
][)()( (7.1.2)
∑==n
k k k x f A I 0
*
)( 和 ][f R n 分别成为],[b a 上的f 的数值求积公式及其
余项(截断误差),k x 和k A ),,1,0(n k =分别称为求积节点和求积系数(求积系数与被积函数无关)。
这种求积公式的特点是把求积过(极限过程)程转化为乘法与加法的代数运算。构造这种求积公式需要做的工作是:确定节点k x 及系数
计算方法与误差理论-7
xi i xi 1
常微分方程——欧拉方法
梯形公式—数值积分用梯形公式计算
y ( xi 1 ) y ( xi ) yi 1
公式:
xi 1
xi
f ( x, y ( x))dx i 0,1,2,...,n 1
h yi [ f ( xi , yi ) f ( xi 1 , yi 1 )] 2
常微分方程——欧拉方法
定义(局部截断误差):
称 Ri 1 y( xi 1 ) y( xi ) h ( xi , y( xi ), h) 为 单步显示公式在xi+1处的局部截断误差 局部截断误差,刻画了其逼近微分方程的 精确程度 欧拉公式的局部截断误差: 1 2 2 Ri 1 h y ' ' ( i ) O(h ) 2
公式: ~ y hf ( x , y ) y i 1 i i i y y h [ f ( x , y ) f ( x , ~ )] i 1 i i i i 1 y i 1 2
常微分方程——欧拉方法
计算机上编制程序用公式:
y p y i hf ( xi , y i ) y c y i hf ( xi 1 , y p ) 1 y i 1 ( y p y c ) 2
最优化计算方法
s.t.
也可以用矩阵形式来表示: 也可以用矩阵形式来表示:
min s.t.
f = cT x Ax <= b , x >= 0
线性规划的可行解是满足约束条件的解; 线性规划的可行解是满足约束条件的解;线性规划 的最优解是使目标函数达到最优的可行解。 的最优解是使目标函数达到最优的可行解。 线性规划关于解的情况可以是: 线性规划关于解的情况可以是: 1、无可行解,即不存在满足约束条件的解; 、无可行解,即不存在满足约束条件的解; 2、有唯一最优解,即在可行解中有唯一的最有解; 、有唯一最优解,即在可行解中有唯一的最有解; 3、有无穷最优解,即在可行解中有无穷个解都可使目 、有无穷最优解, 标函数达到最优; 标函数达到最优; 4、有可行解,但由于目标函数值无界而无最优解。 、有可行解,但由于目标函数值无界而无最优解。
三、内容与步骤: 内容与步骤:
优化工具箱中, 在Matlab优化工具箱中,linprog函数是使用单纯形法求解 优化工具箱中 函数是使用单纯形法求解 下述线性规划问题的函数。 下述线性规划问题的函数。
计算方法第7章常微分方程
7.2.3 误差分析
定义:假设 yn = y( xn ) 则称误差 y( xn+ 1 ) - yn+ 1 为局部截断误差。
1. 欧拉公式的局部截断误差分析 ( 设yn=y(xn),则有 y¢ xn ) = f ( xn y( xn )) = f ( xn , yn ) 此时欧拉公式可写成
h2 h p ( p) y ( xn+ 1 ) = y ( xn ) + hy ⅱ n ) + (x y ( xn ) + L + y ( xn ) + O(h p+ 1 ) 2 p! h 2 (1) h p ( p) =y ( xn ) + hf ( xn , yn ) + f ( xn , y ( xn )) + L + f ( xn , y( xn )) + O(h p+ 1 ) 2 p!
y
要计算出数值解,实际上就是求对应于一系列已知节点
a = x0< x1<…< xn= b处的函数值y0, y1,…, yn
数值解
xi yi
x0 y0 x1 L L L xn y1 L L L yn
节点间距 hi = xi+ 1 - xi (i = 0, ... , n - 1) 称为步长, 通常采用等距节点,即取 hi = h (常数)。
计算方法 第七章常微分数值解
向前差商近似导数
y( x0 )
y( x1 ) h
y( x0 )
y( x1 ) y( x0 ) hy( x0 ) y0 h f ( x0 , y0 ) 记为 y1 x0
x1
yn1 yn h f (xn, yn ) (n 0,1, 2, ... )
2. Taylor展开法
将y( xn h)在 点xn作Taylor展 开
我们称算法A 比算法B 稳定,就是指 A 的绝对稳定区域比 B 的大。
例:考察显式欧拉法 yn1 yn h yn (1 h)n1 y0
0 y0 y0
yn1 (1 h)n1 y0
n1 yn1 yn1 (1 h)n10
-2 -1
Img 0 Re
由此可见,要保证初始误差0 以后逐步衰减,h h
✓
关于整体截断误差与局部截断误差的关系,有如下定理
定理:对初值问题的单步法 yn1 yn hQ( xn, yn, h,)
若局部截断误差为O(hp1) ( p 1) ,且函数 Q( xn , yn , h) 对y
满足Lipschitz条件,即存在L>0,使得
Q(x, y, h) Q(x, y, h) L y y
8.0000 1.5625102
1.6000101 3.9063103
3.2000101 9.7656104
改进欧拉法
相关系数r的计算方法
相关系数r的计算方法
相关系数r是一种用于衡量两个变量之间线性关系强度的统计量。它的取值范围在-1到1之间,其中-1表示完全负相关,1表示完全正相关,0表示无相关性。相关系数的计算方法有多种,下面将详细介绍几种常用的计算方法。
1. 协方差法:
相关系数的计算可以基于协方差来进行。协方差表示两个变量之间的总体变化趋势,计算公式为:
cov(X,Y) = E[(X-μX)(Y-μY)]
其中,X和Y分别表示两个变量,μX和μY分别表示两个变量的均值。
相关系数r的计算公式为:
r = cov(X,Y) / σXσY
其中,σX和σY分别表示X和Y的标准差。
2. 相关性检验法:
相关系数也可以通过相关性检验来进行计算。相关性检验的基本思想是假设两个变量之间不存在线性关系,然后通过检验这个假设的可信度来判断两个变量是否存在线性关系。
常用的相关性检验方法包括皮尔逊相关性检验和斯皮尔曼相关性检验。皮尔逊相关性检验适用于两个变量均为连续变量的情况,斯皮
尔曼相关性检验适用于至少一个变量为有序变量或者两个变量均为有序变量的情况。
3. 相关性矩阵法:
相关性矩阵是一种将多个变量之间的相关系数以矩阵形式呈现的方法。相关性矩阵可以通过计算各个变量之间的相关系数来得到。
相关性矩阵的计算方法与协方差法类似,只是将协方差替换为相关系数的计算公式。相关性矩阵通常以矩阵的形式呈现,每个元素表示两个变量之间的相关系数。
4. 点积法:
相关系数也可以通过计算两个变量之间的点积来进行。点积表示两个向量之间的相似程度,当两个向量越相似时,点积的值越接近1,反之越接近-1。
计算方法 第七章 常微分方程数值解法
7
7.1 欧拉法和改进的欧拉法
7.1.1 欧拉法及其截断误差
7.1.2 改进的欧拉法及预测-校正公式
8
7.1.1 欧拉法及其截断误差
初值问题:
y f ( x , y) y( x0 ) y0
1、欧拉公式的构造思想:用差商代替导数 设
y ⅱx ) ? (
x 0 , x1 , x 2 , 鬃, x n
7.1.2 改进的欧拉法及预测-校正公式
y1
( p)
= 0 .2 x 0 + 1 .2 y 0 = 1 .2
( p)
y1 = y 0 + 0 .1[( x 0 + y 0 ) + ( x1 + y1
)] ? 1
0 .1(0 + 1 + 0 .2 + 1 .2 ) = 1 .2 4
来自百度文库y2
( p)
= 0.2 x1 + 1.2 y1 = 0.2 ? 0.2
即存在常数L,对R上任意点均有以下不等式成立:
则上述初值问题存在唯一的连续可微的解函数
y = y(x)。
5
引言:
又如初值问题
ì y ¢= 1 - 2 xy ï ï í ï y (0 ) = 0 ï î
- x
2
可求出它的解为 y = e
x
微积分的数值计算方法数值微分
将节点处的增长率作 三次样条插值
年份 增长率 1900 0.0283 1901 0.0255 1902 0.0230 1935 0.0082 1936 0.0081 1937 0.0083 1953 0.0172 1954 0.0172 1979 0.0100 1980 0.0100 1981 0.0109 1989 0.0111 1990 0.0113
1( h
f1
f0 )
h f (2)( )
2
--------(4)
f(x 1 ) L 1 (x 1 ) E 1 (x 1 )
1( h
f1
f0 )
h f (2)( )
2
--------(5)
(4)(5)式称为带余项的两点求导公式
即
f(x0)f(x1)h 1(f1f0)
由于 Eo(h)
精度1阶
2.三点公式
E2(xk)
f
(3)()
3!
2
(xk
j0
xj)
jk
若 x0,x1,x2为等距h 节 x1x 点 0x2, x1, 即则
L 2 (x0)f0 2h 3 2 hf1 2 h h 2f22 h h 2 21h(3f04f1f2) L 2 (x1)f02 h h 2f1h h 2 hf22 h h 2 21h(f0 f2) L 2 (x2)f02h h2f1 2h h 2f22 3 h h 2 21h(f04f13f2)
计算方法引论-第七章
计算方法引论:数值代数
⏹解线性方程组的直接法
⏹解线性方程组最小二乘问题
⏹解线性方程组的迭代法
⏹矩阵特征值和特征向量的计算
⏹非线性方程及非线性方程组解法
第七章线性方程组最小二乘问题•线性最小二乘问题
•满秩分解
•广义逆矩阵
•Gram-Schmidt方法•Householder变换
•Givens变换
•奇异值分解
线性最小二乘问题
•线性代数方程组Ax=b
(1)
–相容:有解, 可能有无穷多解(欠定).
–不相容(矛盾,超定):无解.
–广义解:最小二乘解.总存在,可能有无穷多.
•最小二乘解
–求剩余平方和║Ax -b ║2的最小值点
–求正规方程(法方程)A T Ax =A T b (通常意义)的解–二者等价:象数据拟合法那样用微分法可得
⎪⎪
⎩⎪⎪⎨
⎧=+++=+++=+++m
n mn m m n n n n b x a x a x a b x a x a x a b x a x a x a 22112222212111212111
满秩分解与广义逆矩阵•满秩矩阵:A
,rank(A)=min{m,n}
m×n
–行满秩:A
,rank(A)=m
m×n
–列满秩:A
,rank(A)=n
m×n
•满秩分解A
= B m×r A r×n,rank(A)=r
m×n
–(不惟一)可取A的线性无关列为B,它们
表出A各列的系数对应为C
•广义逆矩阵(惟一)
–A+=C T(CC T)-1(B T B)-1B T
•注:广义逆矩阵可多个方式定义并确认其惟一性.似乎用奇异值分解更简明实用
A+计算•满秩矩阵
–行满秩: A+=A T(AA T)-1
飞行器空气动力工程计算方法第七章
y
m
x
x
x
垂尾方向舵舵偏
y
滚转角速度 滚转静稳定导数
航向角速度
y x m , m 副翼和方向舵滚转操纵导数 x x
y x m , m 滚转动导数 x x
二、滚转力矩导数 m
0
x
m m m x x y i x c w
(一)机翼后掠角及翼端形状对导数的影响
§7-6 鸭式飞行器斜吹力矩导数
y y x x m m m m mmm x x 0 x xx xy x x x y
0 ,0
前舵面上洗流到后弹翼时流动不对称产生滚转力矩
斜吹力矩 气动布局不当而使斜吹力矩达到很大数值, 其方向可能是正号也可能是负号
2
m y y x x m m m mmm x x 0 x xx xy x x x y
3.全机的滚转阻尼力矩导数
m x xyish
x x
旋转弹翼飞行器
2 S l S l m w y m w y x x x x x m m m 2 () m 2 () m ( 1 ) x x y i x w y y i x y i w yx w y y i s h 2 2 S l S L s h s h s h s h 2
计算方法与误差理论-7.
常微分方程——欧拉方法
例:取步长h=0.1,用欧拉公式求解初值问题:
y' 2 xy y(0) 1
0 x 1.0
yi 1 yi h(2 xi yi ) yi 1 (1 0.2 xi ) yi
y(xi) 1.0000 0.9900 | y(xi)-yi| 0.0000 0.0100
1 ( xi , y i , yi 1 , h) [ f ( xi , y i ) f ( xi 1 , y i 1 )] 2
增量函数:
常微分方程——欧拉方法
局部截断误差
称 Ri 1
为单步隐式公式的局部截断误差
h y ( xi 1 ) y ( xi ) ( xi , y ( xi ), y ( xi 1 ), h) 2
xi i xi 1
常微分方程——欧拉方法
梯形公式—数值积分用梯形公式计算
y ( xi 1 ) y ( xi ) yi 1
公式:
xi 1
xi
f ( x, y ( x))dx i 0,1,2,...,n 1
h yi [ f ( xi , yi ) f ( xi 1 , yi 1 )] 2
常微分方程——欧拉方法
第七章_极差分析
B 1(0.05) 2(0.075) 3(0.10) 1(0.05) 2(0.075) 3(0.1) 1(0.05) 2(0.075) 3(0.1) 67.0 63.9 63.6 22.3 21.3 21.2 1.1 7.4 7.5 6.9 2.47 2.50 2.30 0.20 9.5 8.6 9.4 3.17 2.87 3.13 0.30
本例试验方案见表71473表714试验方案及试验结果分析因素试验号13001180009909421021102310241012101910311079100099809971009100202475023550255302558025600253002548025780269802500024950249302523025050010300343000530006300067000072021第四节考虑交互作用的正交试验设计及极差分析74第四节考虑交互作用的正交试验设计及极差分析二试验结果的极差分析按表714试验方案实施后将试验结果也列于表714中然后用极差分析法进行分析与判断75第四节考虑交互作用的正交试验设计及极差分析1计算k计算方法与前面介绍的基本相同需要注意的是交互作用与因素一样看待交互作用列也要计算出k的r值
第二节
多指标正交试验设计及极差分析
2、挑因素,选水平、列出因素水平表 根据专业知识和实践经验,确定试验因素和水 平见表7-2
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实际计算中,一般预先给一个计算精度 实际计算中,一般预先给一个计算精度 ε ,当第 m 步满足
τ=∑a
停止计算,这时, 停止计算,这时,
i≠ j =1
n
(m) ij
<ε
Τ Τ Am = RmRm−1 LR ARΤ LRm−1Rm = P APΤ ≈ Λ 1 1 m m
则对角阵的对角元为特征值近似值,矩阵 P 的列向量为特征向 则对角阵的对角元为特征值近似值, 量近似值。实际计算中, 是按如下步骤计算: 量近似值。实际计算中,矩阵 P 是按如下步骤计算:
第三节 QR 分解方法 3.1 QR 分解 维实单位向量, 矩阵: 设 u 为n维实单位向量,称下面矩阵为 维实单位向量 称下面矩阵为Householder矩阵: 矩阵
H = I − 2uu
Τ
容易验证Householder矩阵为正交阵,同时又是对称阵: 矩阵为正交阵,同时又是对称阵: 容易验证 矩阵为正交阵
λ1 − p > λ2 − p ≥ λ i − p
(i = 3, 4, L , n)
λ2 − p λ2 < λ1 − p λ1
求得A − pI的按模最大特征值µ1 , A的按模最大特征值λ1 = µ1 + p
埃特金加速: 埃特金加速: 可以证明: 可以证明:乘幂法线性收敛
mk +1 − λ1 λ2 → mk − λ1 λ1 [ zk +1 − ξ10 ] i [ zk − ξ10 ] i
A = A0
,则
Τ A1 = R1 A0 R1Τ , A2 = R2 A1 R2 , L , Ak = Rk Ak −1 RkΤ , L
( Ak −1 = (aijk −1) ) n×n
,
( a k −1 = max aijk −1) pq 1≤ i ≠ j ≤ n
k , a (pq) = 0
( Ak = (aijk ) ) n×n 选取θ ,使得
xm lim zk = k →∞ max( xm )
1 lim mk = % k →∞ λm − λm
通常,初值选为: 通常,初值选为:
z0 = Le e = (1,1, L ,1)
这里, 这里,矩阵 L 为 角矩阵。 角矩阵。
% A − λm I = LR 分解中的单位下三
第二节 对称矩阵的雅可比方法 两个重要的基本性质: 两个重要的基本性质: 为实对称矩阵, (1)如 A 为实对称矩阵,则一定存在正交矩阵 Q ,使之相似 ) 于一个对角矩阵, 的特征值。 于一个对角矩阵,而该对角矩阵的对角元正是 A 的特征值。
λ2 显然,乘幂法的收敛速度依赖 λ ,如此比值接近1,则收敛 显然, 如此比值接近 , 1
速度会很慢。 速度会很慢。 代替A,进行乘幂法 迭代速度可能会大大加快。 乘幂法。 用 A- pI 代替 ,进行乘幂法。迭代速度可能会大大加快。 这叫原点移位法。 这叫原点移位法。
1.2 加速技术: 加速技术:
yk = Azk −1 ( k = 1, 2,L , z0任意给定) mk = max( yk ) ( = yk中绝对值最大的分量), z = y / m k k k
则有
λ1 = lim mk
k →∞
lim zk = x1 / max(x1)
k →∞
if
mk ≈ mk −1 or
zk ≈ zk −1
迭代矩阵的元素为: 第 k 步迭代矩阵的元素为:
( k a(k ) = a(k−1) cosθ + aqjk−1) sinθ = a(jp) pj pj ( ( k aqjk ) = −a(k−1) sinθ + aqjk−1) cosθ = a(jq) ( j ≠ p, q) pj (k a(k ) = a(k−1) cos2 θ + 2a(k−1) sinθ cosθ + aqq−1) sin2 θ pp pp pq (k (k aqq) = a(k−1) sin2 θ − 2a(k−1) sinθ cosθ + aqq−1) cos2 θ pp pq ( (k a(k ) = (aqk−1) − a(k−1) )sinθ cosθ + a(k−1) (cos2 θ −sin2 θ ) = aqp) pq q pp pq ( ( aijk ) = aijk−1) (i, j ≠ p, q)
Τ P = I , P = P −1Rk (k =1,2,L, m) 0 k k
p
(k ) ip
=p
(k −1) ip
cosθ + a
(k −1) iq
sinθ
( (k (k piqk ) = − pip −1) sinθ + piq −1) cosθ ( ( pijk ) = pijk−1) ( j ≠ p, q) i =1,2,L, n
第七章
矩阵的
特征值与特征向量
第一节 乘幂法与反幂法 1.1 乘幂法:用于求矩阵的模(绝对值)最大的特征值。 乘幂法:用于求矩阵的模(绝对值)最大的特征值。 特征值为: 记矩阵 A 的特征值为: λ ≥ λ ≥ L ≥ λ 1 2 n 相应的特征向量为: 相应的特征向量为: ξ1 , ξ 2 , L , ξ n 任取非零向量 任取非零向量 则有: 则有:
每次迭代需要解 Ayk = zk −1 ,为此,可将 A 进行 分解, 为此, 进行LR分解 分解, 则每次迭代只需解两个三角方程组
Ayk = zk −1 ( k = 1, 2,L , z0任意给定) mk = max( yk ) z = y / m k k k
最后求得: 最后求得:
最后,雅可比方法的计算步骤可以归纳为: 最后,雅可比方法的计算步骤可以归纳为: ),并 (1)确定非对角绝对值最大元位置(p,q),并计算 和 )确定非对角绝对值最大元位置( , ), 计算sin和 cos的值; 的值; 的值 (2)计算迭代矩阵的元素; )计算迭代矩阵的元素; (3)计算特征向量; )计算特征向量; (4)与计算精度进行比较,以决定是否终止计算,并输出特 )与计算精度进行比较,以决定是否终止计算, 征值和特征向量。 征值和特征向量。
λ2 → λ1
λ2 λ1
称为收敛率
由于
zk
于是可以对之进行埃特金加速, 线性收敛于 x1 ,于是可以对之进行埃特金加速,
2 k +1 i
( zk )i ( zk + 2 )i − ( z ) Wi = ( zk )i − 2( zk +1 )i + ( zk + 2 )i
(i = 1, 2, L , n)
m
% % 0 < λm − λm << λi − λm
的特征向量。此时,迭代为: 的特征向量。此时,迭代为:
(i ≠ m)
于是, 于是,用反幂法可以求出 A − λ I 的按模最小特征值及相应 % m
% ( A − λm ) yk = zk −1 ( k = 1, 2,L , z0任意给定) mk = max( yk ) z = y / m k k k
Q Τ = Q −1 , QQ Τ = I
数不变。 数不变。
, QAQ Τ = Λ
(2)一个矩阵左乘一个正交矩阵或右乘一个正交矩阵,其E范 )一个矩阵左乘一个正交矩阵或右乘一个正交矩阵, 范
A
2 E
= ∑∑ a = trace( A A) = trace( A Q QA) = QA
i =1 j =1 2 ij Τ Τ Τ
HHΤ = I , H = HΤ
对任意的向量 x 以及单位向量 g,存在Householder矩阵,使 ,存在 矩阵, 矩阵
Hx = x 2 g
u=
x− x 2 g x− x 2 g
xi2 ,0,L,0) ∑
i=1 n
特别, 特别,取 g = e = ( 1 , 0 , …… , 0)
(p) (q)
2.1 雅可比算法 算法的思想: 算法的思想: 设 A 为对称矩阵,选出 A 的除对角元外的所有元素中绝对值 为对称矩阵, 最大的一个,然后用前一页中的正交矩阵将此元化为零 此元化为零。 最大的一个,然后用前一页中的正交矩阵将此元化为零。 如此,产生一个新的阵,然后再重复上面的步骤, 如此,产生一个新的阵,然后再重复上面的步骤,直到最后将 A 化为对角矩阵,则对角元就是所要求的特征值! 化为对角矩阵,则对角元就是所要求的特征值! 将上述过程数学化,首先, 将上述过程数学化,首先,记
为使 a ( k ) = 0 ,必须 pq
tg2θ =
2a(k−1) pq a
(k −1) pp
−a
(k −1) qq
在这里,我们通常, 在这里,我们通常,限制
k (k θ ≤ π / 4 ,如果 a (pp−1) = aqq −1) ,
当 a ( k −1) > 0 时,取 θ = π / 4 ,当 a ( k −1) < 0 时, = −π / 4 θ pq pq 迭代矩阵的元素时, 在具体计算第 k 步迭代矩阵的元素时,需要计算正弦值和余弦 通常按如下步骤计算: 值,通常按如下步骤计算:
stop
例子: 例子:求矩阵的模最大特征值及其特征向量
−1 2 1 A = 2 −4 1 1 1 −6
计算结果 程序
%用乘幂法计算矩阵模最大的特征值和相应的特征向量 A=[-1,2,1;2,-4,1;1,1,-6] z0=[1,1,1]'; errtel=1e-6; er=1; k=0; while er>errtel k=k+1; yk=A*z0; [c,p]=max(abs(yk)); mk=yk(p) zk=yk/mk; er=norm(zk-z0); z0=zk; end k,mk,zk
k (k k (k k y = a (pp−1) − aqq −1) , x = sign(a (pp−1) − aqq −1) ) ⋅ 2a (pq−1)
tg2θ = x / y
cos2θ = sin2θ = y x2 + y2 x x2 + y2
1+ cos2θ ⇒ cosθ = 2
⇒
sin2θ sinθ = 2cosθ
非奇异, 进行乘幂法 称为反幂 如果 A 非奇异,用其逆矩阵代替 A 进行乘幂法,称为反幂 法。 逆矩阵的特征值与A 互为倒数。即为: 逆矩阵的特征值与 互为倒数。即为:
1/ λn ≥ 1/ λn −1 ≥ L ≥ 1/ λ1
用 A 的逆进行乘幂法,得到 1/ λn 的逆进行乘幂法, 迭代格式为: 迭代格式为:
n
n
2 E
A
2 E
= A
Τ 2 E
% = Q A
Τ
Τ
2 E
% = ( AQ)
Τ
2 E
% = AQ
2 E
下面的矩阵是一个 阶正交矩阵: 下面的矩阵是一个 n 阶正交矩阵:
1 O cos θ sin θ O R ( p, q, θ ) = 1 O − sin θ cos θ O 1
以上是计算特征向量的埃特金加速,同样可以得到关于计算特 以上是计算特征向量的埃特金加速,同样可以得到关于计算特 计算特征向量的埃特金加速 征值的埃特金加速, 征值的埃特金加速, 的埃特金加速
mk mk + 2 − mk2+1 Mk = mk − 2mk +1 + mBiblioteka Baidu + 2
M k → λ1
1.3 反幂法
yk = A−1 zk −1 (k = 1, 2,L , z0任意给定) mk = max( yk ) ( = yk中绝对值最大的分量), z = y / m k k k
1/ λn = lim mk
k →∞
为避免矩阵的求逆运算,通常也采取如下的算法: 为避免矩阵的求逆运算,通常也采取如下的算法:
Lx = zk −1 Ryk = x
1/ λn = lim mk
k →∞
xn lim zk = k →∞ max( xn )
反幂法的一个主要应用是已知矩阵的近似特征值后, 反幂法的一个主要应用是已知矩阵的近似特征值后,求其特征 向量。 向量。 % 如果已求得矩阵某个特征值 λm 的近似值 λ ,则
z0 = c1ξ1 + c2ξ 2 + L + cnξ n ,记 zk = Ak z0
zk ≈ λ1k c1ξ1
这里, ( 表示向量的第 这里, z )i 表示向量的第 i 个分量
(zk+1)i λ1 = lim k →∞ (z ) k i
具体计算时,对于任意取的初始向量,按以下格式计算: 具体计算时,对于任意取的初始向量,按以下格式计算: