西安交通大学计算方法B完整版.doc
《西安交通大学计算方法B完整版.doc》由会员分享,可在线阅读,更多相关《西安交通大学计算方法B完整版.doc(121页珍藏版)》请在沃文网上搜索。
1、第一章 绪论1.1数值计算现代科学的发展,已导致科学与技术的研究从定性前进到定量,尤其是现代数字计算机的出现及迅速发展,为复杂数学问题的定量研究与解决,提供了强有力的基础。通常我们面对的理论与技术问题,绝大多数都可以从其物理模型中抽象出数学模型,因此,求解这些数学模型已成为我们面临的重要任务。一、 本课程的任务:寻求解决各种数学问题的数值方法如何将高等数学的问题回归到初等数学(算术)的方法求解了解计算的基础方法,基本结构(否则只须知道数值软件)并研究其性质。立足点:面向数学解决数学问题面向计算机利用计算机作为工具充分发挥计算机的功能,设计算法,解决数学问题 例如:迭代法、并行算法二、 问题的类
2、型1、离散问题:例如,求解线性方程组 从离散数据:矩阵A和向量b,求解离散数据x;2、连续问题的离散化处理:例如,数值积分、数值微分、微分方程数值解;3、离散问题的连续化处理:例如,数据近似,统计分析计算;1.2数值方法的分析在本章中我们不具体讨论算法,首先讨论算法分析的基础误差。一般来讲,误差主要有两类、三种(对科学计算):1)公式误差“截断误差”,数学计算,算法形成主观(人为):数学问题-数值方法的转换,用离散公式近似连续的数学函数进行计算时,一般都会发生误差,通常称之为“截断误差”; 以后讨论2)舍入误差及输出入误差计算机,算法执行客观(机器):由于计算机的存储器、运算器的字长有限,在运
3、算和存储中必然会发生最末若干位数字的舍入,形成舍入误差;在人机数据交换过程中,十进制数和二进制数的转换也会导致误差发生,这就是输入误差。这两种误差主要是由于计算机的字长有限,采用浮点数系所致。首先介绍浮点数系 一、计算机上的运算浮点运算 面向计算机设计的算法,则先要讨论在计算机上数的表示。科学记数法浮点数:约定尾数中小数点之前的数全为零,小数点后第一个数不能为零。 目前,一般计算机都采用浮点数系,一个存储单元分成首数和尾数: 首数 尾数(位)其中首数存放数的指数(或“阶”)部分,尾数存放有效数字。对于b进制,尾数字长为t位的浮点数系中的(浮点)数,可以用以下形式表示:此处,指数(称为阶)限制在
4、范围内。以下记实数系中的实数为,它在浮点数系中对应的浮点数记为进制,尾数位数,阶的范围。几乎所有近代计算机都采用“二进制”(即):位、字节和字分别是指位数不同的二进制数。例如十进制转换二进制10000 000120000 001040000 010080000 100090000 1001100000 101027位是一个二进制数(即0或1);字节是8个二进制数字;上表的最后一列是字节。单精度浮点数(single precision)按32位存储,双精度浮点数(double precision)按64位存储。精度用于指明每个浮点数保留多少位以及尾数和阶数各分配多少位。单精度浮点数的尾数为23位
5、、阶数为8位;双精度浮点数的尾数为53位(包含符号位)、阶数为11位(包含符号位)。双精度浮点数的等价二进制数如下所示: 浮点数的特点:1、 实数转换到浮点数浮点化,缺点:总会产生误差(除极个别的情况:)按 四舍五入,绝对误差:(举例),优点:浮点化产生的相对误差有界(与数字本身的数量级无关) 注:设实数,则按进制可表达为:按四舍五入的原则,当它进入浮点数系时,若,则 若,则 对第一种情况:对第二种情况:就是说总有: 另一方面,由浮点数要求的 , 有,将此两者相除,便得2、 每一个浮点数系的数字有限: 3、 浮点数系中的运算非自封闭,(因为数字有限等)例:在中,运算和,的结果显然已不在此浮点数
6、系内,而或也不在此浮点数系内,需结果才在此浮点数系内。浮点运算应注意:1) 避免产生大结果的运算,尤其是避免小数作为除数参加运算;2) 避免“大”“小”数相加减;3) 避免相近数相减,防止大量有效数字损失;4)尽可能简化运算步骤,减少运算次数。原因:记,由,可得: (“。”表示任意一种四则运算)此处 是由机器字长(实质上是尾数字长的大小)确定的常数(它反映了实际运算的精度)。显然,若要求运算的舍入误差小,应使运算结果(如:)较小。尤其是小分母运算:,小大误差。其次,当浮点数系中两个数量级相差较大的数相加(或减),注意到由于浮点数系中数字字长的有限性,可能导致“大数吃小数”。例如,中,则似乎没有
7、参加运算。 第三,同样,由于浮点数系中数字字长的有限性,当两个相近数相减时:例如,在中,两数相减:,计算结果仅剩2位有效数字,而原来参加运算的数字有8位有效数字,这将严重影响最终计算结果的精度。二、 算法分析作为一个可用的算法,必须考虑其效率和可靠性,定义:计算机完成一个乘法和一个加法,称为一个浮点运算(记为flop);注:由于计算机在运算时,加(减)法所耗时间远少于乘(除)法,所以通常只须计算乘法的次数,因此也有“一个算法需要多少个乘法”这一提法。1、计算效率可计算性(计算复杂性空间、时间)例:解线性方程组的Grammar 方法:,其中是方程组系数矩阵对应的行列式,而则是以右端向量替代的第列
8、所得矩阵对应的行列式。由线性代数知识可知,若,则,其中是由变换到所需的置换次数。可见每计算一个行列式,需要个浮点运算;因此,按Grammar方法解方程组约需 个浮点运算。当时,用一个运算速度为的计算机进行求解,约需年(日前报道我国计算机已达到秒,这仍需近10年)。而n=20的方程组应该说是一个小型的方程组。因此Grammar方法是一个不能接受的算法,它缺乏可计算性。第二章将介绍的Gauss消去法和迭代法就有较高的效率,具有很好的可计算性。2、计算可靠性作为算法,除了考虑其效率外,必须重视可靠性,它包括两方面:问题的性态 和 方法的稳定性l 问题的性态所计算的问题当原始数据发生小扰动时,问题的解
9、一般也发生扰动。问题的性态问题的解对原始数据发生变化的敏感性。原始数据小扰动问题解 例:线性方程组: 的解是:若将方程组的系数改写成具有2位有效数字的小数: 的解则变成:;这是一个典型的病态方程组。一般:由原始数据 计算结果, 扰动后的数据 计算结果,若对问题存在常数m,满足关系式: 或 则称(相对误差之比的上界)m为该问题的条件数,记作 ;由微积分中值定理知识容易计算出,当时, 。稍后我们在第二章将对线性方程组的性态作进一步的分析。l 算法的数值稳定性:例:计算;解:由微积分知识,可得计算公式, ,我们将准确值与计算结果列表如下:方法准确值.6321.3679.2642.2073.1709.
10、1455.1268.1124.1010.6321.3679.2642.2074.1704.1480.1120.2160-.7280.6320.3680.2643.2073.1709.1455.1268.1124.1010由上表可见,方法中,原始步的误差,随着计算步数的增加被严重地放大,特别是竟变成负数(注意:被积函数是非负函数),而方法则相反;这是因为方法中,若前步有误差:,则,说明的误差,经一步计算后被扩大了倍,随着的增大,误差将被大大地扩大;而通过同样的分析可知:方法中的误差则被缩小倍。算法的数值稳定性:算法对初始误差导致的最终误差的可控性,如果最终误差被有效地控制,则称算法是稳定的,否则
11、就是不稳定的。第二章 线性方程组求解线性方程组:其中2.1 消去法 2.1.1 消去法 设计方法原则:面向计算机(事先未知元素,编制程序),例: 基本思想:降维N维问题转化为N-1维问题逐次降维,依次进行消去过程对方程组(2.1)由上而下逐步消去对角元 以下的 ,使之转化为如下等价形式,达到目标: 从而,可进入回代过程,再由下而上,逐步解得 :这儿的主元对问题(2.1)设,目标:将第2n方程的的系数转化为0;方法:“第个方程”-“第1个方程”(,得到现在只须关心由第2n方程形成的n-1维方程组,以后可仿此进行。消去:第步:设,以第行为基准,消去以下各行中列以下的,令 施行:第行第行新的第行,元
12、素变化:(),经过步消去(注意:以下无元可消),得到式。注意:每计算1个仅需1个浮点运算回代:第一步 , 第二步 ,第步 运算量:消元:n元方程组:第1步消元:对第行,共n-1行;每1行:计算,1个乘除法(或“浮点运算”),计算新的共 个乘除法(或“浮点运算”),第1次元共个乘除法,因此,消元的运算量; 回代:第1步,求需要1个乘除法(或“浮点运算”),即:第2步求用2个乘除法(或“浮点运算”),一般,第步求用个浮点运算,因此,回代的运算量 ;消去法 的 总运算量: 。 例2-1:解线性方程组 解:利用增广矩阵(因为线性方程组的解仅与系数与右端常数项相关)例: ;解 ;解:;解 ;解;解;2.
13、1.3 (列)主元消去法算法中,若第步: 或 则按照原来的简单消去法算法可能无法执行,也可能出现大误差:例:在浮点数系中计算;方程组 准确解:解:按消去法解: 误差大,原因:若有误差 则,则演变为;这说明前步各元素的误差均被放大倍。克服方法,将按绝对值最大的元素交换到主元位置,使,使前步的误差不再被放大。 消元过程中,第步消元以第行为基准,消去其后的个方程的(系数矩阵第列以下的元素),消去法要求主元。为避免出现作为主元,并使前步的误差不被放大,应使,为此应使:,通常采用按列选主元的列主元消去法:若,便将第行与第行交换,使与交换位置,使新的第行执行在原始消去法中的角色,保证将作为除数的主元,从而
14、,重复前述的消去过程。列主元消去法的效果:1. 算法稳定,即计算误差能被有效控制;2. 当矩阵的行列式时,算法总可以执行完成;注:若矩阵是对称正定或严格对角占优,则不选主元,消去法也是稳定的;矩阵严格对角占优的定义:对角元的绝对值大于该行其他元的绝对值之和,即;问题:为什么系数矩阵严格对角占优,则不选主元的消去法也是稳定的?为保证消去法是稳定的,算法应如何进行?注意:第一步消元 ,由于占优:,它的效果与主元消去法的一样,误差不会被放大。但因此算法也应适当改变,应先对第一行计算此值,然后从第2列起逐列从上到下计算。且第一步消元后生成的右下方阶矩阵仍是严格对角占优,以第二列为例:又 即新的第二行的
15、对角元绝对占优,其他也可同样证明。例2-2:列主元消去法求解例2-1同样得到原方程组的解 ;2.2 矩阵分解2.2.1 Gauss消去法的矩阵意义矩阵的三角分解若将消去法解方程过程中产生的作为一个单位下三角矩阵其对角元为1,对角线上的元素均为0的对应元素;将消去法消元过程最后得到的上三角矩阵对角线以下元素均为0记作或(仅考虑方程的系数矩阵部分);如例2.1,再将与或相乘:或 显然相乘得到的正是原始所求解的方程的增广矩阵,而相乘得到的正是原始所求解的方程的系数矩阵。反过来,一个矩阵也可以通过求解的过程获得这样的“分解”,其中为单位下三角矩阵,为上三角矩阵。这样将一个矩阵分解成一个下三角矩阵和一个
16、上三角矩阵的乘积形式,称为矩阵的三角(Doolittle)分解。1) 消去法的矩阵意义: 以例2-1说明与以下矩阵乘法是一样的:可见,一般的第一步消元是:若记第步消元后形成的矩阵为,特别:则第步消元是将以下初等矩阵左乘矩阵形成因此,Gauss消去过程从矩阵运算的角度来看,是其中 为上三角矩阵,为向量: 2.2.2 矩阵分解注意到初等矩阵具有性质:及因此,我们有 根据矩阵乘积的性质,有 这就是基本的矩阵三角分解Doolittle分解将矩阵分解为单位下三角矩阵与上三角矩阵的乘积。从矩阵乘法与行列式的关系可知,若矩阵A三角分解得到A=LU,则有:det A = det L * det U ,由于下三
17、角矩阵或上三角矩阵的行列式是全部对角元的乘积,因此可利用三角分解求矩阵对应的行列式的值。例如:上述例2.1方程组系数矩阵对应的行列式的值是-1,下例2.3 对称正定矩阵对应的行列式的值为144。当系数矩阵为的方程组可以顺利求解(不必选主元)时,解的过程显然是唯一的,因此它的Doolittle分解必然也是唯一的,从而可以通过待定系数的方法获得该矩阵的Doolittle分解(通常称为“直接分解”或“紧凑格式”)。2.2.3 其他三角分解除了上述的单位下三角矩阵与上三角矩阵的乘积形式以外,还有其他类型的分解,例如下三角矩阵和单位上三角矩阵的乘积,单位下三角矩阵与对角矩阵、单位上三角矩阵的乘积。对于对
18、称矩阵,可以分解成矩阵分解的形式,特别是对称正定矩阵,可以分解成形式(称为Cholesky分解),其中为下三角矩阵由Doolittle分解的唯一性可知这些形式的分解也是唯一的。这些不同的分解都可以通过矩阵乘积的方法取得。下面例2.3以对称正定矩阵为例,说明通过矩阵乘积的方法取得矩阵分解的不同形式。当然,当矩阵的Doolittle分解存在唯一时,这些不同的分解分别时唯一的,因此可以通过待定系数的方法取得,也即通过直接分解的方法取得这些分解。例2-3: 由此可知:进一步可以考察矩阵左上方各阶顺序主子式与三角分解所得矩阵的左上方的各阶顺序主子式的关系:若记矩阵A的各阶顺序主子矩阵为,同样的记号也适用
19、于矩阵,则有,从而矩阵的各阶顺序主子式的值等于的相应的顺序主子式的值:,(因为)。以例2-3矩阵分解为例,容易得到:由此,也很容易看到,一个对称矩阵通过消去过程得到的分解(其中为单位下三角,为上三角矩阵),当的对角元全部为正数时,该对称矩阵必为对称正定矩阵。 由消去的过程可知各次主元是(矩阵的对角元),可知当矩阵的各阶顺序主子式均非零时,(原始的)消去法可以顺利完成,这是因为当各阶顺序主子式均非零时,均非零,即消去法可以顺利完成。进一步,当矩阵非奇时,列主元消去法必可顺利完成:因为当矩阵非奇时,的第一列必不全为零,故通过选主元,可进行第一步消元,即算法可执行,得到,且其下方全为零,因为所以的代
20、数余子式也非零,(),即矩阵非奇,因此下一步列主元消去可进行,由此,可完成全部消元过程。 2.2.5 带状矩阵的分解定理2.5 若分解), 则(下)带宽,(上)带宽.证明: 对二和三阶矩阵显然.(确定),对矩阵的阶作归纳证明:设对阶矩阵结论成立.令,可验证(介绍分块运算): 由归纳假设, 因此 最后的矩阵乘法:前者是初等矩阵左乘实际上是Gauss变换矩阵相乘,后者按分块运算容易得到。特殊情况,三对角矩阵:, 由前述的方法,很容易将它分解成两个特殊的下、上三角矩阵的乘积: ,其中因为未讲矩阵的直接分解,此处可由确定分解形式、待定系数方式取得: 从而,在解方程组,其中时,可以将该方程组转化为求解两
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 西安交通大学 计算方法 完整版