Я ищу хорошую (хорошо протестированную, полнофункциональную и идеально с приятным интерфейсом) матричную библиотеку для .NET/C#. Мои основные требования здесь только в том, что он должен быть бесплатным (я не особо забочусь о том, является ли он открытым исходным кодом в этом случае) и предпочтительно поддерживает операции sparse matrix. Обязательными требованиями являются все основные операции (например, умножение, транспонирование, инверсия), а также поиск собственных значений & собственных векторов. Реализация численных, а не аналитических методов обнаружения собственных значений, в частности Lanczos algorithm для разреженных матриц, была бы весьма предпочтительной, так как матрицы, с которыми я собираюсь иметь дело, очень велики (длины 10 000 соответственно) как квадратный, а также достаточно разреженный. Говоря это, я мог бы просить немного о многом, поэтому любые предложения для достаточно полной библиотеки матриц были бы замечательными.Matrix Library for .NET
Теперь я знаю, что для таких задач у Python есть одна или две полезные библиотеки (а именно NumPy/SciPy), но, к сожалению, .NET, похоже, не хватает в этой области.
недолгих поисков оказался следующие библиотеки для .NET, которые я мог бы потенциально использоваться:
- Лутца Редера в Mapack
- DotNetMatrix (являться CodeProject)
- C# Matrix Library (Codeproject)
Однако, поскольку у меня не было опыта в использовании какой-либо из этих библиотек или других (и не достаточно времени для c я бы очень признателен, если бы кто-нибудь здесь мог обсудить свои рекомендации относительно различных библиотек, их плюсы и минусы, особенно в отношении пригодности для моих целей, и их общий опыт с ними.
Решение для MatLab всегда является вариантом, но не предпочтительным, поскольку было бы гораздо удобнее, если бы я мог интегрировать математическую матрицу непосредственно с моей программой.
Да, я начинаю подозревать, что ты прав. Коммерческие пакеты на самом деле не вариант, я боюсь, что я студент университета. Тем не менее, спасибо за рекомендации. – Noldorin
@Noldorin: Я бы написал Джереми в крайних цифрах и спросил, может ли он предоставить вам лицензию на исследования, так как вы студент, и это не используется в коммерческих целях. Это небольшая компания, и владелец кажется довольно дружелюбным и отзывчивым. (Он отлично подходит для поддержки, предпродажи и т. Д.) Это не может повредить. ;) –
@Noldorin: Я просто помню dnAnalytics и добавил его тоже. Это, наверное, лучший некоммерческий вариант. –