Библиотека линейной алгебры C # - PullRequest
43 голосов
/ 25 декабря 2008

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

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

Ответы [ 8 ]

24 голосов
/ 25 декабря 2008

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

8 голосов
/ 08 февраля 2010

См .: 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 of LAPACK.

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

4 голосов
/ 21 июня 2011

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

www.ilnumerics.net

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

4 голосов
/ 19 апреля 2009

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

2 голосов
/ 24 ноября 2011

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

  1. Векторные и матричные реализации (простые в использовании высокоуровневые интерфейсы, охватывающие больше всего BLAS функциональность)
  2. Алгоритмы матричной факторизации (ЛУ, QR, СВД, Холецкий).

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

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

1 голос
/ 19 марта 2013

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

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

1 голос
/ 26 декабря 2008

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

1 голос
/ 25 декабря 2008

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

...