29

.NET/C# 用の優れた (十分にテストされ、完全な機能を備え、理想的には優れたインターフェイスを備えた) マトリックス ライブラリを探しています。ここでの私の主な要件は、無料であること (この場合はオープンソースかどうかは特に気にしません) と、できれば疎行列演算をサポートすることだけです。必須要件は、すべての基本演算 (乗算、転置、反転など) と、固有値と固有ベクトルの検索です。固有値を発見するための解析的手法ではなく数値的手法の実装、特にランチョス アルゴリズム疎行列の場合、これから扱う行列が非常に大きく (10,000 以上の長さ)、正方行列であり、適度に疎であるため、非常に望ましいでしょう。そうは言っても、私はそこに少し多くを求めている可能性があるので、合理的に完全な行列ライブラリの提案は素晴らしいでしょう.

現在、Python にはそのようなタスク (つまりNumPy / SciPy ) に役立つライブラリが 1 つまたは 2 つあることを認識していますが、残念ながら .NET にはその分野が欠けているようです。

少し検索すると、.NET 用の次のライブラリが見つかりました。これを使用できる可能性があります。

ただし、私はこれらのライブラリやその他のライブラリを使用した経験がまったくないため (いずれにせよ、それぞれを適切にチェックするのに十分な時間がありません)、さまざまなライブラリに関する推奨事項について議論できる人がいれば、非常にありがたいです。 、特に私の用途への適合性に関する長所/短所、およびそれらの一般的な経験.

MatLab に頼ることは常にオプションですが、優先されるものではありません。行列の計算を自分のプログラムに直接統合できればはるかに便利だからです。

4

9 に答える 9

10

編集:

前回評価したときはそうではありませんでしたが、かなりの活動があったため、(無料でオープン ソースの) Math.NET Numericsも検討する必要があります。

今見てみると、彼らは新しいバージョンを完成させ、疎行列のサポートやその他の素晴らしい機能を追加したようです。


より堅牢なサポートが必要な場合は、残念ながら、.NET atm の商用パッケージを入手する必要があります。

非常に機能豊富な 2 つのパッケージがあり、どちらもマトリックスを非常によくサポートしています。 Extreme Numericsはうまく機能し、いくつかの非常に優れた機能を備えています。また、 IMSL Visual Numerics数学ライブラリについて非常に良いことも聞いています。

于 2009-05-08T15:41:45.523 に答える
3

ILNumericsを試してください:私たちは関係を持っています。オープンソースプロジェクトとしての長い歴史と、より優れた信頼性の高いサポートのために最近商用ライセンスに変更されました。私は偏見がありますが、ここに短い機能リストがあります:

  • より良いメモリ管理、したがって...
  • はるかに高速なアルゴリズム
  • 線形代数にMKLを使用
  • n-dim配列クラス、Matlabと同様の構文
  • 3Dプロットコントロール
  • 32/64ビットのサポート
  • モノラルのサポート
  • 全機能リスト
于 2012-02-28T22:45:07.760 に答える
2

過去にMapackを使用しましたが、非常に優れていることがわかりました.

ただし、スパース行列はないと思いますが、基本的な線形代数関数はすべてサポートしています。

于 2009-05-08T15:37:48.637 に答える
2

別の代替手段: IMSL for .NET。CenterSpace にはNMathライブラリがありますが、これらは使用していません。

于 2009-05-08T15:42:37.423 に答える
1

math.net iridium を検討しましたか?

http://iridium.mathdotnet.com/

于 2009-11-05T15:13:08.973 に答える
1

大学のニューラル ネットワーク プロジェクトで Mapack (COM バージョンではなく .Net ポート) を使用しました。ライブラリの詳細を正確に思い出せませんが、必要なことはすべて実行され、特に面倒なことはありませんでした。

于 2009-05-08T15:38:40.787 に答える
1

Meta.Numerics ( codeplex でホスト)は、非対称行列の固有値と固有ベクトルを計算する無料のパッケージですが、現在、疎行列を特別に扱っていません。

于 2009-05-09T22:55:13.177 に答える
0

.NETとPythonに関しては、IronPythonを使用できます。ただし、 SciPyとNumPyをIronPythonで動作させるには、 Ironcladも必要です。

于 2009-07-25T15:25:55.867 に答える
0

現在は廃止されたManagedDirectXライブラリには、いくつかのマトリックスサポートがありました。

それ以来、それはMicrosoft XNAに組み込まれていますが、これはおそらくあなたには適していませんが、MDX Wikipediaの記事では、 SlimDXと呼ばれる問題がないものを推奨しています。

于 2009-05-08T15:34:06.510 に答える