Лаборатория разреженных матриц
Кодируйте разреженные матрицы классическими форматами и сравнивайте компромиссы сжатия.
Во многих реальных матрицах большинство элементов — нули. Хранить все нули — расход памяти и замедление вычислений.
Разреженные форматы хранят только важные элементы и их позиции. Это уменьшает хранение и ускоряет линейную алгебру.
COO: явные тройки (строка, столбец, значение).
CSR / CSC: компактная индексация по строкам/столбцам для быстрого обхода.
RLE: кодирование длин серий для строк с длинными участками нулей.
Dictionary / Bitmap: лёгкие кодировки для быстрого поиска или компактных битовых шаблонов.
- Сгенерируйте или отредактируйте матрицу.
- Выберите формат и нажмите Encode.
- Восстановите матрицу, чтобы проверить корректность и сравнить размеры.
Генератор матрицы
Текущее: 10%
Кодирование
Сводка
Размерности: -
Число ненулевых: -
Размер dense: - bytes
Сжатый размер (оценка): - bytes
Коэффициент сжатия: -
Восстановление: -
Исходная матрица (клик для редактирования)
Кликните ячейку для редактирования. Пустые значения станут нулём.
Результат кодирования
Matrix JSON
Заметки
- COO прост, но не дружелюбен к кэшу на больших матрицах.
- CSR быстр для срезов по строкам; CSC — по столбцам.
- RLE лучше всего, когда в строках есть длинные серии нулей.
- Bitmap хорош для структурной разреженности, но значения всё равно нужно хранить.