web-dev-qa-db-ja.com

C#マトリックスライブラリの推奨事項

行列を処理するにはC#ライブラリが必要です。特異値分解、行列反転などを実装する必要があります

以前に [〜#〜] csml [〜#〜] を使用しましたが、これは必要な機能の一部を実装していません。

機能の一部は次のとおりです。
特異値分解
行列の反転
トレース
決定要因

推奨ライブラリ(回答より)

(それらのほとんどは上記の機能を実装しています)

68
jose

Math.NET Numerics は、必要な操作をサポートしている場合、非常に便利です。古いMath.Net Iridiumは、さらに多くのオプションをサポートしています。また、 dnAnalytics は非常にいいですが、開発されていません。 (イリジウムと同様に、Math.NET Numericsに統合されています。)

商業面では、非常に優れた堅牢なオプションがいくつかあります。 Extreme Optimization Numerical Libraries は非常にうまく機能します。 Visual Numerics ライブラリも非常にうまく機能します(ただし、ロイヤリティベースのディストリビューションでは...)。

31
Reed Copsey

Math.NET には、あなたが言及したほとんどの機能があると思います。 Yuuはそれを見て、それがあなたのニーズに合っているかどうかを見たいかもしれません。

Iridium samples を見て、構文とサンプルコードを確認できます。

6
LBushkin

ILNumerics をたくさん使用しています。また、プロジェクトにいくつかの貢献をしました。それは、私が知っている唯一のライブラリであり、GCでCPU時間の半分を 深刻な計算 に費やしていません。その高速で成熟した。完全な 機能リスト を参照してください。

5
user492238

他の投稿で言及されているライブラリに加えて、 FinMath libraryについて温かい言葉をいくつか言うことができます。それはかなり新しいライブラリですが、私の経験によると、いくつかの利点があります。このライブラリを使用するのは非常に簡単です。まず、32ビットと64ビットの両方のオペレーティングシステム用の実行可能ファイル(* .dll)は1つだけです。第二に、よく知られているIntel Math Kernel Libraryの上に構築されているため、非常に優れたパフォーマンスを提供します。このライブラリが提供するマネージ.NET APIも非常に広範囲で柔軟です。しかし、プロプライエタリなソフトウェアであり、かなりの費用がかかります。また、いくつかの機能もありません(例: NMath CenterSpace Softwareからの比較)。とにかく、試してみる価値があります。

2
VHaravy