Библиотека линейной алгебры C#
-
23-08-2019 - |
Вопрос
Существует ли стабильная библиотека линейной алгебры (точнее, векторов, матриц, многомерных массивов и основных операций над ними) для C#?
Поиск выявил несколько библиотек с открытым исходным кодом, которые либо не обновлялись в течение нескольких лет, либо находятся на ранней стадии бета-тестирования, а также Centerspace NMath.Какие альтернативы стоит проверить?
Решение
Математика.NET.Мы используем его в производстве.
Другие советы
Видеть: 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/ - У Лутца Рёдера есть порт Mapack.Net с открытым исходным кодом для LAPACK.
http://www.extremeoptimization.com/ - Коммерческий.
Я использую ILNumerics.NET.
Очень хорошая и стабильная поддержка.Хотя у меня нет никакого сравнения.
Мы оценили nMath и остались весьма довольны его программируемостью и скоростью.Их сотрудники службы поддержки даже работали на выходных, чтобы выяснить найденную нами ошибку.Нам понравилось, что они использовали библиотеку Intel Kernel Math вместо собственных вычислений.[Отредактировано, чтобы добавить:уже много лет используем в производстве]
Несколько недель назад я нашел новую библиотеку С#. ФинМатематика содержит реализации множества различных методов и приемов, включая базовую линейную алгебру, такие как:
- Векторные и матричные реализации (простые в использовании интерфейсы высокого уровня, охватывающие большую часть БЛАС функциональность)
- Алгоритмы матричных факторизаций (LU, QR, SVD, Cholesky).
И много других полезных вещей, таких как статистика, факторный и кластерный анализ, решатель линейного и квадратичного программирования и т. д.
К сожалению, это не бесплатно, но очень быстро, поскольку использует МКЛ для самых сложных вычислений и в то же время распространяется как одна библиотека, поддерживает как 32-битные, так и 64-битные режимы и не требует специального обслуживания, например, заботы о собственных библиотеках.
Вы рассмотрели днАналитика?
.Сетевая матрица это аналогичный вопрос, на который вы, возможно, захотите посмотреть ответы на другие идеи.
Хотя он не обновляется, не имеет открытого исходного кода и не предназначен для коммерческого использования, можно попробовать D* от Microsoft Research.Это очень круто символический математическая библиотека, специально для выполнения производных, но на самом деле это небольшая Matlab в руках .NET-программиста.
http://research.microsoft.com/en-us/downloads/4714703d-782c-4e37-830d-0e3b7662f743