数值计算与MATLAB
1
《数值计算与MATLAB 》
第6章求解线性代数方程组和计算矩阵特征值的迭代法§1 求解线性代数方程组的迭代法
§2 方阵特征值和特征向量的计算
§3 矩阵一些特征参数的MATLAB计算
《数值计算与MATLAB 》
6.1 求解线性代数方程组的迭代法
1、迭代法的基本原理
如果线性方程组Ax=b的系数矩阵A非奇异,则方程组有唯一解。
把这种方程中的方阵A分解成两个矩阵之差:A=C-D
若方阵C是非奇异的,把A它代入方程Ax=b中,得出 (C-D)x=b,两边左乘C-1,并令 M=C-1D,g= C-1b,移项可将方程Ax=b变换成:
x=Mx+g
据此便可构造出迭代公式: x
k+1
=Mx k+g,
M=C-1D称为迭代矩阵。
《数值计算与MATLAB 》2. 雅可比(Jacobi)迭代法
如果方程组Ax=b的系数矩阵A非奇异,a
ii
≠0,若可以把A 分解成: A=D-L-U=D+(-L)+(-U),
D=diag(a11,a22,…,a nn);
-L是严格下三角阵;
-U是严格上三角矩阵;
x= D-1((L+U)x +b)=D-1(L+U)x+ D-1b
x k+1=D-1((L+U)x k+b)= D-1(L+U)x k + D-1b
M
M=D-1(L+U)称为雅可比迭代矩阵
《数值计算与MATLAB 》
⎥
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎢
⎣
⎡
=
6
7-
4
1
2
1-
2
6-
3-
1
1
5-
1
2
A
⎥
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎢
⎣
⎡
=
6
1-
3-
2
D
⎥
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎢
⎣
⎡
=
7
4-
1-
2-
1-
L
⎥
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎢
⎣
⎡
=
2-
6
1-
5
1-
U
M=D-1(L+U)=
⎥
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎢
⎣
⎡
7/6
2/3
-
1/6
-
2
2
2-
1/3
1/2
-
5/2
1/2
-
《数值计算与MATLAB 》雅可比迭代公式的向量形式
x k=[( x k) 1,( x k) 2, …,(x k) n]T, k=0,1,2,……,
D-1=diag( , ,… ,),
11
a
1
22
a
1
nn
a
1
)
)
(
(
1
)
(
1
1∑
≠
=
+
+
-
=
n
i
j
j
i
j
ij
ii
i
k
b
x
a
a
x
k
《数
值
计
算
与
MATLAB
》
3. 赛德尔(Seidel)迭代法
)
)
(
(
1
)
(
1
1∑
≠
=
+
+
-
=
n
i
j
j
i
j
ij
ii
i
k
b
x
a
a
x
k
M= (D-L)-1U称为赛德尔迭代矩阵
《数值计算与MATLAB 》4. 迭代法的敛散性方阵的谱半径
《数值计算与MATLAB 》向量范数
非负性:||x||≥0
齐次性:||ax||=|a|||x||;
三角不等式:||x||+||y||≥||x+y||。
《数值计算与MATLAB 》矩阵范数
如果满足范数三条件,同时满足矩阵乘法相容性(次乘性):||A||·||B||≥||A·B||
《数
值
计
算
与
MATLAB
》
迭代公式收敛性的判断和误差估计:
1)方阵谱半径和范数间的关系:
λx=Mx
ρ(M)≤||M|| 2)迭代公式的误差估计:
《数值计算与MATLAB 》
6.2 方阵特征值和特征向量的计算
解多项式方程法迭代法
1. 方阵特征方程的求解:
如果n阶方阵A、n维向量x和数λ满足关系:Ax=λx,就把数λ叫做方阵A的特征值,非零向量x是与λ对应的方阵A的特征向量。
)
det(=
-E
Aλ
)
(=
-x
E
Aλ
《数值计算与MATLAB 》2.计算特征值和特征向量的迭代法:
雅可比法:
对于n阶实对称方阵A,必然存在正交阵P,使得
P-1AP=P T AP=Λ
Λ是对角阵。
雅可比法原理:用矩阵的正交相似变换,将实对称矩阵化为对角阵,因为它相当于坐标的旋转变换,所以也叫旋转法。
《数值计算与MATLAB 》QR算法:
由施密特(Schmidt)正交化方法可以推得,任意n 阶方阵A总可以分解成一个正交矩阵Q(Q T Q=E)和一个上三角阵R的乘积:
A=QR
这种把矩阵分解成正交阵与上三角阵之积的过程,叫正交三角分解或QR分解。
如果A是非奇异方阵,则这种分解是唯一的。
《数值计算与MATLAB 》
6.3 矩阵一些特征参数的MATLAB求算
求方阵行列式的指令det:det (A)
求方阵特征多项式的指令poly:P=poly (A) roots(P)
poly2str(P,’y’)
求方阵特征值和特征向量指令eig:[x r]=eig (A);eig (A)
[x r]=eig (A, “nobalance”)
矩阵的正交三角分解指令qr:[q r]=qr(a); [q r p]=qr(a)
计算范数指令norm:norm(A, ex)
矩阵谱半径的计算:max(abs(eig(M)))。