科学計算と数値分析


9

私はコンピュータサイエンスと数学の二重の専攻です。私は両方の主題が大好きです。おそらく科学計算の分野で、大学院生になることを考えています。科学計算と数値解析の本当の違いは何ですか?彼らはキャリアとして研究されていますか?

回答:


18

ウィキペディアは良い定義を与えます

数値解析とは、(一般的な記号操作ではなく)数値近似を使用して、(離散数学と区別される)数学解析の問題にアルゴリズムを使用するアルゴリズムの研究です。

数値解析者は通常、エラー範囲(近似でのエラーの大きさ)、反復スキームの収束(近似が適切な制限に近づくかどうか)、収束の次数と速度(どのくらい高速か)など、アルゴリズムに関する数学的結果を証明することに関心があります。アルゴリズムは収束します)、および計算の複雑さ(アルゴリズムが必要とする操作の数を制限します)。コンピューターを使用せずにこれらの領域で研究を行うことは可能であり、1950年代のデジタルコンピューターの開発に先行する重要な結果もあります。

ウィキペディアには「科学計算」の定義もあります

計算科学(科学計算または科学計算(SC)も)は、高度な計算機能を使用して複雑な問題を理解および解決する、急速に成長している学際的な分野です。計算科学は、3つの異なる要素を融合します。[1]アルゴリズム(数値および非数値)と、科学(生物、物理、社会など)、工学、人文科学の問題を解決するために開発されたモデリングおよびシミュレーションソフトウェア。高度なシステムハードウェア、ソフトウェア、ネットワーキング、およびデータ管理コンポーネントを最適化し、計算上厳しい問題を解決するために必要です。科学およびエンジニアリングの問題解決と、開発用コンピュータおよび情報科学の両方をサポートするコンピューティングインフラストラクチャ。

科学計算は、コンピュータから正確なソリューションを取得するための実際的な側面についての詳細です。これは明らかに数値解析の結果に基づいていますが、コンピュータアーキテクチャとソフトウェアエンジニアリングにも大きく依存しています。科学計算の研究は、それ自体のために、そして多くのアプリケーションで使用されるハードウェアとソフトウェアを開発するために行われることが多いですが、特定の科学および工学の問題を解決する必要性によって推進される科学計算の研究もたくさんあります。たとえば、気候変動を研究するための地球規模の気候モデルの開発も、科学計算を前進させました。

数値解析は、数学および応用数学の部門で最も一般的に見られますが、科学計算は、コンピューターサイエンスの部門、数学の部門、およびさまざまな工学および科学の分野で見られる学際的な分野です。


1
古き良き時代には、いくつかのコンピュータサイエンス学部で多くの数値分析(学部、学生、クラス、研究)が行われていました。この作業の多くは、科学、工学、統計(統計計算)、管理/運用研究などの実際の問題を解決するためにうまく機能するアルゴリズムとソフトウェアの開発に費やされました。
マークL.ストーン

どちらの場合も、応用数学は良い出発点でしょうか?
ブレード

1
はい、応用数学の背景はどちらの方向にも役立ちます。本当の質問は、あなたがすでに持っているものに何を追加したいかです。幅(コンピュータサイエンス、および計算科学が使用されるいくつかの科学または工学分野)は、計算科学のような学際的な分野で非常に役立ちます。
ブライアンボーチャーズ2017

6

私がここで行っていた種類の仕事の付随的な必要性として、大学院の間にエンジニアリングからサイエンティフィックコンピューティングに移った誰かとして、私の2セントは次のとおりです。

  • 数値分析は、物事の数学とアルゴリズムの側面に焦点を当てます。ODEのPDEのMatrix Manipulations Optimizationなど、分析ソリューションを持たない特定の数学の問題を解決するために使用する手法を理解する。
  • 数値解析は、最近ではかなりの量のプログラミングを必要とすることがよくありますが、それでもなお、効率的なアルゴリズムの数学的アイデアをコンピューターコードに変換することはかなり可能です。
  • 伝統的にFORTRANが主力でした。しかし、C / C ++や最近のPythonでの作業も期待できます。MathematicaやMATLABなどのパッケージも含まれる場合があります
  • Scientific Computingは、コンピューティングリソースを使用して科学的な問題を解決しようとする応用分野です。これには、多くのナットとボルトの作業が含まれる場合があります。たとえば、コードのコンパイル、オペレーティングシステムとライブラリのインストール、科学コードを機能させるためのオプションの設定など。
  • 最近の科学計算のかなりの部分が並列計算を必要とするため、計算クラスター、スーパーコンピューター、クラウドコンピューティングなどにある程度触れる可能性があります。
  • 科学計算では、C / FORTRANなどのプログラミング言語で作業する場合がありますが、bash / perlなどの「接着」/スクリプト言語で多くの作業を行うことが期待されます。
  • おそらくLinux-eyシステムで多くの作業を行い、コマンドラインやsed / awkなどのツールでかなり熟練した作業を行うことになります。結局、sys管理者になる人もいます。
  • 多くの科学計算には、視覚化とデータの保存/データの取得が含まれます。多くの人がビッグデータ/ Hadoop / Map Reduceなどの専門家になります。
  • 数値解析は本質的に専門家の仕事です。数学とコーディングが得意で、特定の問題を非常に効率的に解決します。途中でアルゴリズムを1つまたは2つ発明することもあります。科学計算は、ある意味で、ジェネラリストの仕事です。比較的話す。多くの場合、特定の適用された問題を解決するためにさまざまなツールを一緒に使用しています。
  • 科学計算の多くは、インターフェースでの作業を伴います。例:2つのプログラム間のインターフェース。あるツールから別のツールにデータをパイプ処理して処理します。途中でいくつかのフォーマット操作を行います。つまり、ツールが実際に互いに対話するように設計されていないのに、さまざまなツールが互いに対話できるようにしようとしているとします。
  • 科学計算を行う人は、さまざまなデータ形式を習得しなければならないことがよくあります。多くの計測器には独自のフォーマットがあり、数値アルゴリズムが好むフォーマットにデータをデコードする必要があります。
  • 一部のサイエンティフィックコンピューティングの担当者は、非常に専門的な性質の「ヘルプデスク」を配置することになります(コストも高くなります)。一般的な研究者/学生/教授が、研究所でコンピューティングリソースを使用して、ポップアップする可能性のある問題を解決するのに役立ちます。つまり、科学計算の人は、さまざまなコードやパッケージに精通しており、問題を計算で最もよく解決するために使用するツールについてユーザーにアドバイスすることができます。
  • コードを他のハードウェアに移植することができます。または、シリアルモードで記述されたレガシーコードを並列化します。または、コードを最適化してより高速に実行します。一部の人は、コードをGPU / CUDAなどで実行するように変換して、より高速に実行します。
  • かなりの科学計算にはトラブルシューティングが必要です。多くの場合、他の人が書いたコード。特定のハードウェアなどでクラッシュする理由を理解するため。
  • 多くの場合、あなたは専門家の間を仲介する仲介者です。たとえば、ハードコアプログラマー、計算を必要とするが自分で多くをコーディングできない生物学者、システム管理者、ネットワークの教祖、データセンターの技術者などがいるチームで作業する必要がありました。
  • 新しいハードウェアが購入されたとき、またはコンピューティングシステムのアーキテクチャが決定されたときに、科学コンピューティングの担当者に重要な情報を提供するように依頼することができます。これらの割り当てでは、デル/クレイ/ IBM /インフィニバンド/シスコなどのセールスエンジニアや技術者と緊密に連携することになります。

これがフィールドについてのいくつかのアイデアを与えることを願っています!

最後のアドバイスの1つ(膨大な量の塩を用意してください!):正確さと詳細、論文を読んだり、個々の知性が重要で長期間継続する重要な集中的な努力の後で詳細を理解したりするなど、数学に長けている場合その後、数値解析に進みます。

一方、ジェネラリストになりたい場合、領域を切り替え、ハードワークで天才を補い、あらゆる取引のジャックになり、チームで作業して競合に対処するなど、あいまいで曖昧なことが多い競合する推奨事項に積極的に取り組む、厳しい締め切り、MBAの扱いなど、科学計算の専門家になります。

もう一度、これを塩ひとつまみに入れます。すべての人の状況は特別です。そして私たちのほとんどは、まったくの偶然から脱出した場所に上陸しました。:)


0

あなたは応用数学者になりたいです。これは、工学部の多くの大学で博士号を取得できる専攻です。私の経験では、数学がより重要なスキルですが、正式なコンピュータサイエンスの技術的な背景が役立つ場合があり、他では得られない場合があります。CS rabbitの穴から遠くに行かないように注意してください。そうしないと、実際のアプリケーションから離れてしまう傾向があるCSの調査に巻き込まれる可能性があります。

あなたの特定の質問に答えるために、応用数学者は数値的方法と分析の研究を行い、科学研究者と協力していくつかの分野で科学計算を行うでしょう。特に科学的コンピューティングを追求したい場合は、計算化学、生物物理学、気候学、バイオインフォマティクスなどの科学研究分野を入力することをお勧めします。


私の質問を読むと、私が二重専攻であることがわかります。私は実際にはcs専攻よりも数学専攻に多くの時間を費やしています。私はCSの深部に行くことについてまったく心配していません
ブレード

私はあなたの質問を読みました。それが私が「博士号として」と言った理由です。答えは、専攻を選択しなかったかもしれない他の人にも役立つことを意図しています。検索で頑張ってください。博士号は非常に柔軟である傾向があるので、好きなことをしているグループを見つけて、1つの領域に閉じ込められることをあまり心配しないでください。
user21387
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.