运算科学,又称科学运算,是一个与数学模型构建、定量分析方法以及利用电脑来分析和解决科学问题相关的研究领域。在实际应用中,运算科学主要应用于:对各个科学学科中的问题,进行电脑模拟和其他形式的运算。
这一领域不同于电脑科学(对于运算、电脑以及资讯处理的研究),同时也异于科学和工程学的传统形式——理论与实验。科学运算技术要想获得理解,主要需要通过在电脑上实现的数学模型进行分析。
科学家和工程师发展了电脑程序和应用软件,来为被研究的系统建立模型,并以多种输入参数运行这些程序。一般来说,这些模型需要大量的运算(通常为浮点运算),常在超级计算机或分布式运算平台上执行。
数值分析是运算科学中使用的技法的重要基础。
应用
运算科学的问题域包括:
数值模拟有各种不同的目的,取决于被模拟的任务的特性:
- 重建和理解已知事件(如地震、海啸和其他自然灾害)。
- 预测未来或未被观测到的情况(如天气、亚原子粒子的行为)。
- 适当调整模型或利用观察来解方程,不过也需要服从模型的约束条件(如石油勘探地球物理学、计算语言学)。
- 利用图论建立网络的模型,特别是那些相互联络的个人、组织和网站的模型。
- 最优化已知方案(如工艺和制造过程、前端工程学)。
方法和算法
运算科学中的算法和数学方法是多样的,常用的应用方法包括:
- 数值分析
- 作为收敛和渐近级数的泰勒级数的应用
- 利用自动微分运算微分
- 利用有限差运算微分
- 图论集
- 凭借泰勒级数和理查森外推法进行高阶微分逼近
- 均匀网格上的积分方法:矩形法、梯形法、中点法和辛普森积分法
- 龙格-库塔法解常微分方程
- 蒙特卡洛方法
- 分子动力学
- 数值线性代数
- 用高斯消元法运算LU因子
- 科列斯基分解
- 离散傅里叶变换及应用
- 牛顿法
- 动力系统的时步法
程式设计语言普遍应用于科学运算应用中偏向数学的方面,包括R语言、MATLAB、Mathematica[1]、Scilab、GNU Octave、COMSOL Multiphysics、SciPy的Python语言等。偏向于密集型运算的科学运算常会利用C语言或Fortran的一些变体以及BLAS或LAPACK等最优化代数库。
运算科学应用程式常常建立真实世界变化情况的模型,包括天气、飞机周围的气流、事故中的汽车车身变形、星系中恒星的运动、爆炸装置等。这类程序会在电脑内存中建立一个“逻辑网格”,网格中的每一项在空间上都对应一个区域,并包含与模型相关的那一空间的资讯。例如在天气模型中,每一项都可以是一平方千米,并包含了地面海拔、当前风向、温度、压力等。程序会在模拟时步中基于当前状态运算出可能的下一状态,解出描述系统运转方式的方程,然后重复上述过程运算出下一状态。
“计算科学家”一词常用于描述科学运算领域中的技能高超者。他们通常是科学家、统计学家或应用数学家,会以不同方式应用高性能电脑,以提高他们各自的应用学科(如物理学、化学或工程学的相关学科)中最先进的理论和技术水平。科学运算也对经济学、生物学及医学等领域有着越来越大的影响。
运算科学常被认为是科学的第三种方法,是实验/观察和理论这两种方法的补充和扩展。[2] 运算科学的本质是数值算法[3]以及计算数学[4]。在发展科学运算算法、程式设计语言的有效实现以及运算结果确认上,人们已经做出了实质性的努力。运算科学中的一系列问题和解决方法都可以在相关文献中找到。[5]
教育
在应用数学或电脑科学的教学大纲中,或是在标准的数学、科学或工程学的教学大纲中常会有运算科学的相关课程。在一些研究型学府中,科学运算可以作为另一个同层次或不同层次主修专业的辅修专业。不过近年来,欧美的运算科学专业学士和硕士学位获得者正在不断增加,一些学校还设有运算科学、运算工程学、运算科学与工程以及科学运算专业的博士点,而大中华地区的很多学校也开设了资讯与运算科学的本科专业。
相关领域
|
|
参见
参考文献
外部链接
Wikiwand in your browser!
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.