У меня есть разреженные двоичные матрицы, свойства которых я хочу проанализировать по двоичному полю.Приложение должно анализировать некоторые редкие двоичные коды, исправляющие ошибки.Сами матрицы слишком велики, чтобы обрабатывать их как полные плотные матрицы с размерами порядка 10 000 x 30 000 и более, даже если будет заполнен только небольшой процент записей.Я хочу быть в состоянии сделать двоичную линейную алгебру, используя разреженность матриц.
Две основные вещи, которые мне нужно будет сделать:
- найти основу пересечения пространства строк с пространством строк другой разреженной матрицы
- найти ееранг
Я видел, что есть несколько пакетов, чтобы найти пересечение подпространства (например, эта функция MuPAD ) и найти ранг матрицы по различным полям (например, gfrank ), но они занимают слишком много времени для матриц, с которыми я работаю.
Есть ли что-нибудь подобное?Или какие-нибудь хитрости, которые могут быть использованы для этого?Если это возможно на другом языке программирования, это также будет полезно.