科学与工程计算过程(续) ■设计高效可靠的算法 分类方法1:若算法包含 数值分析的任务之一就是 有一个进程则称其为串行算法, 提供求得数值问题近似解的方法一 否则为并行算法。 算法。 分类方法2:从算法执行所 概念:从程序设计的角度 花费的时间角度来讲,若算术运 来讲,所谓算法是由一个或多个 算占绝大多数时间则称其为数值 进程组成;每个进程明确无歧义 型算法,否则为非数值型算法 地描述由操作及操作对象合成的 按一定顺序执行的有限序列;所 本课程介绍数值型串行算 有进程能够同时执行并且协调地 法。(其它类型算法参阅数据结 在有限个操作步内完成一个给定 构、并行算法等课程) 问题的求解。这里操作可以是计 算机能够完成的算术运算(加减 乘除)、逻辑运算、字符运算等 2004-10-25 Zhang@nwpu.edu.cn 6
2004-10-25 zhwang@nwpu.edu.cn 6 科学与工程计算过程(续) 分类方法 1:若算法包含 有一个进程则称其为串行算法, 否则为并行算法。 分类方法 2:从算法执行所 花费的时间角度来讲,若算术运 算占绝大多数时间则称其为数值 型算法,否则为非数值型算法。 本课程介绍数值型串行算 法。(其它类型算法参阅数据结 构、并行算法等课程) 设计高效可靠的算法 数值分析的任务之一就是 提供求得数值问题近似解的方法 — 算法。 概念:从程序设计的角度 来讲,所谓算法是由一个或多个 进程组成;每个进程明确无歧义 地描述由操作及操作对象合成的 按一定顺序执行的有限序列;所 有进程能够同时执行并且协调地 在有限个操作步内完成一个给定 问题的求解。这里操作可以是计 算机能够完成的算术运算(加减 乘除)、逻辑运算、字符运算等
设计高效可靠的算法(续1) 优劣评价:可靠算法 可靠性:所谓算 的优劣,应该考虑其时 法的可靠性包括如下几 间复杂度(计算机运行 个方面:算法的收敛性、时间)、空间复杂度 稳定性、误差估计等。 占据计算机存储空间 这些是数值分析研究的的多少)以及逻辑复杂 第二个任务 度(影响程序开发的周 个算法在保证 期以及维护)。这是数 可靠的大前提下再评价值分析研究的第三个任 其优劣才是有价值的。 务 2004-10-25 Zhang@nwpu.edu.cn
2004-10-25 zhwang@nwpu.edu.cn 7 设计高效可靠的算法(续 1 ) 优劣评价:可靠算法 的优劣,应该考虑其 时 间复杂度(计算机运行 时间)、 空间复杂度 (占据计算机存储空间 的多少)以及逻辑复杂 度(影响程序开发的周 期以及维护)。这是数 值分析研究的第三个任 务 。 可靠性:所谓算 法的可靠性包括如下几 个方面:算法的收敛性、 稳定性、误差估计等。 这些是数值分析研究的 第二个任务 。 一个算法在保证 可靠的大前提下再评价 其优劣才是有价值的
设计高效可靠的算法(续2) 鉴于实际问题的复杂性,通常将其具体地 分解为一系列子问题进行研究,本课程主要涉 及如下几个方面问题的求解算法 >函数的插值和逼近 >数值积分和数值微分 线性方程组求解、非线性方程(组)求解 代数特征值问题 常微分方程数值解。 2004-10-25 Zhang@nwpu.edu.cn 8
2004-10-25 zhwang@nwpu.edu.cn 8 设计高效可靠的算法(续 2 ) 鉴于实际问题的复杂性,通常将其具体 地 分解为一系列子问题进行研究,本课程主要涉 及如下几个方面问题的求解算法: ¾ 函数的插值和逼近 ¾ 数值积分和数值微分 ¾ 线性方程组求解、非线性方程(组)求解 ¾ 代数特征值问题 ¾ 常微分方程数值解
算法应用状态 数值分析研究对象以及解决问题方法的 泛适用性,著名流行软件如 Maple、 Matlab、 Mathematica等已将其绝大多数内容设计成函 数,简单调用之后便可以得到运行结果。 但由于实际问题的具体特征、复杂性, 以及算法自身的适用范围决定了应用中必须选 择、设计适合于自己特定问题的算法,因而掌 握数值方法的思想和内容是至关重要的。 2004-10-25 Zhang@nwpu.edu.cn
2004-10-25 zhwang@nwpu.edu.cn 9 算法应用状态 数值分析研究对象以及解决问题方法的 广泛适用性,著名流行软件如Maple 、Matlab 、 Mathematica等已将其绝大多数内容设计成函 数,简单调用之后便可以得到运行结果。 但由于实际问题的具体特征、复杂性, 以及算法自身的适用范围决定了应用中必须选 择、设计适合于自己特定问题的算法,因而掌 握数值方法的思想和内容是至关重要的
本课程的学习方法 尽管本课程所讲算法是很有限的,但许多初学可能仍会觉得 公式多,理论分析复杂。在此,我们提出如下的几点学习方 法,仅供初学者参考。 1、认识建立算法和对每个算法进行理论分析是基本任务, 主动适应公式多和讲究理论分析的特点 2、注重各章节所硏究算法的提出,搞清楚问题的基本提法、 逐步深入的层次及提法的正确性, 3、理解每个算法建立的数学背景、数学原理和基本线索, 而且对一些最基本的算法要非常熟悉。 4、从各种算法的理论分析中学习推理证明方法,提高推理 证明能力。 5、认真进行数值计算的训练。 2004-10-25 Zhang@nwpu.edu.cn 10
2004-10-25 zhwang@nwpu.edu.cn 10 本课程的学习方法 尽管本课程所讲算法是很有限的,但许多初学可能仍会觉得 公式多,理论分析复杂。在此,我们提出如下的几点学习方 法,仅供初学者参考。 1、认识建立算法和对每个算法进行理论分析是基本任务, 主动适应公式多和讲究理论分析的特点。 2、注重各章节所研究算法的提出,搞清楚问题的基本提法、 逐步深入的层次及提法的正确性。 3、理解每个算法建立的数学背景、数学原理和基本线索, 而且对一些最基本的算法要非常熟悉。 4、从各种算法的理论分析中学习推理证明方法,提高推理 证明能力。 5、认真进行数值计算的训练