計算科学

科学的問題を解決するためにコンピュータを使用する科学者のためのQ&A

2
MPI 2のMPI_Barrierのノンブロッキングバージョン
要求メッセージをやり取りするMPIプロセスがたくさんあります。プロセスは、他のどのプロセスがメッセージを送信するのか、またはその数を知りません。このような状況で、他のすべてのプロセスが自分自身がメッセージの送信を完了したと見なしているかどうかを効率的に知る方法が欲しいのです。 これは、MPI_Barrierの次の非ブロッキングバージョンによって完全に達成されます。これをMPI_Ibarrierと呼びます。 int MPI_Ibarrier(MPI_Comm comm, MPI_Request* request); MPI_Ibarrier すぐに戻り、リクエストオブジェクトに対する標準操作により、全員がバリアに到達したことが通知されます。 MPI 2でこの動作を効率的にシミュレートする方法はありますか(つまり、公式のノンブロッキングコレクティブなし)。
8 mpi 

3
いつどの基準を選ぶべきか?
最近、私はこの質問を見ました:有限差分法のエラーを測定する方法 私はシミュレーション科学の学生ですが、残念ながら、私にとっては、どのような状況でどのような規範を使用するかは完全に不明確です。 多くの場合、ユークリッドノルムまたはL2ノルムを使用しますが、なぜ異なるノルムを選択するのですか?数値/数学的定義以外にそれらの意味は何ですか?より正確には:特定のコンテキストで特定の基準を使用する理由は何ですか?


1
線形システムのスパースパターンは、反復(KSP)ソルバーにとって重要ですか?
ほとんど問題です。一般的な疎で非対称な(数値的および構造的の両方の)行列を考えると、反復ソルバーのスパースパターン(つまり、行列/ベクトルの行/列の置換)はどのくらい重要ですか?フィルインの数に直接影響を与えることにより、直接ソルバー(LU)またはプレコンディショナー(ILU)にとって重要になることがわかります。 ただし、反復ソルバーの場合、最も重要な部分は、実際の行列パターンを気にしないように見えるMatVec操作であるようです。ここで考慮していないパターンに依存する可能性のあるコンポーネントはありますか? 並行してどうですか?マトリックスとベクトルの分布の仕方でパターンが重要になり、通信量/オーバーヘッドを決定するかもしれないが、他の考えや入力を見たいと思います。 私はこれを一般的に、そしてPETScのKSPソルバーに関しても尋ねています。

2
構造化グリッドと非構造化グリッド
CFDの分野は初めてです。いつ構造化グリッドに移行すべきか、いつ非構造化グリッドに移行すべきか?(はい、それは問題の形状に大きく依存します)より具体的には、必要な計算能力、達成された精度、および両方のタイプのグリッドに関連する作業の違いを知りたいです。最も単純な言語で構造化グリッドと非構造化グリッドを説明する優れたリソースは何ですか?

2
SciPy odeint / ODEPACKによる非線形特異ODEの解法
私が解決したいレーン・エムデン等温式[PDF、EQを。15.2.9] d2ψdξ2+2ξdψdξ=e−ψd2ψdξ2+2ξdψdξ=e−ψ\frac{d^2 \!\psi}{d \xi^2} + \frac{2}{\xi} \frac{d \psi}{d \xi} = e^{-\psi} 初期状態で ψ(ξ=0)=0dψdξ∣∣∣ξ=0=0ψ(ξ=0)=0dψdξ|ξ=0=0\psi(\xi = 0) = 0 \quad \left.\frac{d\psi}{d \xi}\right|_{\xi = 0} = 0 SciPyodeint()を使用していますが、ご覧のように、方程式は原点で特異です。ドキュメントには、ODEPACKを使用することが記載されています。 私はすでにの近傍における溶液の級数知っξ=0ξ=0\xi = 0(REFを): ψ(ξ)≃ξ26−ξ4120+ξ61890ψ(ξ)≃ξ26−ξ4120+ξ61890\psi(\xi) \simeq \frac{\xi^2}{6} - \frac{\xi^4}{120} + \frac{\xi^6}{1890} に設定しようとしtcritましたnp.array([0.0])が、機能しませんでした。無効な値に関する警告が表示され、私の解決策はすべてNaNです。たぶん0.01から統合するべきでしょうか?または他の解決策はありますか?
8 python  ode 

1
与えられた多面体の最大楕円体を計算する方法
BBBBBBCCCC= { x | aT私X ≤ B私、i = 1 、… 、m }C={x|aiTx≤bi,i=1,…,m}C=\{x| a_i^T x \leq b_i, i=1,\dots,m\}分B 、d[ ログdet B− 1]st:| | B a私| |2+ aT私d≤ B私、i = 1 、… 、mminB,d[log⁡detB−1]s.t.:||Bai||2+aiTd≤bi,i=1,…,m \min_{B,d}\quad[\log\det B^{-1}]\\ \mbox{s.t.:}\quad ||Ba_i||_2+a_i^Td\leq b_i, \qquad i=1,\dots, m 。私のアプローチは、内点法を使用し、精度パラメーターを導入し、上記の本の第11章で説明されているように対数バリア関数を介して制約を目標に組み込み、結果として生じる制約のない問題を最小限に抑えることです したがって、私は偏導関数を取ります: これは行列であり、 分B 、dt > 0t>0t>0F∂F分B 、d[ ログdet B− 1− …

2
非線形制約のある2次関数の最小化
二次関数の最小化問題解決のために試すには良い方法(および/またはソフトウェアパッケージ)であるもの、ST 0 ≤ X I ≤ 1、およびいくつかの非線形(そして微分不可能)な制約があります。たとえば、∑ i x i 1 x i &gt; a &lt; b?f(x)=∑Ni=1(xi−yi)2f(x)=∑i=1N(xi−yi)2f(x) = \sum_{i=1}^N{(x_i - y_i)^2}0≤xi≤10≤xi≤10 \leq x_i \leq 1∑ixi1xi&gt;a&lt;b∑ixi1xi&gt;a&lt;b\sum_i x_i \mathbf{1}_{x_i>a} < b 私は考えています。FWIW、Matlabは明らかに「ギル他と同様のアクティブセットメソッド」を使用しており、パフォーマンスに多少のばらつきがあります。N≈100N≈100N \approx 100

2
ILUプレコンディショナーの分類
スパース線形システムのBiCGStabソルバーの場合、前提条件子を使用する必要がほとんど常にあることを学びました。良いものを選ぶことは問題に依存していることを今までに気づきました。 Webをサーフィンしているときに、ILUベースのプレコンディショナー(ILUT、MILUなど)がたくさんあることがわかりました。ここで混乱しました。 誰かがILUプレコンディショナーの分類法を簡単に説明でき、特定のもののいくつかの文献ソースを提供でき、それらのうちのどれがBiCGStabに適しているのか疑問に思いました。 私が作業している設定はCFDであり、コードは非構造化有限ボリュームの離散化に基づいています。乱流スカラーの運動量方程式と輸送方程式には、おそらく異なる前処理が必要になります。

3
標準の線形代数/最適化法には大きすぎるものは何ですか?
異なる数値線形代数および数値最適化手法は、独自のプロパティに加えて、それらが「良いアイデア」である場合に異なるサイズ体制を持っています。たとえば、非常に大規模な最適化問題の場合、ヘッセ行列を扱う必要がないため、ニュートン法や内点法の代わりに勾配法、確率勾配法、座標降下法が使用されます。同様に、密な線形ソルバーメソッドは、特定のサイズになると実行できなくなります。 したがって、アルゴリズムとコンピューターハードウェアの両方が絶えず変化していることを考えると、標準の線形代数と最適化ソルバーにとってどれほどの大きさであるかを知るにはどうすればよいでしょうか。 (数値アルゴリズムのエンドユーザーである場合、それらのアルゴリズムを適用できるときはあいまいな考えを持つことが重要であるため、これについて考えています。その一部は、問題の構造と望ましいソリューションの種類ですが、一部は問題の大きさでもあります。) 編集:より具体的に言えば、これについて私が考えさせられたのは、問題の内点アルゴリズムが解決できる大きさの上限に関するさまざまな経験則でした。以前の論文では、次元数は約1000である必要があると述べていましたが、後の論文では5000に上方修正されており、最近の論文では、スパース性を利用できるかどうかに応じてさらに大きな値を認めています。これはかなり広い範囲なので、最先端の内点法では何が大きいのか知りたいです。

1
スーパーコンピューティングの歴史を要約した参考文献を知っている人はいますか?
誰もが、並列プログラミング言語、アプリケーション、スタートアップ企業(確立されたものの存続しなかったもの)、業界のニーズなどの開発について言及するなど、スーパーコンピューティングの背後にある歴史とアイデアを要約した参考文献を知っています。

1
多孔質媒体における圧縮性非等温流の有限差分スキーム
私の課題は、多孔質媒体でのガス燃焼を説明する次の方程式系を解くことです。 1)継続性 ε ∂ρg∂t+ ∂∂バツ(ρgあなたバツ) =0ε∂ρg∂t+∂∂バツ(ρgあなたバツ)=0\varepsilon \frac{\partial \rho_g}{\partial t} +\frac{\partial}{\partial x} \left(\rho_g u_x\right)=0 2)ダーシー法(勢い) あなたバツ= − kμ∂p∂バツあなたバツ=−kμ∂p∂バツu_x=-\frac{k}{\mu} \frac{\partial p}{\partial x} 3)状態方程式、変数温度に注意 ρg= MRpR Tg(x )ρg=MRpRTg(バツ)\rho_g=\frac{M_Rp}{RT_g(x)} 4)ガスのエネルギー方程式。 5)固相のエネルギー方程式 速度、圧力、密度が一定であると仮定された場合、つまり最初の3つの方程式が脱落した場合の解決に成功しました。しかし、ガス力学の部分を解決することは問題であることが判明しました。 1に風上スキームを適用する(ここで提案されているように:連続方程式の良い有限差分)タイムステップで非常に厳しい安定性基準を達成し、1e-2の空間で1e-6と低くするように強制されます等温の場合でも、とりあえず燃焼を無視してタイムステップ。そして、エネルギー方程式を解くには少なくとも1e-3が必要です。 最初の3つの方程式は、次のように結合することもできます。 6)∂p∂t+ C∂2∂バツ2(p2) =0∂p∂t+C∂2∂バツ2(p2)=0 \frac{\partial p}{\partial t} +C\frac{\partial^2}{\partial x^2} \left(p^2 \right)=0 しかし、等温の場合のみなので、それはほとんど役に立ちません。 人々は1)-5)と6)を以前に解決したことを知っていますが、彼らが使用したスキームの説明は見つかりませんでした。具体的には多孔質媒体の圧縮性流れに関する記事を検索してみましたが、これらはすべて非常に複雑なモデル(多相、変形可能固体など)を扱い、非常に複雑な解法を使用しています。 (1)-(3)の良いFDスキームを誰かが提案したり、私がしたように風上を使用した場合に安定性基準がどのように形成されるかを言うことができますか?

2
線形化の前に非線形問題を事前調整するにはどうすればよいですか?
非線形方程式を解くことを考えるとき、私は一般的に最初に線形化し、次に線形行列に前提条件を適用することを考えます。非線形方程式を線形化する前に調整することは可能かもしれないという考えが私に起こりました。連立方程式の構造に依存しない非線形方程式を事前調整するための一般的な戦略はありますか?

1
scipy.optimize.fmin_bfgs:「精度の低下により、必ずしも必要なエラーが達成されるとは限らない」
Pythonでscipy.optimize.fmin_bfgs関数を使用して関数を最適化しようとすると、投稿の件名に警告が表示されます。完全な出力: 警告:精度の低下により、必ずしも望ましいエラーが達成されるとは限りません Current function value: nan Iterations: 1 Function evaluations: 18 Gradient evaluations: 3 致命的なエラーではありません。答えは出ますが、最適な検索結果にはほど遠いです。 このエラーを生成する可能性のある一般的な「noob」エラーはありますか?私は昨日だけこのパッケージを使い始めました。だから、どこから始めればいいのかさえわからない。どんな助けでもありがたいです!

1
パラメータに応じて継続的に固有空間基底
エルミート行列があり、xとyの 2つのパラメーターに依存しています。私は2つの近い点でそれを対角化するとき(X 1、Y 1)及び(X 2、Y 2)私は(二近い固有値取得ε 1及びε 2)と2つの対応する固有空間(S 1およびS 2と同じ寸法の)を。HH\mathbf{H}バツxxyyy(x1、y1)(x1,y1)(x_1,y_1)(x2、y2)(x2,y2)(x_2,y_2)ε1ε1\varepsilon_1ε2ε2\varepsilon_2S1S1S_1S2S2S_2 それらは同じ行列の固有値ではないことに注意してください。とH 2 = H(x 2、y 2)の 2つの異なる行列があります。H1=H(x1,y1)H1=H(x1,y1)\mathbf{H}_1=\mathbf{H}(x_1,y_1)H2=H(x2,y2)H2=H(x2,y2)\mathbf{H}_2=\mathbf{H}(x_2,y_2) ポイントのメッシュあり、補間を使用して任意のポイントで固有値と固有空間を見つけたいと考えています。問題は、行列が数値的に対角化されているため、S 1とS 2の基底が完全に独立していることです。たとえ(X 1、Y 1)及び(X 2、Y 2)に非常に近い基底ベクトルは非常に異なる成分を有することができるされています。(xi,yi)(xi,yi)(x_i,y_i)S1S1S_1S2S2S_2(x1,y1)(x1,y1)(x_1,y_1)(x2,y2)(x2,y2)(x_2,y_2) 補間には、とyに継続的に依存する基底が必要です。つまり、固有空間S 1とS 2に近いほど、基底ベクトルに近いはずです。xxxyyyS1S1S_1S2S2S_2 場合及びS 2は、次いで、3次元ユークリッド空間S2における基準を選択するための良い方法で平野である平野の交点である線を中心S1の基礎を回転させることです。複雑な多次元空間でこれに類似したものはありますか?S1S1S_1S2S2S_2

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