Существуют ли какие-либо оптимизированные решения Sparse Matrix в С#?

Существуют ли оптимизированные Редкие матрицы в С#?

Ответ 1

Существует Math.NET.

У него есть несколько запасных матриц реализация. (ссылка на старый сайт Math.NET. Больше нет онлайн-версии документации).

Ответ 2

Если вы ищете высокоэффективную разрешенную матричную реализацию, проверьте NMath из программного обеспечения CenterSpace.

Здесь представлен неполный список функциональных возможностей, вырезанных из здесь на веб-сайте CenterSpace.

  • Полнофункциональный структурированный разреженный матричные классы, в том числе треугольные, симметричный, эрмитовый, полосатый, тридиагональные, симметричные, и Эрмитаж.
  • Функции для преобразование между основными матрицами и структурированные разреженные типы матриц.
  • Функции для переноса структурированных разреженные матрицы, вычисление внутренних продуктов и вычислительной матрицы нормы.
  • Классы для факторинга структурированные разреженные матрицы, в том числе LU-факторизация для полос и тридиагональные матрицы, Бунч-Кауфман факторизация для симметричных и Эрмитовых матриц и Холецкого разложение для симметричных и Эрмитово положительно определенные матрицы. После построения матрицы факторизации можно использовать для решения линейные системы и вычислить детерминанты, обратные и условия номера.
  • Общий разреженный вектор и матричные классы и матрица факторизации.
  • ортогональным классы разложения для общих матрицы, включая QR-декомпозицию и разложение по сингулярным значениям (СВД).
  • Продвинутые наименьшие квадраты классы факторизации для общих матриц, включая Cholesky, QR и СВД.
  • LU-факторизация для общих матриц, а также функции для решение линейных систем, вычисление детерминанты, обратные и условия числа.

Пол