計算科学(科学計算、技術計算、または科学計算(SC )とも呼ばれる)は、科学の一分野であり、より具体的にはコンピュータ科学の一分野です。高度な計算能力を用いて、科学における複雑な物理的問題を理解し、解決します。これは通常、計算の専門分野にまで及びますが、この研究分野には以下が含まれます。
実用上、これは通常、数値解析や理論計算機科学からのコンピュータシミュレーションやその他の計算形式をさまざまな科学分野の問題を解決するために応用したものです。この分野は、科学や工学の伝統的な形態である理論や実験室実験とは異なります。科学計算のアプローチは、コンピュータ上で実装された数学モデルの分析を通じて理解を得ることです。科学者やエンジニアは、研究対象のシステムをモデル化するコンピュータプログラムやアプリケーションソフトウェアを開発し、さまざまな入力パラメータのセットでこれらのプログラムを実行します。計算科学の本質は、数値アルゴリズム[ 1 ]と計算数学の応用です。場合によっては、これらのモデルは膨大な量の計算(通常は浮動小数点)を必要とし、多くの場合、スーパーコンピュータまたは分散コンピューティングプラットフォームで実行されます。

計算科学者という用語は、科学計算に精通した人物を指すのに用いられる。こうした人物は通常、科学者、エンジニア、または応用数学者であり、高性能コンピューティングを様々な方法で応用し、それぞれの応用分野における最先端技術の発展に貢献する。
計算科学は現在、実験・観察と理論を補完し、それらに新たな知見を加える第三の科学 形態として広く認識されている(図参照)。[ 2 ]ここで、システムはデータの潜在的な発生源として定義され、[ 3 ]実験は入力を通してシステムに作用させることでデータを抽出するプロセスとして定義され、[ 4 ]システム(S )と実験(E )のモデル(M )は、 Sに関する疑問に答えるためにEを適用できるあらゆるものとして定義される。[ 5 ]計算科学者は以下の能力を備えているべきである。
計算科学では、アルゴリズムの開発、プログラミング言語での効率的な実装、計算結果の検証に多大な努力が注がれてきました。計算科学における問題と解決策のコレクションは、Steeb、Hardy、Hardy、およびStoop(2004)に掲載されています。[ 6 ]
科学哲学者、中でもハンフリーズ[ 7 ]やゲルフェルト[ 8 ]は、「計算科学はどの程度科学として認められるのか?」という問いに取り組んだ。彼らは認識論の一般的な問い、すなわち、そのような計算科学のアプローチからどのように洞察を得るのか、という問いに取り組んだ。トールク[ 9 ]は、これらの洞察を用いて、コンピュータベースのシミュレーション研究の認識論的制約を示した。計算科学は、基礎となる理論を実行可能な形で表現する数学モデルを使用するため、本質的には、モデリング(理論構築)とシミュレーション(実装と実行)を適用する。シミュレーションと計算科学は、知識と理解を表現する最も洗練された方法であるが、計算ソリューションについて既に知られているすべての制約と限界も伴う。
計算科学/科学計算における問題領域には、以下のようなものがある。
予測計算科学は、初期条件と境界条件、特性パラメータのセットと関連する不確実性が与えられた場合に、物理現象の特定の側面を予測するように設計された数学モデルの定式化、較正、数値解法、および検証に関わる科学分野です。[ 10 ]典型的なケースでは、予測ステートメントは確率の観点から定式化されます。たとえば、機械部品と周期的な負荷条件が与えられた場合、「故障時のサイクル数(Nf)がN1<Nf<N2の範囲内になる確率は(例えば)90%である」となります。[ 11 ]
都市は、人間によって作られ、人間で構成され、人間によって統治される、非常に複雑なシステムです。 [ 12 ]将来の都市の発展を予測、理解し、何らかの形で形作るには、課題や起こりうる災害を軽減するために、複雑な思考と計算モデルおよびシミュレーションが必要です。都市の複雑系に関する研究の焦点は、モデリングとシミュレーションを通じて、都市のダイナミクスに対する理解を深め、来るべき都市化に備えることです。[ 13 ] [ 14 ]
金融市場では、相互依存する膨大な量の資産が、異なる場所や時間帯にいる多数の市場参加者によって取引されています。これらの資産の挙動は前例のないほど複雑であり、この非常に多様な金融商品群に内在するリスクの特性評価と測定は、通常、複雑な数学的・計算モデルに基づいています。これらのモデルを、たとえ単一の金融商品レベルであっても、厳密に閉形式で解くことは通常不可能であるため、効率的な数値アルゴリズムを模索する必要があります。信用危機によって、単一の金融商品から単一機関のポートフォリオ、さらには相互接続された取引ネットワークに至るまで連鎖的な影響が及ぼされることが明確になったため、この問題は近年、さらに緊急かつ複雑になっています。これを理解するには、市場リスク、信用リスク、流動性リスクといった相互依存するリスク要因を、相互接続された異なるスケールで同時にモデル化する、マルチスケールかつ包括的なアプローチが必要です。
バイオテクノロジーにおける刺激的な新たな発展は、生物学および生物医学研究に革命をもたらしている。これらの技術の例としては、ハイスループットシーケンシング、ハイスループット定量PCR、細胞内イメージング、遺伝子発現のin situハイブリダイゼーション、ライトシート蛍光顕微鏡などの3次元イメージング技術、および光投影(マイクロ)コンピュータ断層撮影などが挙げられる。これらの技術によって生成される膨大な量の複雑なデータを考えると、その有意義な解釈、さらには保存さえも大きな課題となっており、新たなアプローチが求められている。現在のバイオインフォマティクスのアプローチを超えて、計算生物学は、これらの大規模なデータセットから有意義なパターンを発見するための新しい方法を開発する必要がある。遺伝子ネットワークのモデルベースの再構築は、遺伝子発現データを体系的に整理し、将来のデータ収集を導くために使用できる。ここでの大きな課題は、遺伝子制御が生物鉱化作用や胚発生などの基本的な生物学的プロセスをどのように制御しているかを理解することである。遺伝子制御、鉱物沈着プロセスと相互作用する有機分子、細胞プロセス、生理機能、組織レベルおよび環境レベルでのその他のプロセスといったサブプロセスは相互に関連している。生体鉱化作用と胚発生は、中央制御機構によって制御されるのではなく、ナノメートルやナノ秒からメートルや年まで、非常に異なる時間的・空間的スケールの複数のサブプロセスがマルチスケールシステムに接続された複雑なシステムから生じる創発的挙動と見なすことができる。このようなシステムを理解するための数少ない選択肢の一つは、システムのマルチスケールモデルを開発することである。
情報理論、非平衡力学、明示的なシミュレーションを用いて、計算システム理論は複雑適応システムの真の性質を明らかにしようと試みる。
計算科学および工学 (CSE) は、工学解析および設計 (計算工学) や自然現象 (計算科学) で発生する複雑な物理的問題を解決するために、高性能コンピューティングと組み合わせて、計算モデルとシミュレーションの開発と応用を扱う比較的新しい分野です。CSE は、科学者、エンジニア、および学者の間で (理論と実験に次ぐ)「第三の発見方法」として受け入れられています。[ 15 ]多くの分野で、コンピュータ シミュレーションは不可欠であり、したがってビジネスと研究に不可欠です。コンピュータ シミュレーションは、従来の実験ではアクセスできない、または従来の経験的調査を実行するには費用がかかりすぎる分野に参入する能力を提供します。CSE は、純粋なコンピュータ サイエンスやコンピュータ エンジニアリングと混同されるべきではありませんが、前者の広い領域 (特定のアルゴリズム、データ構造、並列プログラミング、高性能コンピューティングなど) が CSE で使用され、後者のいくつかの問題は、CSE の方法 (応用分野として) を使用してモデル化および解決できます。
計算科学で使用されるアルゴリズムと数学的手法は多岐にわたる。一般的に用いられる手法には以下のようなものがある。
歴史的にも現在でも、Fortran は科学計算のほとんどのアプリケーションで人気があります。[ 35 ] [ 36 ]科学計算アプリケーションのより数学的な側面で一般的に使用される他のプログラミング言語とコンピュータ代数システムには、GNU Octave、Haskell、[ 35 ] Julia、[ 35 ] Maple、[ 36 ] Mathematica、[ 37 ] [ 38 ] [ 39 ] [ 40 ] [ 41 ] MATLAB、[ 42 ] [ 43 ] [ 44 ] Python (サードパーティのSciPyライブラリを使用[ 45 ] [ 46 ] [ 47 ] )、Perl (サードパーティのPDLライブラリを使用)、R、[ 48 ] Scilab、[ 49 ] [ 50 ]およびTK Solver があります。科学計算の中でも計算負荷の高い部分では、C言語やFortranの派生言語、およびBLASやLAPACKなどの最適化された代数ライブラリがよく用いられます。さらに、科学計算では、大規模な問題を妥当な時間内に解くために並列計算が多用されています。このフレームワークでは、問題は単一のCPUノード上の多数のコアに分割されるか( OpenMPなど)、ネットワークで接続された多数のCPUノードに分割されるか( MPIなど)、あるいは1つ以上のGPU上で実行されます(通常はCUDAまたはOpenCLを使用)。
計算科学アプリケーションプログラムは、天候、航空機周辺の気流、自動車の衝突時の車体変形、銀河内の星の動き、爆発装置など、現実世界の変化する状況をモデル化することがよくあります。このようなプログラムは、コンピュータメモリ内に「論理メッシュ」を作成し、各項目が空間内の領域に対応し、モデルに関連するその空間に関する情報を含みます。たとえば、気象モデルでは、各項目は1平方キロメートルで、土地の標高、現在の風向、湿度、温度、気圧などが含まれます。プログラムは、シミュレーションされた時間ステップで、現在の状態に基づいて、システムの動作を記述する微分方程式を解き、次に起こりうる状態を計算し、そのプロセスを繰り返して次の状態を計算します。
2001年に国際計算科学会議(ICCS)が初めて開催されました。それ以来、毎年開催されています。ICCSはCOREランキングでAランクの会議です。[ 53 ]
Journal of Computational Scienceは 2010 年 5 月に最初の号を発行しました。[ 54 ] [ 55 ] [ 56 ] Journal of Open Research Software は2012 年に創刊されました。[ 57 ]計算結果の再現を目的とした ReScience C イニシアチブは 2015 年に GitHub 上で開始さ れました。[ 58 ]
一部の教育機関では、科学計算の専門分野を他のプログラム(レベルは様々)の「副専攻」として取得できます。しかし、計算科学の学士、修士、博士課程はますます増えています。アムステルダム大学とアムステルダム自由大学の共同学位プログラムである計算科学修士課程は、2004年に初めて開設されました。このプログラムでは、学生は以下のことを学びます。
チューリッヒ工科大学(ETH Zurich)は、計算科学・工学の学士号および修士号を提供しています。この学位取得により、学生は科学的な問題を理解し、数値的手法を用いて問題を解決する能力を身につけることができます。専門分野としては、物理学、化学、生物学、その他科学・工学分野が挙げられます。
ミシガン大学の科学計算の博士課程は1988年に設立されました。[ 59 ]ジョージ・メイソン大学は、 1992年から計算科学と情報学の学際的な博士課程を提供しています。[ 60 ]
ジャワハルラール・ネルー大学の計算統合科学部(旧情報技術学部[ 61 ])は、計算生物学と複雑系という2つの専門分野を持つ、活気のある計算科学の修士課程も提供しています。[ 62 ]