科学计算 Scientific Computing 潘建瑜 华东师范大学数学系
科学计算 科学计算 Scientific Computing 借助计算机高速计算的能力,解决现代科学、工程、经济或人文中的复杂问题,是计算机与数学的有机结合 科学计算是20世纪重要科学技术进步之一,伴随着电子计算机的出现而迅速发展并得到广泛应用。科学计算已与理论研究和实验研究相并列成为科学研究的第三种方法,成为促进重大科学发现和科技进步的重要手段。现今科学计算已是体现国家科学技术核心竞争力的重要标志,是国家科学技术创新发展的关键要素。国家重大战略需求中许多科学问题的解决高度依赖于科学计算中基础算法与可计算建模的发展水平。—— 国家自然科学基金委员会,2014年重大研究计划项目指南 传统的科学计算是针对科学和工程中的数学问题,设计/分析有效的求解算法,即为数值计算/数值分析/计算方法
科学计算 科学计算 Scientific Computing 当今科学研究的三种方法:实验、理论、科学计算 科学计算的核心:计算数学 科学计算的硬件:计算机 科学计算的发展趋势: 硬件(超级计算机,智能计算机,量子计算机,超导计算机,... ... ) 算法(面向超级计算机的全新科学计算方法) 计算不再只和计算机有关,它决定我们的生存。《数字化生存》 —— 尼葛洛庞帝(Negroponte),1995
科学计算 利用计算机解决实际问题的一般过程: 实际 问题 数学建模 设计数值算法 编写程序 计算机 求解
应用举例 定积分的近似计算 例:数值积分 上述积分为第二类椭圆积分,无法通过解析方法计算 铝制波纹瓦的长度问题 假设要求波纹瓦长 48 英寸,每个波纹的高度(从中心线)为 1 英寸,且波纹是以近似 2 英寸为一个周期的正弦函数 f (x) = sin x,求制做一块波纹瓦所需铝板的长度 L 。 定积分的近似计算 上述积分为第二类椭圆积分,无法通过解析方法计算
应用举例 最小二乘与曲线拟合 例:人口预测 表格中是我国1950年到2005年的人口数(见中国统计年鉴),试预测未来的人口数 年份 人口(万) 1950 55196 1955 61465 1960 66207 1965 72538 1970 82992 1975 92420 1980 98705 1985 105851 1990 11433 1995 121121 2000 126743 2005 130756 最小二乘与曲线拟合
应用举例 Gx = x, eTx =1 矩阵特征值计算 G -- Google Matrix, x -- PageRank vector 1998 年创立,市值近2500亿 (2012.10) Gx = x, eTx =1 G -- Google Matrix, “the world’s largest matrix computation” x -- PageRank vector “The $25,000,000,000 Eigenvector” —— SIAM Review,2006 矩阵特征值计算
科学计算 科学计算的任务 设计求解实际问题的高效可靠的数值方法(算法设计) 有效性:易于在计算机上实现 可靠性:收敛性稳定性等有数学理论保证 数值实验:要通过数值试验来证明算法是行之有效的 对求得的数值解的精度进行评估(算法分析) 研究算法的高效实现(算法优化) 对于同一问题,不同的算法在计算性能上可能相差百万倍或者更多!
科学计算 例:求解一个 n 阶线性方程组,如果使用克莱姆法则,需要计算 n+1 个 n 阶行列式,在不计加减运算情况下,至少需要 n!(n2-1) 次乘除运算。而使用高斯消去法,只需约2n3/3 次乘除运算 用每秒运算 30 亿次(主频3.0G)的计算机求解时,大约需要10000年的时间 当 n=20 时, 如果使用高斯消去法,不到一秒钟就能完成
数值方法 数值方法的特点 方法是近似的,所以求出的解是有误差的 与计算机紧密结合:上机实现 熟悉一门科学计算语言:C 语言或 Fortran 语言 掌握一种科学计算软件:Matlab,Maple 或 Mathematica Matlab 优点: 用 Matlab 处理矩阵 —— 容易 用 Matlab 绘图 —— 轻松 用 Matlab 编程 —— 简洁 用 Matlab 的工具箱 —— 高效
矩阵乘积举例 矩阵乘积 C = A B 逐点运算 向量内积 矩阵向量乘积 矩阵矩阵乘积 Matrix.m Matrix.cpp
课程信息 电子讲义和课堂板书 教材: 上课时间:周一 7、8 上机时间:课堂通知 答疑时间:周四下午 14:40 — 16:40 地点:数学楼 213 课程主页: http://math.ecnu.edu.cn/~jypan/Teaching/SciComp/
参考资料 参考资料 第三种科学方法:计算机时代的科学计算 石钟慈著,清华大学出版社,院士科普书系,2000 第三种科学方法:计算机时代的科学计算 石钟慈著,清华大学出版社,院士科普书系,2000 科学计算导论(第 2 版)(英文影印版) M.T. Heath 著,清华大学出版社:McGraw-Hill,2001 数值计算引论 白峰杉,高等教育出版社,2010 面向计算科学与工程的Matlab编程 C.F. Van Loan等,清华大学出版社, 2012
主要内容 数值积分及其应用 常微分方程初值问题及其应用 特征值计算及其应用 最小二乘及其应用 矩阵模运算及其在古典密码中的应用
预备知识 所需知识 考核方式 微积分 高等代数、线性代数 常微分方程 Matlab 编程 期末 60% 平时 40%(平时作业,上机表现,考勤)