69 votes

Recommandation pour la bibliothèque matricielle C#

J'ai besoin d'une bibliothèque C# pour traiter les matrices. Elle doit mettre en œuvre la décomposition de la valeur singulière, l'inversion de matrice, etc.

J'ai utilisé CSML auparavant, mais il ne met pas en œuvre certaines des fonctionnalités dont j'ai besoin.

Certaines de ses caractéristiques sont :
Décomposition en valeur singulière
Inversion matricielle
Trace
Déterminants

Bibliothèques suggérées (à partir des réponses)

(la plupart d'entre eux mettent en œuvre les fonctionnalités mentionnées ci-dessus)

32voto

Reed Copsey Points 315315

Math.NET Numérique est très bien, s'il supporte les opérations que vous voulez. L'ancien Math.Net Iridium offre toujours plus d'options. Aussi, dnAnalytics est très bien, mais n'est plus développé. (Elle, ainsi qu'Iridium, sont en cours de fusion dans Math.NET Numerics).

Du côté commercial, il existe de très bonnes et solides options. Le site Bibliothèques numériques d'optimisation extrême fonctionnent très bien. Le site Numérique visuel fonctionne également très bien (bien qu'avec une distribution basée sur des redevances...).

7voto

LBushkin Points 60611

Je crois que Math.NET possède la plupart des caractéristiques que vous mentionnez. Yuu voudra peut-être y jeter un coup d'oeil et voir s'il correspond à vos besoins.

Vous pouvez jeter un coup d'œil à la Échantillons d'iridium pour voir la syntaxe et le code d'exemple.

5voto

user492238 Points 2478

J'ai utilisé ILNumerics beaucoup. J'ai également apporté quelques contributions au projet. Il s'agit de la seule bibliothèque que je connaisse qui ne passe pas la moitié du temps CPU en GC pour calculs sérieux . Il est rapide et mature. Voir l'intégralité liste des fonctionnalités .

2voto

Romeo Points 2251

En plus des bibliothèques mentionnées dans d'autres billets, je peux dire quelques mots chaleureux sur FinMath bibliothèque. Il s'agit d'une bibliothèque assez récente, mais d'après mon expérience, elle présente plusieurs avantages. Il est très facile d'utiliser cette bibliothèque. Premièrement, elle n'a qu'un seul fichier exécutable (*.dll) pour les systèmes d'exploitation 32 et 64 bits. Deuxièmement, elle est construite au-dessus de la bibliothèque Intel Math Kernel Library bien connue et offre donc de très bonnes performances. L'API .NET gérée fournie par cette bibliothèque est également très étendue et flexible. Mais il s'agit d'un logiciel propriétaire qui coûte très cher. Il lui manque également certaines fonctionnalités (par exemple, par rapport à NMath de CenterSpace Software). Quoi qu'il en soit, cela vaut la peine de l'essayer.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X