Рекомендация для библиотеки матриц C# [закрыто]
Мне нужна библиотека C# для работы с матрицами. Он должен реализовывать сингулярную декомпозицию, инверсию матрицы и т. д.
Я использовал CSML раньше, но это не реализует некоторые из функций, которые мне нужны.
некоторые из особенностей:
Сингулярное разложение
Инверсия матрицы
След
Детерминанты
предлагаемые библиотеки (из ответов)
(большинство из них реализовать особенности, указанные выше)
математика .NET цифры для .NET, Silverlight и моно (С открытым исходным кодом)
Экстремальная Оптимизация Числовых Библиотек (коммерческой, очень
полный)
IL Numerics (коммерческих)
Deltix по FinMath численное библиотека (коммерчески, использует Intel®
Библиотека математического ядра (MKL) и интегрированная производительность Intel®
Примитивы (IPP))
легкий быстрый матричный класс В C# (алгоритм Штрассена, LU
разложение)
4 ответов:
Math.NET Цифры очень приятно, если он поддерживает операции, которые вы хотите. Чем старше Math.Net Iridium по-прежнему поддерживает больше опций. Кроме того,dnAnalytics довольно мило, но больше не разрабатывается. (Он, как и иридий, сливаются в Math.NET цифры.)
на коммерческой стороне, есть некоторые очень хорошие, надежные варианты. Элемент Экстремальная Оптимизация Числовых Библиотек работают очень хорошо. Элемент визуальный Цифры библиотека также работает очень хорошо (хотя и с распределением на основе роялти...).
Я верю, что Math.NET имеет большинство функций, которые вы упомянули. ЮУ может захотеть посмотреть на него и посмотреть, соответствует ли он вашим потребностям.
вы можете взглянуть на образцов иридия посмотреть синтаксис и пример кода.
Я использую ILNumerics много. Также сделал некоторые вклады в проект. Это по know-единственная библиотека, о которой я знаю, которая не тратит половину процессорного времени в GC для серьезных вычислений. Его быстрый и зрелый. Смотрите полностью список функций.
в дополнение к библиотекам, упомянутым в других сообщениях, я могу сказать несколько теплых слов о FinMath библиотека. Это довольно новая библиотека, но по моему опыту она имеет несколько преимуществ. Эта библиотека очень проста в использовании. Во-первых, он имеет только один исполняемый файл (*.dll) для 32-разрядных и 64-разрядных операционных систем. Во-вторых, он построен на основе известной библиотеки Intel Math Kernel и поэтому обеспечивает очень хорошую производительность. Управляемый .NET API, предоставляемый этим библиотека также очень обширна и гибка. Но, это несвободное программное обеспечение и стоит немалых денег. Он также не имеет некоторых функциональных возможностей (например, по сравнению с NMath из программного обеспечения CenterSpace). В любом случае, это стоит времени, чтобы попробовать его.
Comments