計算科学

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

2
高次ゼルニケ多項式の数値安定性
一部の画像の高次(たとえばm=0、n=46)ゼルニケモーメントを計算しようとしています。しかし、放射多項式に関する問題に直面しています(ウィキペディアを参照)。これは区間[0 1]で定義された多項式です。以下のMATLABコードを参照してください function R = radial_polynomial(m,n,RHO) R = 0; for k = 0:((n-m)/2) R = R + (-1).^k.*factorial(n-k) ... ./ ( factorial(k).*factorial((n+m)./2-k) .* factorial((n-m)./2-k) ) ... .*RHO.^(n-2.*k); end end ただし、これは明らかにの近くの数値の問題にぶつかりますRHO > 0.9。 私はそれをpolyvalいくつかのより良い舞台裏のアルゴリズムがあるかもしれないと考えるようにそれをリファクタリングしてみましたが、それは何も解決しませんでした。これをシンボリック計算に変換すると、目的のグラフが作成されましたが、次のような単純なグラフであっても驚くほど遅くなりました。 そのような高次多項式を評価する数値的に安定した方法はありますか?

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

2
三角形メッシュの不規則性を定量化するために一般的に使用されるメトリック
平面に三角形のメッシュがあるとします。これは、たとえば力学の問題を最終的に解決するために描かれました。 頂点間の距離と重心間の距離がすべて同じである限り、正三角形のメッシュが最適です。これにより、補間と勾配の計算が簡単かつ正確なタスクになります。ただし、制約と状況により、すべての正三角形のメッシュで作業できるとは限りません。 したがって、質問は任意の形状の三角形要素のメッシュに関するものです。 個々のメッシュ要素について。いくつかの基礎となる理想的な等辺形状からの1つの一般的な三角形の相違点を定量化するために一般的に使用されるメトリックはどれですか? メッシュ全体について。全体で任意の三角形のメッシュの不規則性を定量化するために使用されているメトリックはどれですか?これらのメトリックは、メッシュのスクランブルの程度を示す必要があります。 一緒に考えてくれてありがとう。 注意 有限要素コミュニティからのすべての貢献は高く評価されています。この質問については、関心が純粋にジオメトリの違いを定量化することにあることに注意してください(任意の三角形と正三角形)。補間および調整エラーに対するその後の影響は範囲外です。これらは洞察に富み、関連性があるとすると、数学的な処理が複雑になります。

1
不連続ガラーキンスキームのCFL条件
私は、のタイプの保存則の線形システムの解決のためにADER-Discontinuous Galerkinスキームを実装し、CFL条件が非常に制限的であることを観察しました。参考文献では、時間ステップの上限を見つけることができます。ここで、はセルサイズ、は次元およびは多項式の最大次数です。∂tU+ A ∂バツU+ B ∂yU= 0∂tU+A∂xU+B∂yU=0\partial_t U + A \partial_x U + B \partial_y U=0 時間DNΔのT ≤ Hd(2 N+ 1 )λmは、XがΔt≤hd(2N+1)λmax\Delta t \leq \frac{h}{d(2N+1)\lambda_{max}}hhhdddNNN この問題を回避する方法はありますか?私はWENO-ADER有限ボリュームスキームを使用しており、CFLの制限ははるかに緩和されました。たとえば、5次のスキームでは、DGを使用する場合は0.04未満のCFLを課す必要がありますが、WENO-ADER FVスキームではCFL = 0.4を使用できます。 たとえば、計算空気力学(線形化オイラー方程式)または同様のアプリケーション(ガス力学、浅水域、電磁流体力学)で、ADER-FVではなくDGスキームを使用する理由は何ですか。スキームの全体的な計算コストは​​、はるかに低いタイムステップにもかかわらず、ADER-FVの計算コストと同じですか? これについての考えや提案は大歓迎です。

1
右側がのみの場合の有限要素法の収束(ポアソン方程式)
私が知っている、区分的線形有限要素近似の 満たす は、Uが十分滑らかでf ^ in L ^ 2(U)である場合に限ります。uhuhu_hΔu(x)=f(x)in Uu(x)=0on ∂UΔu(x)=f(x)in Uu(x)=0on ∂U \Delta u(x)=f(x)\quad\text{in }U\\ u(x)=0\quad\text{on }\partial U ∥u−uh∥H10(U)≤Ch∥f∥L2(U)‖u−uh‖H01(U)≤Ch‖f‖L2(U) \|u-u_h\|_{H^1_0(U)}\leq Ch\|f\|_{L^2(U)} UUUf∈L2(U)f∈L2(U)f\in L^2(U) 質問:もしf∈H−1(U)∖L2(U)f∈H−1(U)∖L2(U)f\in H^{-1}(U)\setminus L^2(U)、我々は1つの誘導体が両側に奪われている以下の類似の推定値を、持っています: ∥u−uh∥L2(U)≤Ch∥f∥H−1(U)?‖u−uh‖L2(U)≤Ch‖f‖H−1(U)? \|u-u_{h}\|_{L^2(U)}\leq Ch\|f\|_{H^{-1}(U)}\quad? 参照を提供できますか? 考え:私たちはまだu \ in H ^ 1_0(U)を持っているのでu∈H10(U)u∈H01(U)u\in H^1_0(U)、L ^ 2(U)で収束を得ることができるはずL2(U)L2(U)L^2(U)です。直感的には、これは区分定数関数でも可能です。

1
計算科学とデータ科学の違いは何ですか?[閉まっている]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 3年前休業。 背景:私の博士号は「計算科学」でした。私の論文は、固体物理学のための分子電子密度の全体的な動的分析におけるX線回折データの分析と熱摂動核の分析に関するものでした。持ち帰り?それは非常に科学に基づいていました。 私の意見では、計算科学は科学の追求であり、「...計算可能な手段によって、宇宙に関するテスト可能な説明と予測の形で知識を構築および整理する体系的な企業」(wiki)です。 ただし、「データサイエンス」のほとんどの位置は、「データ分析」タイプのジョブに似ています。つまり、事前に構築されたRモデルとPythonモデル(線形回帰など)を使用して構造化データと非構造化データから結論を導き出す、重いSQLクエリ。 計算科学はデータ科学のスーパーセットですか?それらは交換可能ですか?データサイエンスは実際の「科学」ですか?計算科学は実際の「科学」ですか?

1
マトリックスバランスアルゴリズム
私は制御システムのツールボックスをゼロから作成し、純粋にPython3(恥知らずなプラグイン:)で作成していharoldます。私の過去の調査から、Riccatiソルバーについて、care.m技術的/無関係な理由で常に不満を持っています。 したがって、私は自分の一連のルーチンを作成しています。私が回避策を見つけることができない1つのことは、少なくともと同等の高性能バランシングアルゴリズムを取得することbalance.mです。言及する前に、xGEBALファミリはScipyで公開されており、基本的には次のようにScipyから呼び出すことができます。float型の2D配列があるとしますA。 import scipy as sp gebal = sp.linalg.get_lapack_funcs(('gebal'),(A,)) # this picks up DGEBAL Ab, lo, hi, scaling , info = gebal(A, scale=1 , permute=1 , overwrite_a=0 ) 次のテストマトリックスを使用する場合 array([[ 6. , 0. , 0. , 0. , 0.000002], [ 0. , 8. , 0. , 0. , 0. ], …

3
「軽量」のFEMパッケージはありますか?
基本的に、FEMはかなり「解決」された問題のようです。Trilinos、PETSc、FEniCS、Libmesh、MOOSEなど、数多くの強力なフレームワークが存在します。 彼らが共通していることの1つは、それらが非常に「重い」ことです。まず、インストールは通常非常に骨の折れる作業です。第二に、それらのインターフェース/ APIは分厚くて重いです-あなたはあなたの考え全体をそれぞれのライブラリの考えに翻訳しなければなりません。これは、特別な要件や既存のコードの相互運用性と拡張性が困難であることも意味します。 (ランダムな例)Boost、LibIGL、Aztec(線形ソルバー)、Eigen、またはCGALなどの他のプロジェクトは、C ++またはPythonコードにシームレスに統合する強力なライブラリーを、非常に無駄のないクリーンなインターフェースで、インストールの必要なしに作成することが絶対に可能であることを示しています超重いフレームワークの。 FEM用の本当に軽量なパッケージはありますか?簡単なオートマジックソルバーを探しているのではありません-無駄のないインターフェース、一般的なデータ構造(たとえばC ++ STLなど)との相互運用性、および軽量のインストール(たとえばヘッダーのみ)を維持しながら強力な機能を提供するライブラリを探しています。

3
勾配ベースのオプティマイザに近似勾配を提供しても役に立たないですか?
数値勾配しか提供できない場合、勾配ベースの最適化アルゴリズムを使用しても意味がありませんか?そうでない場合、最適化ライブラリ自体に対して有限微分を実行するのが簡単なのに、なぜ最初に数値勾配を提供するのですか? [編集] 明確にするために、私の質問は確かに特定のアプリケーションよりも一般的な意味です。私の応用分野は、たまたま、さまざまな統計フレームワークの下での尤度最適化です。 自動微分に関する私の問題は、常に問題があるように見えることです。ADライブラリーが外部ライブラリー呼び出し(BLASなど)に伝搬できないか、ワークフローを大幅にやり直さなければならないため、対処するのが面倒になります...特に、タイプ依存の言語で作業している場合。ADに対する私の不満は、まったく別の問題です。でも信じたい! 私は私の質問をよりよく定式化する必要があると思いますが、私はそれをうまくやっていません。導関数なしの最適化アルゴリズムまたは導関数ベースの最適化アルゴリズムのいずれかを使用するオプションがあり、私がそれに与えることができるのは数値勾配のみであるという警告がある場合、平均してどちらが優れていますか?

3
ニュートン・ラフソンを超えて非線形移流拡散システムを解く方法は?
私は、それぞれのソース項を介して2つのadv-diff結合ドメインがあるプロジェクトに取り組んでいます(1つのドメインは質量を加算し、他のドメインは質量を減算します)。簡潔にするために、定常状態でモデル化しています。方程式は、次のようなソース項を持つ標準の移流拡散輸送方程式です。 ∂c1∂t=0=F1+Q1(c1,c2)∂c2∂t=0=F2+Q2(c1,c2)∂c1∂t=0=F1+Q1(c1,c2)∂c2∂t=0=F2+Q2(c1,c2) \frac{\partial c_1}{\partial t} = 0 = \mathcal{F}_1 + \mathcal{Q}_1(c_1,c_2) \\ \frac{\partial c_2}{\partial t} = 0 = \mathcal{F}_2 + \mathcal{Q}_2(c_1,c_2) ここで、は種iの拡散および移流フラックスであり、Q iは種iのソース項です。FiFi\mathcal{F}_iiiiQiQi\mathcal{Q}_iiii Newton-Raphson法を使用して問題のソルバーを記述でき、ブロック質量行列を使用して2つのドメインを完全に結合しました。 Fcoupled=[A100A2][c1,ic2,i]xi−[b1(c1,i,c2,i)b2(c1,i,c2,i)]Fcoupled=[A100A2][c1,ic2,i]⏟xi−[b1(c1,i,c2,i)b2(c1,i,c2,i)] F_{coupled} = \left[\begin{array}{c c} A_1 & 0 \\ 0 & A_2 \\ \end{array}\right]\underbrace{ \left[\begin{array}{c} c_{1,i} \\ c_{2,i} \\ \end{array}\right] }_{x_i} - \left[\begin{array}{c} b_1(c_{1,i}, c_{2,i}) \\ …

2
スーパーコンピューティングにおける通信オーバーヘッド
私は、スーパーコンピューターが実際のタスク関連の作業を行うのではなく、調整に費やすリソースを説明する信頼できるリファレンスを探しています。リソースは利用可能な処理能力である可能性がありますが、ワットでさえ有効な単位のようです。 私の教授または教科書の1つがかつて超並列システムでは、利用可能な処理能力の最大半分がタスクとメッセージパッシングの調整に費やされていると言っていたと思います。残念ながら、私はこの参考文献やこの比率に関する他の資料を見つけることができないようです。 これはスーパーコンピューターのアーキテクチャによって大きく異なり、最新の実装はおそらくこの点でより効率的であるため、複数のアーキテクチャまたは進化(専用メッセージパッシングハードウェアの前後)にわたるこのメトリックの概要はさらに優れていると思います。
9 hpc  mpi 

2
共役勾配の最悪の場合の複雑さは何ですか?
してみましょう、対称正定。ベクトルにAを乗算するのにm単位の作業が必要だとします。ウェル上にCGアルゴリズムを実行することが知られているAの条件数とκが必要O(Mは√A∈Rn×nA∈Rn×nA\in \mathbb{R}^{n\times n}mmmAAAAAAκκ\kappa、作業単位。O(mκ−−√)O(mκ)\mathcal{O} (m\sqrt{\kappa}) もちろん、ステートメントであるため、これは上限です。また、CGアルゴリズムは、ラッキーな初期推測で常にゼロステップで終了できます。OO\mathcal{O} 私たちは、RHS及び必要になります初期(不運な)推測が存在する場合は知っていますステップ?別の言い方をすれば、CGの最悪の場合の作業の複雑さは、実際にあるΘ(M √Θ( κ−−√)Θ(κ)\mathcal{\Theta}(\sqrt{\kappa})?Θ (M κ−−√)Θ(mκ)\Theta( m \sqrt{\kappa}) この質問は、プレコンディショナーの利点(低い)がコスト(mが高い)を上回るかどうかを判断しようとしたときに発生します。現在、おもちゃの問題を扱っており、コンパイルされた言語で何かを実装する前に、より良いアイデアを知りたいと思っています。κκ\kappaメートルmm

1
クラシックMDからab initio MDを開始する方法
私はテスト目的で水の分子動力学シミュレーションを実行しています。古典的なMDを実行している人に尋ねると、ボックスはかなり小さく、DFTの人に尋ねると比較的大きくなります。周期的な境界条件で58の水分子があります。 CPU時間を節約するために、ab initio MDを実行する前に、古典的な力場でセルを最適化しています。私はシステムを古典的に300Kで1 ns平衡化し、最後のスナップショットを取得してab initio MDの入力として使用します。私のab initio MDは通常のDFTベースのBorn-Oppenheimer MDで、平面波基底セットとPAW(疑似)ポテンシャル(VASPがコード)を持っています。古典的シミュレーションとab initioシミュレーションの両方で、速度再調整サーモスタットを使用して温度を300Kで一定に保っています。 私は、クラシックとab initioの間の移行を行う2つの異なる方法を調査しています。 古典的な軌道から初期速度と位置を取得し、それらをab initioシミュレーションの初期構成としてインポートします 古典的な位置を維持しながらシステムをゼロ温度に凍結し、それをDFTコードにインポートして、すぐに(現時点では0.5 psで実行しています)300Kまで加熱します。 特に、開始時の構成が上記の温度トリック(初期速度が異なる)を除いてまったく同じ(同じ初期位置)であることを考えると、両方の戦略が短い(たとえば10 ps)平衡期間後に同じ平均エネルギーにつながることを期待していました。これはそうではありません。以下の図は、システムが凍結されてから急速に加熱されるシミュレーションが、他のエネルギー領域よりも約1 eV低いエネルギー領域を見つけ、速度が古典的なMDからインポートされたことを示しています。 私の質問は: これが期待されるかどうか; クラシックからab initio MDへの移行を最適化する既知の成功した戦略はありますか。 そして、あなたはその問題に関する適切な文学に私を向けることができますか? 編集: 私はさらにいくつかのテストを実行しており、現時点でデータが限られているため、これはシステム固有の問題である可能性があります。同じサイズのボックス内で水ではなくメタノールを使用したテストでは、2つの異なる初期速度スキームが同じ平均エネルギーにすぐに収束することがわかりました。ただし、メタノールの場合、古典的な構成は量子構成に非常に近くなりました。つまり、t = 0のエネルギーは収束後の平均エネルギーに非常に近くなりました。水は悪名高い難しいシステムであるため、この問題は多かれ少なかれ水特有のものです。回答が追加されていない場合、すべてのテストが終了したら、結果に基づいて回答を投稿してみます。

2
フォンノイマンの安定性分析は、非線形有限差分方程式について何を教えてくれますか?
以下の非線形方程式u t + u x + u u x − u x x t = 0 を有限差分法を使って解く論文[1]を読んでい ます。また、フォンノイマンの安定性分析を使用してスキームの安定性を分析します。ただし、作成者が認識しているように、これは線形PDEにのみ適用できます。したがって、著者は非線形項を「フリーズ」することでこれに対処します。つまり、u u x項をU u xに置き換えます。ここで、Uは「あなたt+ uバツ+ u uバツ− Ux x t= 0あなたt+あなたバツ+あなたあなたバツ−あなたバツバツt=0\begin{equation} u_t + u_x + uu_x - u_{xxt} = 0 \end{equation}U Uバツあなたあなたバツuu_xUあなたバツUあなたバツUu_xUUU。」あなたあなたu だから私の質問は2つあります: 1:この方法を解釈する方法となぜそれが機能しない(しない)のか? 2:項をu U x項で置き換えることもできます。ここで、U xは「u xの局所的に一定の値を表すと見なされます」?U Uバツあなたあなたバツuu_xu UバツあなたUバツuU_xUバツUバツU_xあなたバツあなたバツu_x 参考文献 …

1
ラインサーチを実行できない場合の適応勾配降下ステップサイズ
値に依存する目的関数があります。ここで、はPDEの解です。PDEの初期条件である勾配降下によってを最適化しています。つまり、を更新し、PDEを統合して残差を計算する必要があります。つまり、勾配降下ステップサイズ(と呼びます)のラインサーチを実行する場合、すべての潜在的な値について、PDEをもう一度統合する必要があります。EEEϕ(x,t=1.0)ϕ(x,t=1.0)\phi(x, t = 1.0)ϕ(x,t)ϕ(x,t)\phi(x, t)EEEϕ(x,t=0.0)ϕ(x,t=0.0)\phi(x, t = 0.0)ϕ(x,t=0.0)ϕ(x,t=0.0)\phi(x, t = 0.0)αα\alphaαα\alpha 私の場合、それは法外に高価になるでしょう。適応型勾配降下ステップサイズの別のオプションはありますか? 私はここで数学的に原理的なスキームを探しているだけではありません(もちろん、何かが存在する場合はそれよりも優れています)が、一般に静的ステップサイズよりも優れているものであれば何でも満足します。 ありがとう!

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