2.2.6. Алгоритм прямоугольных разбиений
 
Последний алгоритм, который мы рассмотрим, впервые был предложен в [2.13]. Этот алгоритм состоит в последовательном транспонировании подматриц порядка  где
 где  — множители М и
 — множители М и  соответственно Позже Рамапрайян [2.8] обобщил алгоритмы на случай, когда
 соответственно Позже Рамапрайян [2.8] обобщил алгоритмы на случай, когда  , где
, где  определяются численной оптимизацией требуемого времени вычислений.
 определяются численной оптимизацией требуемого времени вычислений. 
Алгоритм работает следующим образом. Пусть А — матрица  и предположим, что
 и предположим, что  где
 где  — произвольное целое число,
 — произвольное целое число,  . Положим
. Положим  и определим набор целых чисел для
 и определим набор целых чисел для  
 
 
Тогда на  шаге,
 шаге,  входная матрица
 входная матрица  где
 где  рассматривается как матрица
 рассматривается как матрица  , элементами которой являются матрицы
, элементами которой являются матрицы  представляющие собой фактически подматрицы А. Эта секционированная матрица рассматривается как матрица
 представляющие собой фактически подматрицы А. Эта секционированная матрица рассматривается как матрица  из которой селективно считываются в оперативную память матрицы т.{Хпи где они транспонируются и записываются в
 из которой селективно считываются в оперативную память матрицы т.{Хпи где они транспонируются и записываются в  Строки в считываемые матрицы выбираются как в [2.13], т. е. с шагом
 Строки в считываемые матрицы выбираются как в [2.13], т. е. с шагом  Таким образом, матрица А будет построена из блоков размерами
 Таким образом, матрица А будет построена из блоков размерами  и на шаге
 и на шаге  будет сформирована матрица
 будет сформирована матрица  содержащая А.
 содержащая А. 
Можно посмотреть на  и по-другому, считая ее построенной из фрагментов
 и по-другому, считая ее построенной из фрагментов  так как подматрицы
 так как подматрицы  на самом деле никогда не создаются. Тогда строки
 на самом деле никогда не создаются. Тогда строки  будут содержать фрагменты
 будут содержать фрагменты  которые образуют части строк матрицы А.
 которые образуют части строк матрицы А. 
 
Если  алгоритм совпадает с алгоритмом, приведенным в [2.13]. В противном случае матрица на
 алгоритм совпадает с алгоритмом, приведенным в [2.13]. В противном случае матрица на  шаге превращается в минимальную для данных
 шаге превращается в минимальную для данных  пр матрицу, с которой работает алгоритм [2.13].
 пр матрицу, с которой работает алгоритм [2.13]. 
Требуемый объем памяти определяется выражением 
 
где при  второе слагаемое может быть опущено.
 второе слагаемое может быть опущено. 
Число операций ввода-вывода 
