Библиотека линейных алгебр С#

Существует ли устойчивая линейная алгебра (точнее, векторы, матрицы, многомерные массивы и основные операции над ними) библиотека для С#?

Поиск дал несколько библиотек с открытым исходным кодом, которые либо не обновляются в течение нескольких лет, либо находятся на ранней стадии бета-тестирования, и Centerspace NMath. Какие альтернативы стоит проверить?

Ответ 1

Math.NET. Мы используем его в производстве.

Ответ 2

Смотрите: 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 имеет порт с открытым исходным кодом Mapack.Net LAPACK.

http://www.extremeoptimization.com/ - Коммерческий.

Ответ 3

Мы оценили nMath и были весьма довольны его программируемостью и скоростью. Их вспомогательный персонал даже работал над выходными, чтобы выяснить ошибку, которую мы обнаружили. Нам понравилось, что они использовали библиотеку Intel Kernel Math вместо того, чтобы сворачивать свои собственные цифры. [Отредактировано добавлено: были использованы в производстве в течение многих лет]

Ответ 4

Я использую ILNumerics.NET

www.ilnumerics.net

Очень хорошая поддержка и стабильность. У меня нет никакого сравнения.

Ответ 5

Несколько недель назад я нашел новую библиотеку С# FinMath содержит реализации многих различных методов и методов, включая базовую линейную алгебру, такую ​​как:

  • Реализации Vector и Matrix (простые в использовании интерфейсы высокого уровня, охватывающие больше всего BLAS)
  • Алгоритмы матричных факторизации (LU, QR, SVD, Холецкий).

И многие другие полезные вещи, такие как статистика, фактор и кластерный анализ, линейный и квадратичный программный решатель и т.д.

К сожалению, он не бесплатный, но он очень быстрый, потому что он использует MKL для самых сложных вычислений и в то же время он распространяется как одиночный библиотека поддерживает как 32-битный, так и 64-битный режимы и не требует специального обслуживания для использования, например, заботы о родных библиотеках.

Ответ 6

Вы просмотрели dnAnalytics?

Ответ 7

.Net Matrix - это аналогичный вопрос, который вы можете посмотреть на ответы на другие идеи.

Ответ 8

Хотя он не обновляется, а не является открытым исходным кодом, а не для коммерческого использования, возможно, вы захотите проверить D * в Microsoft Research. Это очень крутая символическая математическая библиотека, особенно для создания деривативов, но на самом деле это немного матлаб в руках .NET-программиста.

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