条件范数与精度估计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
条件范数与精度估计
摘 要 定义矩阵A 为Hilbert 矩阵,计算A 的∞范数条件数,统计分析矩阵A 为5到20阶时∞范数条件数的值。
利用列主元Gauss 消去法求解方程组,对5到30阶估计计算解的精度,并且与真实相对误差做比较。
关键词 Hilbert 矩阵 矩阵A 的∞范数 条件数 列主元Gauss 消去法
1 内容简介
1.1 估计∞范数条件数
估计5到20阶Hilbert 矩阵的∞范数条件数。
Hilbert 矩阵:系数矩阵A 的第i 行第j 列的元素为 1,1i j i j a +-=
矩阵A 的∞范数:,11||||max ||n
i j i n
j A a ∞≤≤==∑
条件数:1()||||||||A A A κ-=
定义矩阵A 为Hilbert 矩阵,计算A 的∞范数条件数,统计分析矩阵A 为5到20阶时∞范数条件数的值。
1.2比较估计精度与真实相对误差
利用列主元Gauss 消去法求解方程组,对5到30阶估计计算解的精度,并且与真实相对误差比较。
列主元Gauss 消去法:计算A 的列主元LU 分解PA LU =;再解下三角方程组Ly Pb =;解上三角方程组Ux y =
设矩阵100
110111111
1
11n n n A R ⨯⎡⎤⎢⎥-⎢
⎥
⎢⎥=∈⎢⎥--⎢⎥⎢⎥---⎣⎦
,任选n x R ∈,计算n b A x =,用列主
元Gauss 消去法求解该方程组,假定解为 x ,设 r b Ax =-,而11||||||||T A A --∞=,
记 ||||r γ∞=, ||||b β∞=, ||||A μ∞=, 1||||A ν-∞=,计算 νμγρβ
=,则 ρ
可作为计算解 x 的相对误差的一个估计。
与真实相对误差 ||||||||x x x ∞∞
-做比较。
2 实验方法
2.1估计∞范数条件数 用MathCAD 计算方法如下:
H n ()A i j
,1i j +1
-←
j 1n ..∈for i 1n ..∈for A
:=
κn ()norm i H n ()()norm i H n ()
1
-(
)⋅:=
其中()H n 表示n 阶Hilbert 矩阵,()n κ即是n 阶Hilbert 矩阵的∞范数条件数。
2.2比较估计精度与真实相对误差 用MathCAD 计算方法如下:
F n ()A i i ,1←A
i n
,1
←i 1n ..∈for A i j
,1
-←j 1i 1-..∈for i 2n ..∈for A
:=
X n ()x i
1.19998
←i 1n ..∈for x
:=
L n ()L
i i
,1
←i 1n ..∈for L i j
,1
-←j 1i 1-..∈for i 2n ..∈for L
:=
b n ()F n ()X n ()⋅:= U n ()L n ()
1
-F n ()⋅:=
y n ()L n ()
1
-b n ()⋅:= x n ()U n ()
1
-y n ()⋅:= r n ()b n ()F n ()x n ()⋅-:=
P n ()p i 1
,normi F i ()()max r i ()()⋅normi F i ()()T ()1-⎡⎣⎤⎦⋅max b i ()()
←
i 5n ..∈for p
:=
T n ()t
i 1
,max X i ()x i ()-()
max X i ()()
←
i 5n
..∈for t
:=
其中()F n 表示n 阶矩阵n A ,()X n 是任选的n x R ∈,()b n 即是n b A x =,()L n 和()U n 分别是对n A 进行LU 分解得到的下三角矩阵和上三角矩阵,()x n 是用列主元Gauss 消去法求得的解,()P n 是n 阶矩阵n A 计算解的精度,()T n 是n 阶矩阵n A 计算解的真实相对误差。
3 结果与分析
3.1估计∞范数条件数
用MathCAD 处理计算的结果如下:
当矩阵阶数 m 520..:= 时,()m κ即是m 阶Hilbert 矩阵的∞范数条件数。
以矩阵阶数m 为横坐标,条件范数()m κ为纵坐标,其图像如下:
5101520
5.10
17
1.10
18
κm ()m
条件数在一定程度上刻画了扰动对方程组解的影响程度。
通常,若线性方程组的系数矩阵A 的条件数κ(A )很大,则A 是病态的;反之,A 是良态的。
可以看出,Hilbert 矩阵的条件数很大。
3.2比较估计精度与真实相对误差 用MathCAD 处理计算的结果如下:
i p 表示i 阶矩阵i A 计算解的精度,在图中以红色的点表示,其中i 530..:= ;
j t 表示j 阶矩阵j A 计算解的真实相对误差,在图中以蓝色的点表示,j 530..:= 。
以i ,j 为横坐标,i p ,j t 为纵坐标,在同一图像上表示如下:
0102030
1.10
7
2.107
3.10
7
p i t j
i j
,
这一方法给出了计算解相对误差的相当好的估计,可以看出,真实相对误差不大于计算解的精度。
4 结论
条件数在一定程度上刻画了扰动对方程组解的影响程度。
通常,若线性方程
组的系数矩阵A的条件数κ(A)很大,则A是病态的;反之,A是良态的。
可以看出,Hilbert矩阵的条件数很大,故Hilbert矩阵是十分病态的。
对于绝大多数问题,用上述解决计算解及相对误差的方法常常可以给出计算解相对误差的相当好的估计,但是,也有一些特殊的问题利用该方法估计得到的计算解的精度远远小于计算解的实际相对误差。
若计算解ˆx的精度太低,可以ˆx
为初值,应用Newton迭代法于函数()
f x Ax b
=-上,来改进其精度。
具体步骤
如下:
(1)计算ˆ
r b Ax
=-(用双精度和原始矩阵A);
(2)求解Az r
=(利用A的三角分解);
(3)计算ˆ
x x z
=+;
(4)若
ˆ
||||
||||
x x
x
ε
∞
∞
-
≤,则结束;否则,令ˆx x
=,转步(1).
实际计算的经验表明,当A病态的并不是十分严重时,利用这一方法最终可使计算精度达到机器精度。
而当A十分病态时,这样做也不会有太大改进。
参考文献:
[1]徐树方,高立,张平文,数值线性代数,北京大学出版社,2000.。