Sparse Matrix Lab

Лаборатория разреженных матриц

Кодируйте разреженные матрицы классическими форматами и сравнивайте компромиссы сжатия.

Во многих реальных матрицах большинство элементов — нули. Хранить все нули — расход памяти и замедление вычислений.

Разреженные форматы хранят только важные элементы и их позиции. Это уменьшает хранение и ускоряет линейную алгебру.

COO: явные тройки (строка, столбец, значение).

CSR / CSC: компактная индексация по строкам/столбцам для быстрого обхода.

RLE: кодирование длин серий для строк с длинными участками нулей.

Dictionary / Bitmap: лёгкие кодировки для быстрого поиска или компактных битовых шаблонов.

  1. Сгенерируйте или отредактируйте матрицу.
  2. Выберите формат и нажмите Encode.
  3. Восстановите матрицу, чтобы проверить корректность и сравнить размеры.

Генератор матрицы

Текущее: 10%

Кодирование

Сводка

Размерности: -
Число ненулевых: -
Размер dense: - bytes
Сжатый размер (оценка): - bytes
Коэффициент сжатия: -
Восстановление: -

Исходная матрица (клик для редактирования)

Кликните ячейку для редактирования. Пустые значения станут нулём.

Результат кодирования


                

Matrix JSON


                

Заметки

  • COO прост, но не дружелюбен к кэшу на больших матрицах.
  • CSR быстр для срезов по строкам; CSC — по столбцам.
  • RLE лучше всего, когда в строках есть длинные серии нулей.
  • Bitmap хорош для структурной разреженности, но значения всё равно нужно хранить.