Блочная матрица

Бло́чная (кле́точная) ма́трица — представление матрицы, при котором она рассекается вертикальными и горизонтальными линиями на прямоугольные части — блоки (клетки):

может быть представлена в виде блочной матрицы из четырёх блоков размера 2×2 каждый.

Формально операции с блочными матрицами производятся по тем же правилам, как если бы на месте блоков были числовые элементы. Для выполнимости операций необходимо соответствующее согласование размеров блоков. Например, при умножении блочных матриц требуется, чтобы горизонтальные размеры блоков первого сомножителя совпадали с соответствующими вертикальными размерами второго сомножителя[1].

Многие виды матриц могут быть представлены в блочном виде. В этом случае к названию добавляется приставка блочно- или блочная, а операции над элементами трансформируются в операции над блоками.

У блочно-диагональной матрицы все блоки, кроме расположенных на главной диагонали, являются нулевыми матрицами.

Определитель квадратной квазидиагональной матрицы равен произведению определителей диагональных клеток.

Определитель квазитреугольной матрицы равен произведению определителей диагональных блоков. Легко заметить, что блочно-диагональная матрица является частным случаем квазитреугольной[3].

С целью повышения эффективности использования кэш-памяти CPU существует алгоритм блочного умножения матриц

либо её более быстрых аналогов, а размер обрабатываемых данных на каждой итерации не превышает ёмкость кэш-памяти. Размер блока напрямую зависит от архитектуры вычислительной системы и определяет время выполнения умножения[4]. Аналогичный подход применяется при умножении матриц с использованием GPU с оптимизацией использования разделяемой памяти ограниченного объёма[5][6].

Для обращения невырожденной блочной матрицы может использоваться формула Фробениуса: