質問

私はいくつかの偏微分方程式を解くために私を必要とするプロジェクト(C#と.NET Frameworkの)に取り組んでいます。私が見ると私の仕事を簡単にすることができ、.NET Frameworkのに基づいて、特定のライブラリはありますか?

私は、MATLABと協力し、偏微分方程式を解くことが非常に簡単ですしています。どのように私はこの問題を解決することができますか?

役に立ちましたか?

解決

あなたは、MATLABで問題を解決し、 MATLABコンパイラの+ <を使用することができますあなたのアプリの残りの部分にリンクする.NETアセンブリを作成するためのhref =「http://www.mathworks.co.uk/products/netbuilder/」のrel =「nofollowをnoreferrer」>ビルダーNEツールボックスに。

他のヒント

あなたがそれらにアプローチする方法をあなたが解決したいのPDEに依存します。

私の知っているすべてのアプローチは、線形代数が必要になります。あなたは.NETのための優れたマトリックスパッケージ、あなたが見つけることができる最高の、効率的にスパースmatriciesを扱うことができるものを見つけたいと思うでしょう。

リニア楕円(定常状態拡散)、放物線(過渡拡散)、および双曲線(F = MA動的)PDEはわずかに異なるアプローチを必要とします。

これらのPDEのすべての3つは、あなたが解決したいシステム行列を作成するために、古典的な有限差分、有限要素(重み付き残差)、または境界要素(グリーン関数)を使用することができます。一般的な非線形偏微分方程式は、おそらく最高の有限要素/加重残留技術を使用して攻撃されます。

しかし、あなたがそれらを離散化後放物線と双曲線PDFはして常微分方程式の結合されたセットになります。あなたは、繰り返し時間発展を解決するための過渡的な統合を行う必要があります。パラボリックて常微分方程式は、時間の最初のオーダーです。双曲線常微分方程式は、時間的に二次である。

私はCUDAとNVIDIAについて学びました。お使いの言語のためのCUDAバインディングに見たいと思うかもしれません。

これらのすべては、自分自身がたに大きなトピックです。それがここに一遍の概要以上のものを与えることはできませんので、いくつかのソースのためにGoogleにしてください。

UPDATE:私は最近、マイクロソフトソルバー財団のを意識するようになりました。私はそれに自分自身を見ていないが、おそらくそれは、この問題を解決するには、C#の開発者に役立つことと思います。

もう一つの提案は、 AlgLib のです。あなたが必要なものを見つける必要があり、包括的なライブラリとは異なり、AlgLibはすべてalgoritmsが分離され、そして多くの場合(ほとんど/すべてのケースでのC#を含む)複数の言語で提供されるので、私はこれが好きです。計算AlgLibがカバーしています:

        Euler's method
        Runge-Kutta method
        Runge-Kutta method for a system of ODEs
        Bulirsch-Stoer method for a system of ODEs
そのライセンスがAlgLib免許を持つimcompatible可能性があるので、

注意の言葉は、しかし... AlgLibでこれらのアルゴリズムをチェックすると、私は(GPLである、私は信じている)、それらは(AlgLibにより)もはやサポートされていなかったと指摘しました。

これは、 http://www.mathdotnet.com/About.aspxするをチェックあなたが必要なものがあります。しかし、私はあなたのアプリケーションの要件のための最高のライブラリを取得して、.NETアプリケーションにそれをインタフェースする必要がある疑いがある..

あなたはおそらく、(あなたが言語や数学のいずれかを学ぶために使用した場合を除く)。このようなことを事前に缶詰のライブラリの数があることがわかります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top