本节书摘来自华章出版社《数值分析(原书第2版)》一 书中的第2章,第2.3节,作者:(美)Timothy Sauer,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
2.3 误差来源
正如我们已经描述的,在高斯消去法中有两个潜在的误差来源.病态问题的概念和解对于输入数据的敏感性相关.我们将使用第1章中的后向和前向误差讨论条件数.在求解病态矩阵方程时,几乎没什么办法可以避免误差,因而能够尽可能识别并避免病态矩阵很重要.第二个误差来源的原因是淹没,在大部分问题中可以通过一个简单的修正,称为部分主元,进行避免,这部分将在2.4节中进行讨论.85
随后介绍向量和矩阵范数的概念,并用于度量误差的大小,在当前方程组中的误差用向量表示.我们将主重点关注一个叫做无穷范数的概念上.
2.3.1 误差放大和条件数
在第1章中,我们发现部分方程求解问题在前向和后向误差之间有很大差异.对于线性方程组系统也是如此.为了量化误差,我们首先讲述向量的无穷范数概念.
定义2.3 向量x=(x1,…,xn)的无穷范数或者最大范数为‖x‖∞=maxxi,i=1,…,n,即x所有元素中的最大绝对值.
后向误差和前向误差和定义1.8相关.后向误差表示输入时候的差异,或者问题的数据一方,而前向误差表示在输出时候的差异,在算法解的一方.
定义2.4 令xa是线性方程组Ax=b的近似解.余项是向量r=b-Axa.后向误差是余项的范数‖b-Axa‖∞,前向误差是‖x-xa‖∞.
例2.10 找出近似解xa=[1,1]的后向误差和前向误差,方程组如下:11
3-4x1
x2=3
2正确的解是x=[2,1].使用无穷范数,后向误差是‖b-Axa‖∞=3
2-11
3-41
1∞=1
3∞=3前向误差是‖x-xa‖∞=2
1-1
1∞=1
0∞=1在其他情况下,后向误差和前向误差可能具有不同的数量级.
例2.11 找出近似解[-1,3.0001]的后向误差和前向误差,方程组如下x1+x2=2
1.0001x1+x2=2.0001(2.17)首先,计算精确解[x1,x2].高斯消去包含步骤11|2
1.00011|2.0001→第2行减去第1行的1.0001倍→11|2
0-0.0001|-0.0001
86求解得到的方程组x1+x2=2
-0.0001x2=-0.0001得到解[x1,x2]=[1,1].
后向误差是如下向量的无穷范数b-Axa=2
2.0001-11
1.00011-1
3.0001
=2
2.0001-2.0001
2=-0.0001
0.0001误差是0.0001.前向误差是如下向量差的无穷范数图2.2 例2.11对应的几何表示.系统(2.17)表示为直线x2=2-x1和x2=2.0001-1.0001x1,它们的交点在(1,1).点(-1,3.0001)差一点就在两条直线上,并对应一个近似解.在图中,两条直线之间的差异被放大,它们实际上离得非常近x-xa=1
1--1
3.0001=2
-2.0001前向误差为2.0001.
图2.2有助于理解为什么小的后向误差和大的前向误差可以同时存在.即使“近似根”(-1,3.0001)相对远离真实根(1,1),这个近