運算科學
運算科學,又稱科學運算,是一個與數學模型構建、定量分析方法以及利用計算機來分析和解決科學問題相關的研究領域。在實際應用中,運算科學主要應用於:對各個科學學科中的問題,進行計算機模擬和其他形式的運算。
這一領域不同於計算機科學(對於運算、計算機以及信息處理的研究),同時也異於科學和工程學的傳統形式——理論與實驗。科學運算技術要想獲得理解,主要需要通過在計算機上實現的數學模型進行分析。
科學家和工程師發展了計算機程序和應用軟件,來為被研究的系統建立模型,並以多種輸入參數運行這些程序。一般來說,這些模型需要大量的運算(通常為浮點運算),常在超級計算機或分布式運算平台上執行。
數值分析是運算科學中使用的技法的重要基礎。
應用
[編輯]運算科學的問題域包括:
數值模擬
[編輯]數值模擬有各種不同的目的,取決於被模擬的任務的特性:
- 重建和理解已知事件(如地震、海嘯和其他自然災害)。
- 預測未來或未被觀測到的情況(如天氣、亞原子粒子的行為)。
模型擬合與數據分析
[編輯]- 適當調整模型或利用觀察來解方程,不過也需要服從模型的約束條件(如石油勘探地球物理學、計算語言學)。
- 利用圖論建立網絡的模型,特別是那些相互聯繫的個人、組織和網站的模型。
運算優化
[編輯]- 最優化已知方案(如工藝和製造過程、前端工程學)。
方法和算法
[編輯]運算科學中的算法和數學方法是多樣的,常用的應用方法包括:
- 數值分析
- 作為收斂和漸近級數的泰勒級數的應用
- 利用自動微分運算微分
- 利用有限差運算微分
- 圖論集
- 憑藉泰勒級數和理查森外推法進行高階微分逼近
- 均勻網格上的積分方法:矩形法、梯形法、中點法和辛普森積分法
- 龍格-庫塔法解常微分方程
- 蒙特卡洛方法
- 分子動力學
- 數值線性代數
- 用高斯消元法運算LU因子
- 科列斯基分解
- 離散傅里葉變換及應用
- 牛頓法
- 動力系統的時步法
程序設計語言普遍應用於科學運算應用中偏向數學的方面,包括R語言、MATLAB、Mathematica[1]、Scilab、GNU Octave、COMSOL Multiphysics、SciPy的Python語言等。偏向於密集型運算的科學運算常會利用C語言或Fortran的一些變體以及BLAS或LAPACK等最優化代數庫。
運算科學應用程序常常建立真實世界變化情況的模型,包括天氣、飛機周圍的氣流、事故中的汽車車身變形、星系中恆星的運動、爆炸裝置等。這類程序會在計算機內存中建立一個「邏輯網格」,網格中的每一項在空間上都對應一個區域,並包含與模型相關的那一空間的信息。例如在天氣模型中,每一項都可以是一平方千米,並包含了地面海拔、當前風向、溫度、壓力等。程序會在模擬時步中基於當前狀態運算出可能的下一狀態,解出描述系統運轉方式的方程,然後重複上述過程運算出下一狀態。
「計算科學家」一詞常用於描述科學運算領域中的技能高超者。他們通常是科學家、統計學家或應用數學家,會以不同方式應用高性能計算機,以提高他們各自的應用學科(如物理學、化學或工程學的相關學科)中最先進的理論和技術水平。科學運算也對經濟學、生物學及醫學等領域有着越來越大的影響。
運算科學常被認為是科學的第三種方法,是實驗/觀察和理論這兩種方法的補充和擴展。[2] 運算科學的本質是數值算法[3]以及計算數學[4]。在發展科學運算算法、程序設計語言的有效實現以及運算結果確認上,人們已經做出了實質性的努力。運算科學中的一系列問題和解決方法都可以在相關文獻中找到。[5]
教育
[編輯]在應用數學或計算機科學的教學大綱中,或是在標準的數學、科學或工程學的教學大綱中常會有運算科學的相關課程。在一些研究型學府中,科學運算可以作為另一個同層次或不同層次主修專業的輔修專業。不過近年來,歐美的運算科學專業學士和碩士學位獲得者正在不斷增加,一些學校還設有運算科學、運算工程學、運算科學與工程以及科學運算專業的博士點,而大中華地區的很多學校也開設了信息與運算科學的本科專業。
相關領域
[編輯]參見
[編輯]- 統計運算 (statistical computing)
- 計算機代數系統比較
- 統計軟件列表
- 分子力學建模軟件列表
- (英文)運算科學策略報告
參考文獻
[編輯]- ^ Mathematica 6 (頁面存檔備份,存於網際網路檔案館) Scientific Computing World, May 2007
- ^ 工业与应用数学协会(SIAM). [2010-08-01]. (原始內容存檔於2018-01-01).
- ^ Nonweiler T. R., 1986. Computational Mathematics: An Introduction to Numerical Approximation, John Wiley and Sons
- ^ Yang X. S., 2008. Introduction to Computational Mathematics, World Scientific Publishing
- ^ 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
外部連結
[編輯]- 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