Буду признателен за любую подсказку о том, как создать разреженную матрицу в Accord. NET или C#, не создавая библиотеку с нуля. Проблема в том, что я хочу сделать матрицу размером 30k на 30k, представляющую матрицу смежности графа, которая почти всегда будет разреженной. После 15000 строк или столбцов следующий код генерирует ошибку:
var A = new double[n, n];
ошибка: размеры массива превысили поддерживаемый диапазон.
пс. Мне известен разреженный класс , но, как видно из описания, этот класс можно использовать только для создания разреженных векторов, а не матриц.
Если возможно создать разреженную матрицу, то следующий вопрос состоит в том, можно ли ее рассматривать как обычную матрицу в операциях линейного алгебраического алгоритма c, например, при вычитании двух матриц или поиске подматрицы используя:
Accord.Math.Matrix.Get(A, IVI, BVI, B);