計算科学

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

2
高価な2D関数の等値線をトレースする
私はこの投稿と同様の問題を抱えていますが、いくつかの顕著な違いがあります: 2D関数を適応的にサンプリングするための簡単な方法は何ですか? その投稿のように: 私はを持っており、この関数の評価は計算にいくらか費用がかかりますf(x,y)f(x,y)f(x,y) その投稿とは異なり: どこでも正確に関数の値に興味があるのではなく、関数の単一の等高線を見つけることにのみ興味があります。 関数の自己相関、そしてその結果として滑らかさのスケールについて、私は重要な主張をすることができます。 この関数に沿ってステップ/サンプリングしてこの輪郭を見つけるインテリジェントな方法はありますか? 詳しくは 関数は、計算されHaralick特長上に分類器/回帰何らかのによってポイント、ソフト分類を囲むpixles。これの出力は、ポイントが属するテクスチャ/マテリアルを示す浮動小数点数です。この数値のスケーリングは、推定クラス確率(SoftSVMまたは統計手法など)または線形/ロジスティック回帰の出力のような非常に単純なものです。分類/回帰は、画像からの特徴抽出にかかる時間に比べて正確で安価です。NNN を取り巻く統計は、ウィンドウが通常は重複領域をサンプリングしているため、近くのサンプル間に有意な相関があることを意味します。(私も象徴/数値的に近づくことができるもの)従って、これは、より複雑な機能と考えることができるより大きいより近傍に関連する推定値を与える(高度に相関する)、およびAが小さいほど、変数は大きくなりますが、より局所的な推定になります。 NNNf(x,y,N)f(x,y,N)f(x, y, N)NNNNNN 私が試したこと: ブルート計算-うまく機能します。定数 95%正しいセグメンテーション。その後、標準的な方法を使用して輪郭を描くと、結果は素晴らしいものになります。これには永遠にかかります。サンプルごとに計算された特徴を簡略化できますが、理想的にはこれを避けて、特徴空間の異なる部分に違いが現れるテクスチャのある画像にこのコードを一般的に維持します。 NNN ダムステッピング-各方向に1ピクセルの「ステップ」を取り、等値線値への近さに基づいて移動する方向を選択します。それでもかなり低速で、等値線の分岐は無視されます。また、グラデーションがフラットな領域では、「さまよう」または2倍に戻ります。 私は最初のリンクで提案された細分割のようなことをしたいと思っていますが、関心のある等値線を囲むボックスを剪定しました。も活用できると思いますが、どうすればいいのかわかりません。 NNN

3
Fortran 95とLAPACKを使用した実際の非対称行列の行列指数
最近、スキューエルミート行列について同じ質問をしました。その質問の成功に触発され、数時間壁に頭をぶつけた後、本当の非対称行列の行列指数を調べています。固有値と固有ベクトルを見つける方法はやや複雑で、迷ってしまったようです。 背景:先ほど、私は理論物理学SEについてこの質問をしました。その結果、マスター方程式を実際の非対称行列として表現できます。時間に依存しないケースでは、マスター方程式はこの行列をべき乗することによって解かれます。時間に依存するケースでは、統合が必要になります。現時点では、時間に依存しないことだけに関心があります。 様々なサブルーチンを見ている時に、私は私が呼び出しされるべきだと思う(?gehrd、?orghr、?hseqr ...)それから行列をキャストする方が簡単だろう場合、それは不明であるreal*8とcomplex*16、これらのルーチンの複雑な二重のバージョンでと進み、またはreal*8、私の配列の数を2倍にして、後でそれらの複雑な行列を作成するという制限を守ってください。 では、どのルーチンを(どのような順序で)呼び出す必要があり、実際のdoubleバージョンまたは複素doubleバージョンを使用する必要がありますか?以下は、実際のダブルバージョンでこれを行う試みです。の固有値と固有ベクトルを見つけるのに行き詰まっていL*tます。 function time_indep_master(s,L,t) ! s is the length of a side of L, which is square. ! L is a real*8, asymmetric square matrix. ! t is a real*8 value corresponding to time. ! This function (will) compute expm(L*t). integer, intent(in) :: s real*8, intent(in) :: …

1
異なるプロセッサで生成された値から行列システムを並列に組み立てて解決する方法は?
異種マルチスケール法(HMM)を使用してマルチスケール問題を解決しています。基本的に、私の特定の手順では、次の反復プロセスを使用します。 多くのローカル行列システムを解きます。 ローカルシステムのソリューションから関心のある値を計算します。 ローカルの「関心のある値」からグローバルマトリックスシステムを組み立てる グローバルマトリックスシステムを解く グローバルマトリックスシステムの解を使用して、新しいローカルマトリックスシステムを形成します。 いくつかの収束基準が満たされるまで繰り返します。 ローカルの(独立した)線形連立方程式は多数あり、複数のシステムがローカルRAMメモリに収まるので、複数の「ローカル」システムを各プロセッサにロードし、各システムを順番に解くことをお勧めします(この投稿された質問を参照)。 私の質問は、グローバルマトリックスシステムを組み立てて解決するための最良の戦略に関するものです。私の特定のケースでは、グローバルマトリックスシステムは、プロセッサのRAMメモリに完全に収まるほど小さいです。さらに、ローカル行列とグローバル行列は、反復の間にサイズを変更しません。したがって、私は3つの可能な戦略の1つを予測します。 「関心のある価値」を単一のプロセッサーに収集し、グローバルマトリックスシステムを1つのプロセッサーで順次アセンブル/解決します。 目的の値をすべてのプロセッサにコピーし、同じグローバルマトリックスシステムをすべてのプロセッサで順番にアセンブル/解決します。 各プロセッサがグローバルマトリックスの連続したブロックを生成するために必要な「関心のある値」を持っていると仮定すると、グローバルマトリックスのパーティションをローカルに組み立て、それらを並列に解くことができます。 各方法にはいくつかの利点/欠点があります。方法1では、解決フェーズで通信は必要ありませんが、ルートプロセッサとの通信がボトルネックになる可能性があります(特に大規模な場合)。方法2では、最初の方法よりもグローバルマトリックスをアセンブルするために、より多くのプロセッサ間通信が必要になる場合がありますが、解決フェーズまたはその後のローカルマトリックスアセンブリ段階では通信は必要ありません。方法3では、ローカルマトリックスまたはグローバルマトリックスのアセンブリにプロセッサ間通信は必要ありませんが、解決フェーズで必要です。 10310310^310310310^310310310^310310310^310310310^310310310^3

2
PDEの数値解法の進歩についていくために、どのジャーナルを読むべきですか?
多くのPDEを数値的に解きますが、応用数学は私の分野ではありません。私は、フィールドの最近の進展に追いつくために、どの応用数学ジャーナルを読むべきかについてまだ触れていません。 PDEを数値的に解く最近の進展に追いつくために読むのに良いジャーナルは何ですか?
10 pde  publications 

3
明示的な時間ステップスキームを使用して、ODEがスティッフであるかどうかを数値で決定できますか?
私はODEを持っています: あなた』= − 1000 u + s i n (t )u′=−1000u+sin(t)u'=-1000u+sin(t) u (0 )= − 11000001u(0)=−11000001u(0)=-\frac{1}{1000001} この特定のODEは分析的に硬いことを知っています。また、明示的な(順方向)時間ステップメソッド(Euler、Runge-Kutta、Adamsなど)を使用した場合、時間ステップが大きすぎると、メソッドが非常に大きなエラーを返すはずであることも知っています。だから、私は2つの質問があります: これは、一般に、エラー項の分析式が利用できない、または導出できない場合に、ODEがどのように決定されるのですか? 一般に、ODEが硬い場合、「十分に小さい」タイムステップをどのように決定しますか?

2
最大の大きさの固有値に対応する密行列の固有ベクトルを計算する最も効率的な方法は何ですか?
密な実対称正方行列があります。寸法は約1000x1000です。最初の主成分を計算する必要があり、これを行うのに最適なアルゴリズムは何であるのかと思います。 MATLABはArnoldi / Lanczosアルゴリズム(の場合eigs)を使用しているようです。しかし、それらについて読んだだけでは、行列がスパースではなく、最初の固有ベクトルのみに関心があるため、単純な累乗反復よりも利点があるかどうかわかりません。 この場合の最速のアルゴリズムは何ですか?

3
代数的マルチグリッドソルバーの延長および制限演算子の作成方法は?
私は、スパースであるが連帯構造のない線形連立方程式を解こうとしています。暗黙の有限差分スキームのマルチグリッドソルバーの原理を一般的な線形問題に拡張する方法があると聞いたことがあります(誤解しない限り、代数的マルチグリッドソルバーと呼ばれます)。それに関するいくつかの文献を読んだ後、私は有限差分スキームからのもののような縞模様の行列の素晴らしい構造を利用せずに、粗いグリッドと細かいグリッドの間を補間する方法(つまり、延長と制限)にまだ混乱しています。ヒューリスティックなものはありますか?誰でも例を挙げられますか?

1
逐次過緩和(SOR)メソッドを最適化するためのヒューリスティックはありますか?
私はそれを理解したように、連続オーバー緩和がAのパラメータを選択することによって動作しますと(準)ガウス・ザイデル反復と前のタイムステップでの値の線形結合を使用して...であることを 0≤ω≤20≤ω≤20\leq\omega\leq2 uk+1=(ω)ugsk+1+(1−ω)ukuk+1=(ω)ugsk+1+(1−ω)uk{u}^{k+1} = (\omega){u_{gs}}^{k+1} + (1-\omega)u^{k} ugsk+1ugsk+1{u_{gs}}^{k+1}は、任意のタイムステップでこのルールに従って更新された最新の情報が含まれているため、「準」と述べています。(ω=1ω=1\omega=1場合、これはまさにgauss-seidelです)。 いずれにせよ、空間分解能がゼロに近づくにつれて、ポアソン問題の2に近づく(反復が他よりも速く収束する)最適な選択でそれを読みましたωω\omega。同様の傾向が他の対称的で対角線的に支配的な問題に存在しますか?つまり、適応最適化スキームに埋め込むことなく最適にオメガを選択する方法はありますか?他の種類の問題に対する他のヒューリスティックはありますか?緩和不足(ω&lt;1ω&lt;1\omega<1)はどのような問題に最適ですか?

3
複雑な数値分析
実際の変数の関数の代わりに複雑な変数の関数を扱う場合、どの数値分析の状況がより多く/より少なく安定し、より速く/より遅く収束しますか、そうでなければまったく異なりますか?
10 algorithms 

5
ボロノイテッセレーションとDelaunayの三角形分割の問題は、どのように互いに双対ですか?
ボロノイ図はドローネ三角形分割問題の双対であるといつも言われてきました。彼らはどのような意味でお互いの双対になることができますか?二重問題(つまり、線形計画法)でも同じ答えが出るはずだと思いました。明らかに、2つの問題には同じ解決策がありません。どのようにしてそれらを双対と見なすことができますか?

2
放物線状偏微分方程式を解くいくつかの方法の安定性特性に関する良い参考資料はどこにありますか?
現在、私はCrank-Nicholsonアルゴリズムを使用するコードを持っていますが、タイムステッピングについてはより高次のアルゴリズムに移行したいと思います。クランクニコルソンアルゴリズムは、使用したいドメインで安定していることは知っていますが、他のアルゴリズムが安定していない可能性があることを心配しています。 アルゴリズムの安定領域を計算する方法を知っていますが、それはちょっと面倒なことです。放物線状偏微分方程式の多数のタイムステッピングアルゴリズムの安定性の特性に関する優れたリファレンスを知っている人はいますか?

2
2次の六面体有限要素には8ガウスポイントが必要ですか?
非物理モードを導入せずに、8ガウスポイント未満の六面体有限要素の2次精度を取得することは可能ですか?単一の中央ガウスポイントは非物理的なせん断モードを導入し、8ガウスポイントの標準的な対称配置は、四面体の離散化と比較して高価です。 編集:誰かが方程式を求めました。私が興味を持っている方程式は、動的または準静的な非線形弾性です。準静的方程式は ∇⋅P(∇ϕ)=0∇⋅P(∇ϕ)=0\nabla \cdot P\left(\nabla \phi \right) = 0 ϕ:Ω→R3ϕ:Ω→R3\phi : \Omega \to \mathbf{R}^3Ω⊂R3Ω⊂R3\Omega \subset \mathbf{R}^3P:R3×3→R3×3P:R3×3→R3×3P : \mathbf{R}^{3 \times 3} \to \mathbf{R}^{3 \times 3}P(F)=μ(F−F−T)+λF−TlogdetFP(F)=μ(F−F−T)+λF−Tlog⁡detF P(F) = \mu (F - F^{-T}) +\lambda F^{-T} \log \det F

1
複素平面の曲線上で直交する多項式
さまざまな重要な多項式のセット(Legendre、Chebyshevなど)は、いくつかの重みを付けて実際の区間で直交しています。複素平面の他の曲線と直交する既知の多項式のファミリーはありますか? たとえば、私は、たとえば円上で直交する次数nの多項式の基底を求めています − 1 + 経験(I T )−1+exp⁡(私t)-1 + \exp(it) 以下のための 。0 ≤ T &lt; 2 π0≤t&lt;2π0\le t< 2\pi 私がこれをここに投稿する理由は、複雑な平面の点上の多項式値の行列を含む数値問題があるためです。単項式の基準を使用すると、ほとんどのポイントセットで条件が非常に悪くなります。条件付けを改善するために別の基準を使用したいのですが、たとえばルジャンドルまたはチェビシェフ多項式を使用すると、複雑な平面の一般的な曲線の条件付けが改善されることは明らかではありません。

3
高速に計算されます、
どちらがより高速に計算されるかまたはlog a cまたはbababa^bログacloga⁡c\log_a c?a、b、cはb&gt;c√bcb\sqrt[b]{c}aaabbbcccです。b &gt; 1b&gt;1b>1 比較にはどのようなアルゴリズムを使用しますか?それらの複雑さは何ですか? 例えば、又はC ≈ BC ≡ Abc≡abc \equiv a^bC ≈ Abc≈abc \approx a^b この質問は、数学スタック交換質問へのコメントに触発されました。階乗へのスターリングの近似の目的は何ですか?。特に、mjqxxxx、トーマスアンドリュース、そして私が残したコメント。

1
「逆犯罪」というフレーズの最初の出現
逆問題の研究では、既知のパラメーターのセットから合成データセットを作成し、反転手法がそれらのパラメーターを再構築できるかどうかをテストするのが一般的です。その際、合成データに適切なレベルのランダムノイズを追加することが重要です。さらに、合成データの計算に使用される方法が有限差分または有限要素グリッドに基づいている場合、反転プロセスで同じグリッドを使用しないことも重要です。それ以外の場合、反転プロセスは、近似数値フォワードモデルを実際に反転しています。これを説明するために「逆犯罪」という言葉が使われてきました。 このフレーズは、私がこれらの問題に最初に興味を持ったときによく使われました。私はそれが1992年に発行された本のコルトンとクレスによる逆音響および電磁散乱理論の本に出ていることを知っています。このフレーズの以前の使用に興味があります。

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