计算科学(转自wiki)
计算科学(也称科学计算 scientific computation 或 SC)是一个快速增长的多学科领域,使用先进的计算能力来理解和解决复杂的问题。
计算科学包括三个不同的方面:
1. 开发用于解决科学(例如生物,物理和社会)、工程、人文问题的算法(数值和非数值),或建模软件,或仿真软件;
2. 计算机和信息科学,开发和优化高级系统硬件,软件,网络和数据管理组件,解决计算要求严苛的问题;
3. 计算基础设施,支持科学和工程问题解决、发展计算机和信息科学;
在实际使用中,通常是从数值分析和理论计算机科学中应用计算机模拟和其他形式的计算来解决各种科学学科中的问题。
该领域不同于理论和实验室实验,它们是传统的科学和工程形式。科学计算方法是获得理解,主要是通过分析在计算机上实现的数学模型。
科学家和工程师开发计算机程序,应用软件,正在研究的模型系统以及使用各种输入参数集合运行这些程序。在某些情况下,这些模型需要大量的计算(通常是浮点计算),并且通常在超级计算机或分布式计算平台上执行。
数值分析是计算科学中使用的技术的重要基础。
计算科学的应用
计算科学/科学计算的问题域包括:
1. 数值模拟
数值模拟有各种不同的目的,取决于被模拟的任务的特性:
- 重建和理解已知事件(如地震、海啸和其他自然灾害)。
- 预测未来或未被观测到的情况(如天气、亚原子粒子的行为和原始爆炸)。
2. 模型拟合与数据分析
- 适当调整模型或利用观察来解方程,不过也需要服从模型的约束条件(如石油勘探地球物理学、计算语言学)。
- 利用图论创建网络的模型,例如连接个人,组织,网站和生物系统的网络。
3. 计算优化
- 最优化已知方案(如技术和制造过程、前端工程)。
- 机器学习
方法和算法
计算科学中的算法和数学方法是多样的,常用的应用方法包括:
- 数值分析
- 作为收敛和渐近级数的泰勒级数的应用
- 利用自动微分计算微分
- 利用有限差计算微分
- 图论集
- 凭借泰勒级数和理查森外推法进行高阶微分逼近
- 均匀网格上的积分方法:矩形法、梯形法、中点法和辛普森积分法
- 龙格-库塔法解常微分方程
- 蒙特卡洛方法
- 分子动力学
- 线性规划
- 分支和切
- 分支和绑定
- 数值线性代数
- 用高斯消元法计算LU因子
- 乔里斯基分解
- 离散傅里叶变换及应用
- 牛顿法
- 空间映射
- 动力系统的时步法
程序设计语言普遍应用于科学计算应用中偏向数学的方面,包括R语言、MATLAB、Mathematica[1]、Scilab、GNU Octave、COMSOL Multiphysics、SciPy的Python语言等。偏向于密集型计算的科学计算常会利用C语言或Fortran的一些变体以及BLAS或LAPACK等最优化代数库。
计算科学应用程序常常创建真实世界变化情况的模型,包括天气、飞机周围的气流、事故中的汽车车身变形、星系中恒星的运动、爆炸装置等。这类程序会在计算机内存中创建一个“逻辑网格”,网格中的每一项在空间上都对应一个区域,并包含与模型相关的那一空间的信息。例如在天气模型中,每一项都可以是一平方千米,并包含了地面海拔、当前风向、温度、压力等。程序会在模拟时步中基于当前状态计算出可能的下一状态,解出描述系统运转方式的方程,然后重复上述过程计算出下一状态。
“计算科学家”一词常用于描述科学计算领域中的技能高超者。他们通常是科学家、工程师或应用数学家,会以不同方式应用高性能计算机,以提高他们各自的应用学科(如物理学、化学或工程学的相关学科)中最先进的理论和技术水平。科学计算也对经济学、生物学及医学等领域有着越来越大的影响。
计算科学常被认为是科学的第三种方法,是实验/观察和理论这两种方法的补充和扩展。[2] 计算科学的本质是数值算法[3]以及计算数学[4]。在发展科学计算算法、程序设计语言的有效实现以及计算结果的验证上,人们已经做出了实质性的努力。计算科学中的一系列问题和解决方法都可以在相关文献中找到。[5]
重现性和开发性研究计算
计算方法的复杂性是研究的可重复性的威胁。[8] [9] Jon Claerbout已经变得突出,指出可再现的研究需要归档和记录所有原始数据和用于获得结果的所有代码。[10] [11] [12] Nick Barnes在“科学规范宣言”中提出了软件用于开放科学出版时应遵循的五个原则。[13] Tomi Kauppinen et al。 建立和定义联系开放科学,一种将科学资产互连以实现透明,可重复和跨学科研究的方法。[14]
期刊
大多数科学杂志不接受软件论文,因为对一个合理成熟的软件的描述通常不符合新颖性的标准。[需要引证]在计算机科学本身以外,只有少数专门用于科学软件的期刊。 像Elsevier的计算机物理通讯这样的已建立的期刊发布不是开放式的论文(虽然所描述的软件通常是)。 为了填补这一空白,2010年发布了一本名为“开放式研究计算”的新期刊; [15]该期刊于2012年结束,但没有发表单篇论文,由于质量要求过高, 2012年启动了一项新的开放研究软件杂志[17] 在2015年,一个专门用于复制计算结果的新期刊[18]已经在GitHub上开始。
教育
在应用数学或计算机科学的教学大纲中,或是在标准的数学、科学或工程学的教学大纲中常会有计算科学的相关课程。在一些研究型学府中,科学计算可以作为另一个同层次或不同层次主修专业的辅修专业。不过近年来,欧美的计算科学专业学士和硕士学位获得者正在不断增加,一些学校还设有计算科学、计算工程学、计算科学与工程以及科学计算专业的博士点,而大中华地区的很多学校也开设了信息与计算科学的本科专业。
相关领域
参见
参考文献
- Computational Science: Ensuring America’s Competitiveness. Computational Science: Ensuring America’s Competitiveness. President’s Information Technology Advisory Committee. June 2005.
- ^ to:a b c Phillips, Lee (2014-05-07). "Scientific computing's future: Can any coding language top a 1950s behemoth?". Ars Technica. Retrieved 2016-03-08.
- ^ to:a b Landau, Rubin (2014-05-07). "A First Course in Scientific Computing" (PDF).Princeton University. Retrieved 2016-03-08.
- ^ Mathematica 6 Scientific Computing World, May 2007
- ^ Graduate Education for Computational Science and Engineering.Siam.org, Society for Industrial and Applied Mathematics (SIAM) website; accessed Feb 2013.
- ^ Nonweiler T. R., 1986. Computational Mathematics: An Introduction to Numerical Approximation, John Wiley and Sons
- ^ Steeb W.-H., Hardy Y., Hardy A. and Stoop R., 2004. Problems and Solutions in Scientific Computing with C++ and Java Simulations, World Scientific Publishing. ISBN 981-256-112-9
- ^ Marwick, Ben. "How computers broke science – and what we can do to fix it". The Conversation. The Conversation. Retrieved 14 November 2016.
- ^ Marwick, Ben (2016). "Computational reproducibility in archaeological research: Basic principles and a case study of their implementation". Journal of Archaeological Method and Theory. doi:10.1007/s10816-015-9272-9.
- ^ Sergey Fomel and Jon Claerbout, "Guest Editors' Introduction: Reproducible Research," Computing in Science and Engineering, vol. 11, no. 1, pp. 5–7, Jan./Feb. 2009, doi:10.1109/MCSE.2009.14
- ^ J. B. Buckheit and D. L. Donoho, "WaveLab and Reproducible Research," Dept. of Statistics, Stanford University, Tech. Rep. 474, 1995.
- ^ The Yale Law School Round Table on Data and Core Sharing: "Reproducible Research", Computing in Science and Engineering, vol. 12, no. 5, pp. 8–12, Sept/Oct 2010,doi:10.1109/MCSE.2010.113
- ^ Science Code Manifesto homepage. Accessed Feb 2013.
- ^ Kauppinen, T.; Espindola, G. M. D. (2011). "Linked Open Science-Communicating, Sharing and Evaluating Data, Methods and Results for Executable Papers". Procedia Computer Science. 4: 726. doi:10.1016/j.procs.2011.04.076.
- ^ CameronNeylon.net, 13 December 2010. Open Research Computation: An ordinary journal with extraordinary aims. Retrieved 04 Nov 2012.
- ^ Gaël Varoquaux's Front Page, 04 Jun 2012. A journal promoting high-quality research code: dream and reality. Retrieved 04 Nov 2012.
- ^ The Journal of Open Research Software ; announced at software.ac.uk/blog/2012-03-23-announcing-journal-open-research-software-software-metajournal
- ^ The ReScience Journal announced during EuroScipy 2015
- ^ "Department of Scientific Computing - Education". Florida State University.
其他来源
- E. Gallopoulos and A. Sameh, "CSE: Content and Product". IEEE Computational Science and Engineering Magazine, 4(2):39-43 (1997)
- G. Hager and G. Wellein, Introduction to High Performance Computing for Scientists and Engineers, Chapman and Hall (2010)
- A.K. Hartmann, Practical Guide to Computer Simulations, World Scientific (2009)
- Journal Computational Methods in Science and Technology (open access), Polish Academy of Sciences
- Journal Computational Science and Discovery, Institute of Physics
- R.H. Landau, C.C. Bordeianu, and M. Jose Paez, A Survey of Computational Physics: Introductory Computational Science, Princeton University Press (2008)
外部链接
- Links to Downloadable Computational Tools
- Journal of Advanced Research in Scientific Computing
- SIAM Journal on Scientific Computing
- Computing in Science & Engineering magazine
- Scientific Computing magazine
- Educational Materials for Undergraduate Computational Studies
- Brockport State College Computational Science B.S. program, with reports
- The Institute for Computational Science & Engineering |ICSE| at the University of Michigan
|
冯康(1920年9月9日-1993年8月17日),数学家、应用数学和计算数学家。世界数学史上具有重要地位的科学家。独立创造了有限元方法、自然归化和自然边界元方法,开辟了辛几何和辛格式研究新领域。中国现代计算数学研究的开拓者。
生平
原籍浙江绍兴。生于江苏南京,6岁迁居江苏省苏州,1926年至1939年先后在江苏省立苏州中学所属实验小学、初中部和高中部就读。1939年考入重庆中央大学电机工程系,两年后转物理系,主修电机、物理、数学三系主课,1944年毕业。[1]1945年任教于复旦大学。1946年任教于清华大学物理系和数学系。1951年起在中国科学院数学研究所工作,其间1951至1953年在苏联斯捷克洛夫数学研究所进修。这一时期中先后受教于当代知名数学家陈省身、华罗庚和列夫·庞特里亚金。1957年至1978年在中国科学院计算技术研究所三室任副研究员、研究员;1978年至1987年任中国科学院计算中心主任,1987年后任该中心名誉主任。1993年8月17日因后脑大面积蛛网膜出血逝世。
1980年当选为中国科学院学部委员。增任全国人大代表、中国计算数学学会理事长、《计算数学》主编、《数值计算与计算机应用》主编、
冯康科学计算奖设立于1994年,该奖励每两年颁发一次,每次遴选两至三名获奖人,用于奖励在科学计算领域作出杰出成就的国内外中青年(45岁以下)华人计算数学学者。
科研贡献
1957年调入中科院计算所三室工作后,冯康带领他的科研小组承担了使用计算机计算水坝弹性力学问题的国家任务。为了克服传统的差分方法难以处理几何与材料的复杂性以及缺乏理论保证的困难, 冯康、黄鸿慈等人开展了椭圆型方程计算方法的系统研究。在大量计算实践的基础上, 冯康进行了系统的理论分析及总结提高, 通过把变分原理与剖分逼近有机结合, 把传统上对立而各具优点的差分法与能量法辨证统一, 扬长抑短, 推陈出新, 一举克服了上述两方面的困难, 于1964年独立于西方创立了数值求解偏微分方程的有限元方法, 形成了标准的算法形态,编制了通用的计算程序, 并及时地解决了当时中国最大的刘家峡水坝的应力分析问题。1965年冯康在《应用数学与计算数学》上发表了“基于变分原理的差分格式”一文, 在极其广泛的条件下证明了方法的收敛性和稳定性, 给出了误差估计, 从而建立了有限元方法严格的数学理论基础, 为其实际应用提供了可靠的理论保证。这篇论文的发表是独立创始有限元方法的标志。
参见
参考
- 冯康教授生平
- “冯康的科学生涯--我的回忆” (冯端)*
- “冯康的创新要诀”
计算科学(转自wiki)的更多相关文章
- php弱语言特性-计算科学计数法
php处理字符串时存在一个缺陷问题,如果字符串为“1e1”,本该是一个正常的字符串,但是php会将它认为是科学计数法里面的e: 也就是按照数学的科学计数法来说:1e1=10^1=10,因此php会把这 ...
- SciPy - 科学计算库(上)
SciPy - 科学计算库(上) 一.实验说明 SciPy 库建立在 Numpy 库之上,提供了大量科学算法,主要包括这些主题: 特殊函数 (scipy.special) 积分 (scipy.inte ...
- GPU计算的后CUDA时代-OpenACC(转)
在西雅图超级计算大会(SC11)上发布了新的基于指令的加速器并行编程标准,既OpenACC.这个开发标准的目的是让更多的编程人员可以用到GPU计算,同时计算结果可以跨加速器使用,甚至能用在多核CPU上 ...
- 程序设计中的计算复用(Computational Reuse)
从斐波那契数列说起 我想几乎每一个程序员对斐波那契(Fibonacci)数列都不会陌生,在很多教科书或文章中涉及到递归或计算复杂性的地方都会将计算斐波那契数列的程序作为经典示例.如果现在让你以最快的速 ...
- 科学效法自然:微软研究人员测试AI控制的滑翔机
编者按:正如一颗苹果砸出了万有引力,自然界所有存在的事物和现象都有其科学合理的一面,小小的鸟儿也能够给科学带来丰富的灵感和启示. 最近,微软研究人员从自然出发,研究鸟类能够自由停留在空中的科学原理,并 ...
- 第十六届“二十一世纪的计算”学术研讨会 牛津大学肿瘤成像学教授Michael Brady主题演讲
Computing and Healthcare 牛津大学肿瘤成像学教授Michael Brady主题演讲" title="第十六届"二十一世纪的计算"学术研讨 ...
- Coursera课程笔记----计算导论与C语言基础----Week 6
理性认识C程序 导论(Week 6) 明确学习进度 讲课内容 感性➡️理性➡️函数➡️指针等 作业练习 初级阶段 ➡️正常作业练习 C语言的由来 程序设计语言的分类 低级语言之机器语言 0010101 ...
- 计算思维(美国CMU周以真教授)
博主注:GIScience会议是国际上最为著名的地理信息系统领域的国际会议,自2000年起,每两年举办一次,GIScience 2008会议邀请了美国卡内基-梅隆大学(CMU)计算机系华裔教授周以真博 ...
- 给深度学习入门者的Python快速教程 - 基础篇
实在搞不定博客园的排版,排版更佳的版本在: https://zhuanlan.zhihu.com/p/24162430 Life is short, you need Python 人生苦短,我用Py ...
随机推荐
- Evaluate Reverse Polish Notation(逆波兰式)
Evaluate the value of an arithmetic expression in Reverse Polish Notation. Valid operators are +, -, ...
- golang time.Duration()的问题解疑
原文: How to multiply duration by integer? 看到golang项目中的一段代码, ---------------------------------------- ...
- Centos 备份 还原
備份: tar cvpzf backup.tgz / --exclude=/backup.tgz --exclude=/mnt 記得一定要排除備份文件本身哦! 還原: tar xvpfz backup ...
- JMS消息中间件原理及ActiveMQ用法
导读: JMS:Java消息服务(Java Message Service)应用程序接口.是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息.进行 ...
- android自己定义控件系列教程----视图
理解android视图 对于android设备我们所示区域事实上和它在底层的绘制有着非常大的关系,非常多时候我们都仅仅关心我们所示,那么在底层一点它究竟是怎么样的一个东西呢?让我们先来看看这个图. w ...
- Cocos2d-x 脚本语言Lua基本数据结构-表(table)
Cocos2d-x 脚本语言Lua基本数据结构-表(table) table是Lua中唯一的数据结构.其它语言所提供的数据结构,如:arrays.records.lists.queues.sets等. ...
- delphi2010发送邮件—中文显示为乱码解决
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaGVsbG9fbXlob21l/font/5a6L5L2T/fontsize/400/fill/I0JBQk ...
- NHibernate之旅(8):巧用组件之依赖对象
本节内容 引入 方案1:直接加入 方案2:巧用组件 实例分析 结语 引入 通过前面7篇的学习,有点乏味了~~~这篇来学习一个技巧.大家一起想想假设我要在Customer类中实现一个Fullname属性 ...
- 在Unity中接入Xbox360手柄
提要 本文主要介绍了怎样在Unity中接入Xbox360的手柄. 当我们调Input.GetAxis("Horizontal"),我们调了什么 Unity中全部关于输入的设置都在E ...
- linux发行版的用户交互
1 cli,即command line interface 纯命令行的交互方式,该命令行界面是由shell提供的. linux内核本身也自带了一个console,即linux console,它是基于 ...