web-dev-qa-db-ja.com

C#線形代数ライブラリ

C#の安定した線形代数(より具体的には、ベクトル、行列、多次元配列、およびそれらの基本演算)ライブラリはありますか?

検索により、数年更新されていないか、ベータ段階の初期段階にあるいくつかのオープンソースライブラリとCenterspace NMathが生成されました。確認する価値のある選択肢はどれですか?

44
ima

Math.NET 。本番環境で使用しています。

25
Rinat Abdullin

参照: http://en.wikipedia.org/wiki/List_of_numerical_libraries

http://www.alglib.net/ -オープンソース。多言語ライブラリ。

http://www.mathdotnet.com/ -オープンソース。他の人が述べたように。この場合、dnAnalyticsは http://numerics.mathdotnet.com/ に置き換えられます。

http://www.lutzroeder.com/dotnet/ -Lutz RoederにはLAPACKのオープンソースポートMapack.Netがあります。

http://www.extremeoptimization.com/ -コマーシャル。

9
nietras

ILNumerics.NETを使用しています

www.ilnumerics.net

非常に良いサポートと安定しています。比較はしていません。

6
Marc

私たちはnMathを評価し、そのプログラム性と速度に非常に満足しています。彼らのサポートスタッフは、私たちが発見したバグを理解するために週末にわたって働きました。私たちは、彼らが独自の数値を転がすのではなく、Intelのカーネル数学ライブラリを使用したことを気に入りました。 [追加するために編集:何年も生産で使用されている]

4
Sebastian Good

数週間前、私は新しいc#ライブラリを見つけました FinMath には、次のような基本的な線形代数を含む多くのさまざまなメソッドとテクニックの実装が含まれています。

  1. VectorおよびMatrixの実装(ほとんどすべてをカバーする高レベルのインターフェイスを簡単に使用できます [〜#〜] blas [〜#〜] 機能)
  2. 行列分解のアルゴリズム(LU、QR、SVD、コレスキー)。

そして、統計、因子とクラスター分析、線形および二次計画ソルバーなどのような他の多くの有用なもの。

残念ながら無料ではありませんが、非常に高速です。これは、ほとんどの複雑な計算に [〜#〜] mkl [〜#〜] を使用すると同時に、単一のライブラリが32ビットと64ビットモードであり、ネイティブライブラリの扱いなど、使用するための特別なメンテナンスは必要ありません。

2
Wisdom's Wind

。Net Matrix は、他のアイデアの回答を確認したい場合と同様の質問です。

1
JB King

これは更新されておらず、オープンソースではなく、商用利用もできませんが、Microsoft ResearchのD *をチェックすることをお勧めします。特にデリバティブを行うためのsymbolic数学ライブラリですが、実際には.NETプログラマの手にある小さなmatlabです。

http://research.Microsoft.com/en-us/downloads/4714703d-782c-4e37-830d-0e3b7662f74

1
Ziriax

dnAnalytics を調べましたか?

1
cletus