計算科学

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

2
FEMで、剛性マトリックスが正定であるのはなぜですか?
FEMクラスでは、通常、剛性マトリックスが正定であることが当たり前とされていますが、その理由を理解できません。誰か説明してもらえますか? 例えば、我々は、ポアソン問題を考えることができます: その剛性行列である: K I J = ∫ Ω ∇ φ I ⋅ ∇ φ jを−∇2u=f,−∇2u=f, -\nabla^2 u = f,Kij=∫Ω∇φi⋅∇φjdΩ,Kij=∫Ω∇φi⋅∇φjdΩ,K_{ij} = \int_\Omega\nabla\varphi_i\cdot\nabla\varphi_j\, d\Omega, 対称正定です。対称性は明白な特性ですが、正の明確さは私にはそれほど明白ではありません。

3
2次テンソル場可視化ソフトウェア
テンソル可視化ソフトウェアで利用可能な概要はありますか? 私の個人的な好みは: 無料で十分に文書化されたソフトウェアであり、さまざまな物理的な2次(または高次)テンソルフィールドの視覚化手法を提供します。 興味のあるいくつかのモジュール ハイパーストリームライン(固有ベクトル統合法) 固有ベクトルではなく、方向としての測地線 トポロジー法(例えば、等しい固有値、つまり縮退点の処理、有限ルピノフ指数の抽出) テンソル楕円体 テクスチャベースの視覚化(HyperLIC、物理ベースの方法) 非対称テンソルフィールドの処理(テンソルフィールドの対称部分と反対称部分への分解、および結果の可視化の再接着、または直接的なアプローチ) テンソルフィールドの物理特性に応じて、データを可視化するためにさまざまな方法が必要です。 Mayaviについては知っていますが、テンソルモジュールに関するドキュメントはほとんどなく、モジュールはハイパーストリームライン(単数)の可視化に限定されています。GUIはバグが多く、スクリプトオプションは制限されているようです。 テンソル場の可視化には非常に悲惨な選択があるようです。

1
以下のための反復「ソルバー」
私が次の問題について最初に考えるとは思えないので、リファレンスで満足します(ただし、完全で詳細な回答は常に高く評価されます)。 あなたは対称正定持っていると言う。nは非常に大きいと考えられるため、Σをメモリに保持することは不可能です。ただし、評価することができますΣは、xは任意のため、X ∈ Rのn個。与えられたいくつかのx ∈ R nは、あなたが検索したいのx T Σ - 1のx。Σ∈Rn×nΣ∈Rn×n\Sigma \in \mathbb{R}^{n \times n}nnnΣΣ\SigmaΣxΣx\Sigma xx∈Rnx∈Rnx \in \mathbb{R}^{n}x∈Rnx∈Rnx \in \mathbb{R}^{n}xtΣ−1xxtΣ−1xx^t\Sigma^{-1}x 心に来る最初の解決策は見つけることです(例えば)共役勾配を使用しました。ただし、これは多少無駄が多いようです。スカラーを探すと、R nに巨大なベクトルが見つかります。(つまり、通過せずに直接スカラーを計算する方法を考え出すために、より理にかなっているようだΣ - 1 xと)。このような方法を探しています。Σ−1xΣ−1x\Sigma^{-1}xRnRn\mathbb{R}^{n}Σ−1xΣ−1x\Sigma^{-1}x

2
時間依存PDEの時空間有限要素離散化
FEMの文献では、時間に依存するPDEのソリューションでは、通常、準変分法が使用されます。完全に変分的なアプローチ、つまり、FEMによって空間と時間が離散化され、構造化されていない時空間メッシュの使用を可能にするアプローチを見たことはありません。タイムステッピングメソッドの方が実装が簡単かもしれませんが、時空間メッシュが実行できない特別な理由はありますか?特定の問題の物理的特性を尊重するためにメッシュを調整する必要があると思いますが、確実ではありません。

2
「完全に長方形ではない」グリッド上のマルチグリッド
マルチグリッドの導入では、通常、長方形のグリッドを使用します。次に、値の補間は単純です。粗いグリッドの2つの隣接するノード間のエッジを直線的に補間して、そのエッジ上の細かいグリッドノードの値を見つけます。 FEMアプリケーションの場合、「トポロジー的に」長方形のグリッドがあるので、ノード接続は長方形グリッドと同じです。ただし、ノードはグリッド上で完全に整列しているわけではありませんが、ジオメトリをより適切にフィットさせるために短い距離を移動する一方で、完全な長方形グリッドのように接続を維持します。 メッシュは次のようになります。メッシュの例。コネクションは「通常の長方形」ですが、ノードの位置はそうではありません。 このような設定で、いくつかの「妥当な」幾何学的補間スキームをイメージできます。 一般的な質問は次のとおりです。マルチグリッドは完全に整列した長方形グリッドを必要としますか、それとも補間が「良好」である限り、上記の状況でも機能しますか?それとも、その場合は代数的マルチグリッドを使用する方が良いですか?(幾何学的なマルチグリッドほど直感的ではないので、私は好みません。)
9 multigrid 

1
線の方法を使用してすべてのPDEを離散化できますか?
私は線の方法がPDEの離散化について考える非常に自然な方法であることを発見しました。したがって、新しい方程式のセットが提示されたとき、私は常にその考え方にデフォルトを設定します。これが機能しないPDEを見たことがありません。 線の方法では定式化できない離散化の方法(またはPDEのタイプ)があるかどうかと思います。時間微分が方程式で暗黙的であり、解くことができないすべてのPDEがそのようなケースの1つになると思います(ただし、実際の例はわかりません)。線の方法が常に適用できる理由についての推論または反例を探しています。

2
計算流体力学における機械学習の使用
背景: コースでは、2d Navier-Stokesの実用的な数値解を1つだけ作成しました。これは、蓋​​駆動のキャビティフローのソリューションでした。ただし、このコースでは、空間的離散化と時間的離散化のスキーマについて説明しました。また、NSに適用されるシンボル操作のコースワークも取り入れました。 PDEから有限差分への分析/記号方程式の変換を処理する数値アプローチには、次のようなものがあります。 オイラーFTFS、FTCS、BTCS 緩い ミッドポイントリープフロッグ Lax-Wendroff マコーマック オフセットグリッド(空間拡散により情報が広がる) TVD 当時、私には、これらは「挿入名がスキームを見つけて、たまたま機能する」ように見えました。これらの多くは「豊富なシリコン」の時代以前のものでした。これらはすべて近似値です。限界で彼ら。理論的には、PDEにつながります。 直接数値シミュレーション(DNS)は楽しいものであり、レイノルズ平均ナビエストークス(RANS)も楽しいものですが、これらは計算上扱いやすく、現象を完全に表現する連続体の2つの「エンドポイント」です。これらの内部に住むアプローチには、複数のファミリーがあります。 講義で、CFDの教授に、ほとんどのCFDソルバーはきれいな絵を描くと言われましたが、ほとんどの場合、これらの絵は現実を表していないため、現実を表しています。 (私が理解しているように、網羅的ではない)開発のシーケンスは次のとおりです。 支配方程式から始める-> PDE 空間的および時間的離散化を決定->グリッドおよびFDルール 初期条件と境界条件を含むドメインに適用する 解く(行列の反転に関する多くのバリエーション) 全体的なリアリティチェックを実行し、既知のソリューションに適合させるなど。 分析結果から派生したいくつかのより単純な物理モデルを構築する それらをテストし、分析し、評価する 繰り返す(ステップ6、3、または2にジャンプして戻る) 考え: 私は最近、CARTモデル、斜めツリー、ランダムフォレスト、および勾配ブーストツリーで作業しています。それらはより数学的に導き出されたルールに従い、数学は木の形を動かします。彼らは、離散化された形をうまく作るように働きます。 これらの人間が作成した数値アプローチはいくらか機能しますが、その結果をモデル化することを意図している物理現象に関連付けるために必要な広範な「ブードゥー教」があります。多くの場合、シミュレーションは実際のテストと検証に実質的に取って代わりません。間違ったパラメーターを使用したり、実際の世界で経験したジオメトリやアプリケーションパラメーターの変動を考慮に入れたりするのは簡単です。 質問: 問題の性質に 適切な離散化、空間的および時間的差分スキーム、初期条件、またはソリューションを定義させるためのアプローチはありましたか? 機械学習の手法と組み合わせた高精細ソリューションを使用して、ステップサイズがはるかに大きいが収束、精度などを維持する差分スキームを作成できますか? これらのスキームはすべて、アクセスしやすい「人為的に導き出すのが容易」です-それらにはいくつかの要素があります。より良い仕事をする何千もの要素を持つ差分スキームはありますか?それはどのように導出されますか? 注:別の質問で、(分析的にではなく)経験的に初期化され、経験的に導出されたものをフォローアップします。 更新: 深層学習を使用して、格子ボルツマンフローを加速します。特定のケースで最大9倍のスピードアップ Hennigh、O.(プレスリリース中)Lat-Net:ディープニューラルネットワークを使用した圧縮格子ボルツマンフローシミュレーション。取得元:https : //arxiv.org/pdf/1705.09036.pdf コード付きのレポ(私は思う):https : //github.com/loliverhennigh/Phy-Net 同じハードウェアで、GPUよりも約2桁高速、CPUよりも4桁高速、つまり〜O(10,000x)高速です。 Guo、X.、Li、W.&Ioiro、F. Convolutional Neural Networks for Steady Flow Approximation。取得元:https …

1
ネストされた前提条件子のガイドライン
事前調整されたクリロフ法を使用して線形システムを解きたいが、前提条件子自体を適用することは、別の事前調整されたクリロフ法で行われる補助システムを解くことを含む状況を考慮してください。 極端な例として、内側のソルバを実行して、外側のソルバの各ステップ内で収束させることができます。 もう一方の極端では、内部ソルバをまったく実行できませんでしたが、代わりにそれを内部プレコンディショナに置き換えます。 途中のどこかで、一定の反復回数の後、または特定の許容誤差が達成された後に、内側のクリロフループを切り捨てることができます。 経験的に、私は最初の極端が優れている状況と、2番目の極端が優れているさまざまな状況(合計コストに関して)に遭遇しました。ただし、特定の状況で1つの戦略が他の戦略よりも優先される理由は明確にはわかりません。 これらの異なる戦略が望ましい場合についてのガイダンスまたは理論はありますか?

2
数値的に弱い収束はどのように感じますか?
無限次元のヒルベルト空間またはバナッハ空間に問題があり(PDEまたはそのような空間における最適化の問題だと考えて)、解に弱く収束するアルゴリズムがあるとします。問題を離散化し、対応する離散化アルゴリズムを問題に適用する場合、弱い収束はすべての座標での収束であり、したがって強い収束でもあります。私の質問は: この種類の強い収束は、元の無限アルゴリズムの古き良き単純な強い収束から得られた収束とは異なると感じますか? または、より具体的に: 「離散化された弱収束法」では、どのような悪い動作が発生する可能性がありますか? 私自身は通常、弱い収束しか証明できないときはあまり満足していませんが、これまでは、問題を離散化した問題をより高い次元にスケーリングしても、メソッドの結果に関する問題を観察できませんでした。 「最初の離散化より最適化」の問題と「最初の最適化より離散化」の問題には興味がなく、問題とすべてのプロパティを共有しない離散化問題にアルゴリズムを適用した場合に発生する可能性のある問題を認識しています。アルゴリズムの設計対象。 更新:具体的な例として、変数の最適化問題を検討し、それを(慣性)前方後方分割のようなもの、または弱い収束のみが知られている他の方法で解決します。離散化された問題では、同じ方法を使用できます。アルゴリズムを直接離散化した場合は、正しい離散化で同じアルゴリズムが得られます。離散化の精度を上げると、何が問題になるのでしょうか?L2L2L^2L2L2L^2

2
グローバルスパース有限要素スティフネスマトリックスでディリクレ境界条件を効率的に実装する方法
グローバルスパース有限要素行列のディリクレ境界条件が実際に効率的に実装される方法を知りたいです。たとえば、グローバルな有限要素行列が次のとおりだったとします K= ⎡⎣⎢⎢⎢⎢⎢⎢520− 102410001632− 1037000203⎤⎦⎥⎥⎥⎥⎥⎥と右側のベクトルb = ⎡⎣⎢⎢⎢⎢⎢⎢b 1b 2b 3b 4b 5⎤⎦⎥⎥⎥⎥⎥⎥K=[520−102410001632−1037000203]と右側のベクトルb=[b1b2b3b4b5]K = \begin{bmatrix} 5 & 2 & 0 & -1 & 0 \\ 2 & 4 & 1 & 0 & 0 \\ 0 & 1 & 6 & 3 & 2 \\ -1 & 0 & 3 & …

2
多くの独立した周期を持ち、閉じた形を持たない振動積分の評価
フォームの積分との契約について私が知っている振動積分のためのほとんどの方法 ここで ωが大きいです。∫f(x)eiωxdx∫f(x)eiωxdx \int f(x)e^{i\omega x}\,dx ωω\omega Iは、フォームの積分を使用している場合 ここで、 G kの振動その根のみ約知られている機能が、漸近形のいくつかの種類である G K(xは)〜E I ω K X 周波数で、知られている ω kは(とすべての異なる Qを -linearly独立)では、どうすればこの積分を評価できますか?∫f(x)g1(x)⋯gn(x)dx,∫f(x)g1(x)⋯gn(x)dx, \int f(x)g_1(x)\cdots g_n(x)\,dx, gkgkg_kgk(x)∼eiωkxgk(x)∼eiωkx g_k(x) \sim e^{i\omega_k x} ωkωk\omega_kQQ\mathbb{Q} 以下の場合と異なり、多項式積分∫ X A Π G K(X ) Iは、多項式補間値のセット構築することができないので、知られていないF (Xの)と正確に補間値を統合します。eiωxeiωxe^{i\omega x}∫xa∏gk(x)∫xa∏gk(x)\int x^a \prod g_k(x)f(x)f(x)f(x) gkgkg_kJ0(ωkx)J0(ωkx)J_0(\omega_k x)f(x)=xαf(x)=xαf(x)=x^\alpha[0,∞)[0,∞)[0,\infty)[xk−1,xk][xk−1,xk][x_{k-1},x_k]MMMgk(x)gk(x)g_k(x)xxxnnng1…gng1…gng_1\ldots g_nrrrrnrnr^nnnn ヒューリスティックな厳密でない答え、提案、参照はすべて歓迎されます。

2
境界条件チェビシェフ微分
チェビシェフ差別化を実装するときに、境界を扱う経験がある人がいるのではないかと思っていました。 私は現在、非スリップ境界条件を実装して、非圧縮性ナビエストークス方程式を3Dで解決しようとしています。これは、u(:、:、1)とuを設定するのと同じくらい簡単で、境界で流れがゼロであることを確認するためです。 (:、:、N)= 0は、教科書に示されているように、計算のすべての段階で(vとwについても同様に)示されます。これは、境界に流れがゼロであることによって境界の隣のポイントがどのように影響を受けるかを考慮していないようであり、アプローチがあまりに単純すぎるように見えます。 助けることができる人に感謝します。

1
ヘッセンベルク行列の指数を計算するアルゴリズム
[1]のように、クリロフ法を使用してODEのラージシステムの解を計算することに興味があります。このような方法には、指数関数に関連する関数(いわゆる関数)が含まれます。これは基本的に、Arnoldi反復を使用してクリロフ部分空間を作成し、この部分空間に関数を投影することにより、行列関数のアクションを計算することで構成されます。これにより、はるかに小さいヘッセンバーグ行列の指数を計算する問題が軽減されます。φφ\varphi 指数を計算するアルゴリズムがいくつかあることを知っています([2] [3]とその参照を参照)。行列がヘッセンバーグであることを利用できる指数を計算するための特別なアルゴリズムがあるのだろうか? [1] Sidje、RB(1998)。Expokit:行列指数を計算するためのソフトウェアパッケージ。ACM Transactions on Mathematical Software(TOMS)、24(1)、130-156。 [2] Moler、C。、およびVan Loan、C。(1978)。行列の指数を計算する19の疑わしい方法。SIAMレビュー、20(4)、801〜836。 [3]モーラーC.、およびバンローンC.(2003)。25年後のマトリックスの指数を計算する19の疑わしい方法。SIAMレビュー、45(1)、3-49。

2
非線形プログラミングでSQPが拡張ラグランジアンよりも優れているのはなぜですか?
Galahad [1]に関する技術レポートでは、著者は一般的な非線形計画問題との関連で、 私たちの心には、SQP [逐次二次計画法]メソッドが[拡張ラグランジュ法]よりも長期的に成功するという疑問はほとんどありませんでした... その信念の根拠は何でしょうか?つまり、SQP法が拡張ラグランジュ法よりも高速/信頼性が高いことを示唆する理論的な結果はありますか? [1] Gould、Orban、およびTointによる、大規模な非線形最適化用のスレッドセーフなFortran 90パッケージのライブラリであるGalahad

4
高速陽解、、低条件数
3x3線形実問題、高速な(最適と言えるでしょうか)陽解法を探しています。 A ∈ R 3 × 3、B ∈ R 3A x = bAx=b\mathbf{A}\mathbf{x} = \mathbf{b}A ∈ R3 × 3、B ∈ R3A∈R3×3,b∈R3\mathbf{A} \in \mathbf{R}^{3 \times 3}, \mathbf{b} \in \mathbf{R}^{3} 行列は一般的ですが、条件数が1に近い単位行列に近いです。は、実際には約5桁の精度のセンサー測定であるため、数値のために数桁を失ってもかまわない問題。bあA\mathbf{A}bb\mathbf{b} もちろん、任意の数の方法に基づいて明示的な解決策を見つけることは難しくありませんが、FLOPSカウントに関して最適であることが示されているものがあれば、それは理想的です(結局のところ、問題全体) FPレジスタに収まる可能性があります!)。 (はい、このルーチンは頻繁に呼び出されます。私はすでに低ぶら下がり果物を取り除いており、これは私のプロファイリングリストの次です...)

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