1、1,数值分析,曹学年 数学与计算科学学院305室,2,第一章 引论,3,计算不仅仅只是作为验证理论模型的正确性 的手段,大量的事实表明它已成为重大科学发现 的一种重要手段所有这一切都充分说明, 科学计算与实验、理论三足鼎立,相辅相成, 成为当今科学活动的三大方法。石钟慈:第三种科学方法-计算机时代的科学计算(2000),4,1 数值计算方法(数值分析)重要地位和作用,(1) 数学的一个分支、数学与其它应用学科的桥梁;,(2) 其它学科发展迫切需要进行数值计算与仿真; 科学计算已成为平行于理论分析和科学实验的第三种科学研究方法。,1 数值计算方法及其主要内容,5,数值计算与仿真新理论、新算法大量
2、涌现,其 应用范围越来越广:出现在计算物理、化学、生物, 逐渐成为理工科专业人才必备知识和工具.,6,特点:多学科性、大规模性、复杂性等,实际应用例子:,求薄膜材料的位移(应力)场,下图为薄膜 的电镜扫描图(在原子尺寸下)。,7,8,(理想)流体数值模拟图,9,算法选取原则:理论可靠、计算复杂性好和能在计算机上实现的求解数学模型方法。,理论可靠:稳定性、收敛性,计算复杂性好:时间、存储开销,计算机上可实现:有限(可操作)性,本书讨论的数值计算方法一般是近似方法。,10,3计算机软、硬件的发展为数值方法的实现提供环境,也促进它的快速发展。1946年第一台,目前,国际上每秒50万亿次 Flops运
3、算(峰值,Lipack峰值(矩阵乘向量的标准测试程序)达87%),国内10万亿(Tero-flops)次。世界前500台并行计算机(前10台中:8台在美国,1台在欧洲,1台在日本,在近8年半的总性能增加了190倍(年均1.82倍),超过了Moore定理的指标:18个月性能提高1倍。,11,一批新的计量单位应运而生:K: ;M: ;G: ;T: ;P: . 值得注意的是:cluster(微机机群)异军突起, 性能价格比与同性能并行机有数量级上的差别, 目前最快微机机群: 625GF/S(排名35名)。 中科院招标建LSSC(大规模科学计算)-II微机机群, 联想公司(国内名牌IT产业)中标。 为
4、此,需要更高性能的计算方法、软件提供支持。,12,1.2 数值分析的主要内容,函数的插值与逼近;,数值积分与数值微分;,非线性方程的数值解法;,矩阵的特征值问题的计算;,常微分方程数值解法.,线性代数方程组的解法;,13,目标:掌握设计数值算法的基本方法(或思想(路)、 原理)和技巧,并能在计算机上做解决某些科学 工程计算问题的数值试验。,14,数学院计算数学的主要研究方向:偏微分方程数值方法、多重网格与区域分解法、 刚性(常)微分方程算法理论及应用软件、计算流体力学,均与该课程的内容有关,科研课题(973、863、国家自科和九所项目,大都与此有关)。,15,仪器设备实验室拥有完善的计算机网络
5、,各类先进的设备、实验环境,包括SGI ORIGIN 3200 并行机、SGI服务器ORIGIN200、SGI服务器1400 FOR LINUX、2个SGI OCTANE工作站等。购置了SGI专用内存IBM 6G、SCSI 146G硬盘进行SGI Origin 3200并行计算机升级,并添置了Cisco交换机、理光高性能数码复印机、计算服务器、高性能计算PC机等,与学校相关学科共建高性能计算机集群。上述设备中,万元以上有近 40台(件)。这些仪器设备上网共享情况良好。它们全部共享到“湖南高校大型仪器设备共用网”,并行计算服务器等工作站也通过网络面向校内外单位开放。,16,2006年购置的曙光高
6、性能科学计算集群系统拥有64个计算结点,理论峰值运算能力达到1024 Gflops,Linpack效率可达70,实际运算能力可达716.8 Gflops,该系统已广泛应用于研究计算数学、材料、物理、化学、信息、生物等领域,更方便地解决图像分析与处理、海量数据挖掘、材料设计、材料结构与性能分析、并行算法研究等问题。,17,举例:,(1)求 的正实根;,(2)求一阶微分方程初值问题:,的解,其中:,18,(3)解线性代数方程组:,(4)求积分:,19,2.1 以 为基的数系( 进制数),以 为基的数可表示为,这里: 为正整数.,2 数的浮点表示,20,2.2 数的浮点表示,固定小数点位置的表示方法
7、,称为数的定点表示. 允许小数点位置浮动的表示方法称为数的浮点表示.,例如:0. 0050618, 0. 027612, 276.4608,分别表示成,21,进制下,规格化的浮点数可以表示成,其中:,22,2.3 计算机中数的浮点表示,例如:,机器数系用: 表示.,为字长, 为阶码, 为进制, 为阶码大小范围,,23,例如,机器数系: 表示该数系中绝 对值最大的数为:,绝对值最小的数为:,因此若 ,则有,24,机器浮点数小于 出现机器零.,绝对值大于 ,则溢出.,25,3.1 来源与分类 /* Source & Classification */,从实际问题中抽象出数学模型 模型误差 /* M
8、odeling Error */,通过测量得到模型中参数的值 观测误差 /* Measurement Error */,求近似解 方法误差 (截断误差 /* Truncation Error */ ),机器字长有限 舍入误差 /* Roundoff Error */,3 误差的基本概念,26,大家一起猜?,1,1 / e,解法之一:将 作Taylor展开后再积分,| 舍入误差 /* Roundoff Error */ |,= 0.743 ,由截去部分 /* excluded terms */ 引起,由留下部分 /* included terms */ 引起,27,3.2 误差与有效数字 /*
9、Error and Significant Digits */, 绝对误差 /* absolute error */,其中x为精确值,x*为x的近似值。,注:e* 理论上讲是唯一确定的,可能取正,也可能取负。e* 0 不唯一,当然 e* 越小越具有参考价值。,28, 相对误差 /* relative error */,x 的相对误差上限 /* relative accuracy */ 定义为,注:从 的定义可见, 实际上被偷换成了 ,而后才考察其上限。那么这样的偷换是否合法?严格的说法是, 与 是否反映了同一数量级的误差?关于此问题的详细讨论可见教材第8-9页。,29,有效数字 /* sign
10、ificant digits */,用科学计数法,记 (其中 )。若 (即 的截取按四舍五入规则),则称为有n 位有效数字,精确到 。,4,3,注:0.2300有4位有效数字,而00023只有2位有效。12300如果写成0.123105,则表示只有3位有效数字。数字末尾的0不可随意省去!,30,有效数字与相对误差的关系, 有效数字 相对误差限,已知 x* 有 n 位有效数字,则其相对误差限为, 相对误差限 有效数字,31,例:为使 的相对误差小于0.001%,至少应取几位有效数字?,解:假设 * 取到 n 位有效数字,则其相对误差上限为,要保证其相对误差小于0.001%,只要保证其上限满足,已
11、知 a1 = 3,则从以上不等式可解得 n 6 log6,即 n 6,应取 * = 3.14159。,32,3.3 函数的误差估计 /*Error Estimation for Functions*/,问题:对于 y = f (x),若用 x* 取代 x,将对y 产生什么影响?,分析:e*(y) = f (x*) f (x) e*(x) = x* x,Mean Value Theorem,= f ( )(x* x),x* 与 x 非常接近时,可认为 f ( ) f (x*) ,则有: |e*(y)| | f (x*)|e*(x)|,即:x*产生的误差经过 f 作用后被放大/缩小了| f (x*
12、)|倍。故称| f (x*)|为放大因子 /* amplification factor */ 或 绝对条件数 /* absolute condition number */.,33,相对误差条件数/* relative condition number*/,f 的条件数在某一点是小大,则称 f 在该点是好条件的 /* well-conditioned */ 坏条件的 /* ill-conditioned */。,34,例:计算 y = ln x。若 x 20,则取 x 的几位有效数字可保证 y 的相对误差 0.1% ?,解:设截取 n 位有效数字后得 x* x,则,估计 x 和 y 的相对误
13、差上限满足近似关系, n 4,例:计算 ,取 4 位有效,即 , 则相对误差,35,几点注意事项 /* Remarks */,1. 避免相近二数相减 (详细分析请参阅教材p.13),例:a1 = 0.12345,a2 = 0.12346,各有5位有效数字。而 a2 a1 = 0.00001,只剩下1位有效数字。, 几种经验性避免方法:,当 | x | 1 时:,36,2. 避免小分母 : 分母小会造成浮点溢出 /* over flow */,3. 避免大数吃小数,例:用单精度计算 的根。,精确解为, 算法1:利用求根公式,在计算机内,109存为0.11010,1存为0.1101。做加法时,两加
14、数的指数先向大指数对齐,再将浮点部分相加。即1 的指数部分须变为1010,则:1 = 0.0000000001 1010,取单精度时就成为: 109+1=0.100000001010+0.00000000 1010=0.10000000 1010,大数吃小数,37,算法2:先解出再利用,注:求和时从小到大相加,可使和的误差减小。,例:按从小到大、以及从大到小的顺序分别计算 1 + 2 + 3 + + 40 + 109,4. 先化简再计算,减少步骤,避免误差积累。,一般来说,计算机处理下列运算的速度为,38,3.4 浮点运算的舍入误差,不一定属于,例如:,则:,因此 不属于 .,39,如果 用表
15、示一种四则运算,有:,例如:,那么,Th2,40,4 算法的数值稳定性,一个算法,如果在执行它的过程中舍入误差在 一定条件下可以得到控制(或者说初始误差和舍入 误差的增长不影响产生可靠的结果),则称它是数 值稳定的,否则称该算法数值不稳定.,41,传播与积累 /* Spread & Accumulation */,例:蝴蝶效应 纽约的一只蝴蝶翅膀一拍,风和日丽的北京就刮起台风来了?!,NY,BJ,以上是一个病态问题 /* ill-posed problem*/,42,例:计算, 公式一:,注意此公式精确成立,?,?,? !,! !,43,考察第n步的误差, 公式二:,注意此公式与公式一 在理论上等价。,方法:先估计一个IN ,再反推要求的In ( n N )。,可取,44,取,45,考察反推一步的误差:,以此类推,对 n N 有:,误差逐步递减, 这样的算法称为稳定的算法 /* stable algorithm */,在我们今后的讨论中,误差将不可回避,算法的稳定性会是一个非常重要的话题。,作业: p.22 2题, 4题, 6题,9题,