绪 论 0.1数值计算方法与算法 数值计算方法,是一种研究数学问题的数值近似解方法,是在计算机上使用的 解数学问题的方法,简称计算方法.它的计算对象是那些在理论上有解而又无法用 手工计算的数学问题,以及没有解析解的数学问题.例如,解一个有300个未知量 的线性方程组:计算6阶矩阵的全部特征值. 在科学研究和工程技术中都要用到各种计算方法.例如,在航天航空、地质勘 探、汽车制造、桥梁设计、天气预报和汉字字体设计中都有计算方法的踪影.在20 世纪70年代,大多数学校仅在数学系的计算数学专业和计算机系开设计算方法这 门课程.随着计算机技术的迅速发展和普及,现在计算方法课程几乎已成为所有理 工科学生的必修课程 计算方法是一门理论性和实践性都很强的学科,计算方法既有数学类课程中理 论上的抽象性和严谨性,又有实用性和实验性的技术特征.计算方法的前提课程是 微积分、线性代数、常微分方程和一门计算机语言 大多数人学习计算方法的目的是为了使用方法,在学习计算方法中,在套用计 算公式、修改计算公式和创建计算公式中,都需要不同程度的专业知识和数学基础 要注重学习计算方法中的逼近和迭代等数学思想和常用手法,获取近似计算的能 力,并能触类旁通地应用到各个领域中,一些有创造力的工程师不仅擅长使用某些 计算方法,而且能创建出简便有效的计算方法.例如,样条函数、快速傅里叶变换 和有限元方法都是有创造力的工程师们创建的,再由数学家们完善这些方法的理论 基础,并从理论上进行提高和推广 从方法的计算公式到在计算机上实际运行,两者之间还有距离,这是数学能力 与计算机应用技术能力之间的距离,还与计算机的运行环境和编程工具有关,为了 缩小两者之间的距离,本教材将给出部分计算公式的算法描述.用算法容易准确而 简便地描述计算公式,在算法中能简洁地表达计算公式中的“循环”和“迭代”等 操作.有了方法的算法,将它转化成C或PASCAL等语言的程序上机运行也就容 易了 在学习计算方法过程中,如果能用某种语言编制该方法的程序并运行通过,那 么有利于准确而深刻地掌握该方法的计算步骤和过程
2 绪论 本教材中提供了部分上机作业题,在平时作业中布置一些上机编程题目,其目 的是通过编程上机,加深对方法实施的理解和体会,训练和提高数学与计算机应用 能力和水平 0.2误差与有效数字 1.绝对误差与绝对误差界 近似计算必然产生误差,误差表示精确值与近似值的距离. 定义0.1设x为精确值(或准确值),x是x·的一个近似值.称e=x-王 为近似值x的绝对误差或误差 绝对误差=精确值一近似值 误差e的值可正可负,如果得不到精确值x,也就算不出绝对误差e的值.常 用限制误差绝对值的范围ε描述和控制误差的范围. 定义02如果精确值x*与近似值x的误差的绝对值不超过某正数,即 lel=x-x≤e 称ε为绝对误差限或误差限, 精确值x°也可表示为x”=x士c.通常,在误差允许的范围内的近似值工,即 认为是精确值,这也是计算中控制循环中止的常用手段 例0.1若经四舍五入得到x=123.456,对于数123.4559,123.4555.123.4561 123.4564的近似值都是x=123.456,即第四位小数大于5时.必然进位到第三位小 数:第四位小数小于5时,必然舍去.它的误差限是 4=r-<104×5=2x10-3 若x*=0.0123456,则它的误差限是 ld=r-到≤10x5=5×10-7 2.相对误差与相对误差限 在很多情况下,绝对误差并不能全面地反映近似程度.例如,某电器公司两次 进货的某型号电风扇分别为1000台和2000台,其中开箱不合格电风扇分别为8 和12(绝对误差的值).不合格率分别为8/1000=0.8%和12/2000=0.6%(相对误差的
0.2误差与有效数字 ·3 值),这说明该电风扇的质量有所提高。我们把绝对误差与准确值的比值定义为相 对误 定义03设r为精确值,上是r的一个近似值,称。,=兰=-为近 似值x的相对误差 在实际计算中,有时得不到精确值x‘,当,较小时x可用近似值工代替,即 和对误差警皮相到深装-器 相对误差,的值也可正可负,与绝对误差一样不易计算,常用相对误差限控 制相对误差的范围. 定义04如果有正数e,使得c=<,则称,为x的相对误差限 产生误差的因素很多,产生误差的原因主要如下 (1)原始误差 由客观存在的模型抽象到物理模型产生的误差.包括模型误差和原始数据误差 (2)截断误差 用有限项近似无限项时,由截取函数的部分项而产生的误差,称为截断误差, 心=1中a+会+…中萄+一三后在计中用心-会品 含后:的酸断误差阳-三,品 n-N+n! (3)舍入误差 在数值计算中,通常都按有限位进行运算.例如,按照四舍五入的原则,2/3 0.666667或2/3=0.667,由舍入产生的误差,称为舍入误差. 在实际计算中的数据通常是近似值,它们由观察、估计或计算而得到,这些数 在计算机表示后也会带来进一步误差,即误差的积累和传播。关于误差的传播似乎 没有多少统一的理论,通常积累误差的界是以通例分析为基础而建立的, 3.有效位数 定义0.5当x的误差限为某一位的半个单位,则这一位到第一个非零位的 位数称为x的有效位数. 例如,x=12.34,y=0.004067均有4位有效数字,而3.00与3.0000分别有3 位和5位有效位数
4 绪论 有效位的多少直接影响到近似值的绝对误差和相对误差,因此,在计算中也应 注意保持一定的有效位数, 数值计算的近似计算免不了有误差相随,只能尽量约束和控制误差 (1)选择收敛的稳定的方法 对同一问题选择不同的数值计算方法,可能得到不同的计算结果.在计算方法 中,除了给出方法的数值计算公式,还要讨论计算公式的收敛性、稳定性和截断误 差的特性。选择收敛性要求低、稳定性好的方法是约束误差扩张最重要的措施。例 如,样条插值函数比高次多项式的效果好得多,是构造插值函数的首选方法 (2)提高数值计算精度 数值在计算机中存放的位数称为字长.有限位的字长是带来舍入误差和抑制 数值计算精度的根源.对同一种方法,在字长大的计算机上的计算效果要比在字长 小的计算机上优越 同一计算问题,简化计算步骤、减少运算次数、控制除法中分母的值等措施都 会约束和减少舍入误差 例如,将多项式表达式f)=anr”+an-1r-1+…+ar+a0改写为 f(x)=(…(amx+an-i)z+…+a1)z+ao 在计算机上,用同一种数值计算方法对数据选用不同的数值类型,有时会直接 影响到计算效果.例如,对病态的线性方程组,采用单精度数据的Guss消元方 法,其数据解大大失真,而用双精度数据Gass列主元消元方法却可得到满意的数 值解 0.3矩阵和向量范数 0.3.1向量范数 1,向量范数的定义 在一维空间中,实轴上任意两点a,b的距离用两点坐标差的绝对值a一1表 示.绝对值是单变量的一种度量距离的定义, 范数是在广义长度意义下,对函数、向量和矩阵的一种度量定义.任何对象的 范数值都是一个非负实数。使用范数可以测量两个函数、向量或矩阵之间的距离 向量范数是度量向量长度的一种定义形式.范数有多种定义形式,只要满足向量范 数定义的三个条件即可定义一个范数 对任一向量X∈R”,按照一个规则确定一个非负实数与它对应,记该实数为
0.3矩阵和向量范数 …5 X,若X川满足下面三个性质 (1)任取X∈R”,有X1≥0,当且仅当X=0时,X‖=0: (非负性) (2)任取X∈R”,a∈R,有laXI=lax: (齐次性)】 (3)任取X,Y∈R",有IX+YI≤IX‖+IYI (三角不等式) 那么称实数X为向量X的范数. 定义0.6向量X=(m1,x2,…,xn)T的Lp范数(日6lder范数)定义为 1/p wM-(②r ,1≤p≤+0 (0.1) 其中,经常使用三种Lp向量范数是p=1,2,∞,即 1-范数(曼哈顿范数) x,==+++ 2范数(欧几里得范数) ∑=√网+哈+…+品 = 0o-范数 IX✉=z}=max(…,n 注X=mP+P++nPp=2警z. 例0.2计算向量X=(1,3,a)T的向量范数 1Xl1=1+3+1al=4+1a 川X2=(12+32+a21/2=V10+a l=max{1,3,lal}max{3,lal} 例0.3设A是一个正定矩阵,对任何向量X∈R”,定义函数IXA= √XTAX,XA是一种向量范数 1/p 例0.4当0<p<1,lXp= 不是向量范数