計算科学にはプログラミングが含まれますか?


16

ウィキペディアで計算科学について読みましたが、私の理解はあまり明確ではありません。

計算科学にはプログラミングが含まれますか?計算科学は、ブランクが任意の学問分野(材料科学、工学、化学、生物学など)になる可能性のある計算_ ____とどの程度違いますか?(私は計算材料科学をやっています。)


5
scicomp.stackexchange.com/questions/1148/…をご覧になることをお勧めします。計算科学に関することは、それが何らかの形でほとんどの物理科学に適用可能であるということです(問題を処理する最も効率的な方法ではないかもしれませんが、それは完全に別の質問です)。
ゴドリックシーア

多くのことを数学的に証明することは困難です。何かをプログラムして試してみるのはいいことです。確かに、計算科学は簡単ではありませんが、多くの作業を行うと、それを実行できるはずです。
vanCompute

1
scicomp、シェリルへようこそ。ここでいくつかの質問をしたと思います。あなたが書いたものを編集して、それがただ一つの質問になるようにしてください。必要に応じて、他の質問を個別に1つずつ送信できます。
デビッドケッチャソン

ウルフガングが非常によく答えたので、この質問をしばらく続けましたが、この時点で、質問に焦点を当てるために、再び開く前に閉じて編集する必要があります。
ジェフオックスベリー

回答:


14

質問の下で指摘されたゴドリックのリンクは正確です。計算科学者が持たなければならない多くの才能の良い概要を提供します。

一般に、計算X(X =数学者、土木技師、材料科学者)と理論Xまたは実験Xの違いは、前者が実験や理論ではなくコンピューターの問題に取り組むことです。明らかに、コンピューターを使用する能力、特にコンピューターを使用する能力は、スキルとX自体の十分な理解と同様に、この重要な部分です。

計算科学者は、すぐにXコミュニティに参加するわけではありませんが、数学やコンピューターサイエンスのバックグラウンドを持つことが多い人たちです。私は自分自身を1つとして数えます。それらのほとんどは、特定のアプリケーション(Xなど)自体にはあまり関心がなく、むしろフィールドXでの問題を解決することを、新しい数値的および計算的手法を開発および適用する方法として検討します。より広く適用可能な方法の場合。多くの計算科学者は優秀なプログラマーであり、おそらくもっと重要なのは、ソフトウェア設計者とエンジニアです。それが得意であることは、確かに計算科学者の職務記述書の重要な部分です。


1
非常によく言いました。
ジャックポールソン

計算数学者とは何ですか?
Milind R

計算問題の数学的手法を開発することを目標とする人。例えば、有限要素法、線形または非線形ソルバーなどを開発するために
ヴォルフガングバンガース

1
素晴らしい。コンピューターが「計算実験」を行えることを除いて、例えば数学やcsの研究のように。(異なる種類/種類の実験)。これらの分野では「経験的研究」とも呼ばれ、おそらく最良の用語ではなく、使用される用語です。これは新しい/大きな新興パラダイムです。「ビッグデータ」などのesp
vzn

6

大雑把に言えば、「計算科学」を行うと主張しているがプログラミングを知らない場合、あなたは良い専門家ではありません。

計算を行うには、ツールが必要です。そして、コンピューターはそのようなツールです。プログラミングは、コンピューターに物事のやり方を教える唯一の方法です。したがって、プログラミングは計算科学の重要な部分です。これは、それが唯一の部分であると言うことではありません。理論には独自の神聖な場所があります。理論が非常に得意であれば、設計を改善し、より重要な正しいアルゴリズムを設計します。

私の知る限り、プログラミングを知らなくても生き残ることができます。アルゴリズムを理論的に設計することです。ただし、プログラミングを知っている他の人を雇って、アルゴリズムがリアルタイムで機能するかどうかを確認する必要があります。

その上、プログラミングを知っている人々がより良い報酬を受け取ることは現代世界の事実です。私見では!


3

私は、計算科学の定義や説明の教科書バージョンを認識していませんが、私の経験に基づいた2セントです。

計算科学には、計算プロセスの処理が含まれます。重要なプロセスの1つはプログラミングです。それで、はい、それはプログラミングを伴います。計算科学者がプログラムの作成者であるかどうかは別の問題ですが、彼女は特定の科学分野向けに作成されたプログラムのユーザーである可能性が高いでしょう。そして、彼女が自分のニーズに合ったものにするために「接着剤」コードを書かなければならない可能性がますます高まっています。これが最初の質問に答えることを願っています。

私は計算材料科学については知りませんが、エネルギーのシミュレーションや要素間の相互作用などの計算ニーズを持つ科学の一分野であると仮定します。したがって、はい、それは他の科学領域と同じ計算科学の一般原則を含みます:アルゴリズム、手順、グルーコード、ファイル操作、構成、視覚化など。これが2番目の質問に答えることに近いことを願っています。

あなたのコンピュータサイエンスのバックグラウンドは間違いなく役立つはずです。それが範囲内にあるかどうかは、少し主観的です。しかし、私はあなたが研究した主題を考えると、あなたの快適ゾーンに非常にあるべきだと思います。


上手。実際、工学物理学、化学などのテーマに関して-私はそれほど科学的ではありません。近年、私の主な焦点はコンピューターサイエンスです。具体的にはプログラミングです。誰かが量子物理学とすべてを私に尋ねるなら、私はそれほど良くありません。
シェリル

このプロジェクトの主な目的が物理学のセンスのある「プログラミング」である場合。対処できると思います。(また、力学は物理学の私のお気に入りの部分であり、そこで私は強力な基盤を持っています。)
シェリル

5
計算科学の教科書の定義はありませんが、米国エネルギー省が言うべき ことはここにあります計算科学は、科学、工学の問題を分析、解決するためにアルゴリズム、数学、コンピューターを使用する学際的なアプローチです。
アロンアーマディア

3

ここに別の種類の答えがありますが、私の意見では、非常に興味深いです。

私はこのベータ版のすべてのユーザーを1000以上の評価を得て見ました。これらの人々は計算科学をしているとみなすことができると思います。それぞれについて、プロファイルを見て、彼らがStackOverflowにアカウントを持っているかどうかを確認しました。これは、プログラミングに興味を持っている兆候と見ることができます。結果は次のとおりです。

25 users having more than 1000 reputation

  • 4 (16%)アカウントがありません。
  • 5 (20%)は、評判を得ることなくアカウントを開設しました。
  • 16 (64%)はStackOverflowに貢献しました。

そのため、少なくとも84%彼らはプログラミングに興味があります。私の意見では、これはプログラミングが科学計算の仕事の重要な部分であることを示しています:-)それは他の答えの確認に過ぎません!

もう1つの興味深い事実(定量化していない)は、これらすべてのユーザーが計算科学やStackOverflowだけでなく、多くのトピックに関するアカウントを持っているということです!これはWolfgang Bangerthの答えの方向に向かっているだけだと思います。


2

私の個人的な経験から言えば、プログラミングの知識や経験がほとんどないかまったくない、非常に優秀な計算科学者を知っています。一方、私が知っているほとんどの計算科学者は、コンピューターのプログラミング方法を知っています。

あなたの質問のその部分に対する最終的な答えはありません。あなたが自問しなければならない質問は、問題を解決できるソフトウェアがありますか、それとも最初に問題を解決できるソフトウェアを作成し、それを使用して問題を解決することです。実際の問題。これに対する答えは、プログラミングを知る必要があるかどうかを決定します。


1

興味深い質問は、私は計算材料科学を勉強していて、物理学を専攻した卒業生です。これまでに私が行ったプログラミングの量は最小限ですが、それは私自身の話です。多くの場合、プロジェクトの特定の目標によって、行うコーディングの正確な量が決まります。標準的な手法とソフトウェアを使用して特定の化合物を調べる場合、最悪の場合、使用しているコードの周りの事柄を自動化するBash / Pythonスクリプトを書くことになります。私はあなたが検証しようとするものを実装するためにおそらくプログラミングを行うと思うので、短い答え:計算科学については言えませんが、計算材料科学については、もしあれば決定されるプログラミングの量あなたのプロジェクト。


1

2番目の部分に答えます。一般の計算科学者と専門の計算Xとの間には、人の関心に応じて多くの重複がありますが、計算科学者の主な関心は、ドメイン分野の問題を研究するための新しい計算技術の導入です。計算技術の新しいものは、適切な計算ツールの欠如またはより高速な方法のために不可能だった新しい計算である可能性があります。一方、計算Xは、主にこれらの新しいツールを使用して新しい問題を研究することに関心があります。したがって、一般的に、計算科学者はまず問題のステートメントを作成し、それを解決するための一般的なフレームワークを説明し、ツールの適用性(速度/エラーなど)にいくつかの制限を課し、概念実証として問題を解決します。前半は

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.