Содержание

Определение транспонирования

Матрица транспонированная к A обозначается как <math>A^T </math>.

<math>R=A^T</math>

Операция транспонирования определена как смена индексов в матрице. Матрица не обязательно квадратная.

<math>r_{j,i}=a_{i,j}</math>

Соответственно изменяется и число строк и столбцов.
Пример,

<math> \begin{bmatrix} 1 & 2
3 & 4
5 & 6 \end{bmatrix}^{\mathrm{T}} \!\! \;\! = \, \begin{bmatrix} 1 & 3 & 5
2 & 4 & 6 \end{bmatrix} \; </math>

Свойства транспонированных матриц

Дважды транспонированная матрица А равна исходной матрице А.

Транспонированная сумма матриц равна сумме транспонированных матриц.

Транспонированное произведение матриц равно произведению транспонированных матриц, взятых в обратном порядке.

При транспонировании можно выносить скаляр.

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

Прямой алгоритм транспонирования.

procedure Transpose(var R:TMatrixNM; A:TMatrixNM);
var i,j:Integer;
begin
for i:=0 to RowsCount(A)-1 do
 for j:=0 to ColumnsCount(A)-1 do
  R[j,i]:=A[i,j];
end;

Входные параметры:

Выходные параметры:

Примечание:

Блочный алгоритм транспонирования

<math>A^{T} =\left[\begin{array}{ccccc} A_1 & A_2
A_3 & A_4
\end{array}\right]^{T} = \left[\begin{array}{ccccc} A_1^{T} & A_3^{T}
A_2^{T} & A_4^{T}
\end{array}\right] </math>

Матрица A разбивается на 4 под матрицы <math>A_1</math>, <math>A_2</math>, <math>A_3</math>, <math>A_4</math>. Вначале производиться перестановка подматриц согласно правилу транспонирования, а затем выполняется транспонирования элементов подматриц. Алгоритм продолжается рекурсивно до тех пор пока прямой алгоритм не будет быстрее или не останется 1 элемент.

Блочный алгоритм транспонирования применяется для ускорения транспонирования. Когда доступ к элементам последовательно быстрее чем в произвольном порядке. В современном компьютере есть система кэшей разных уровней, что создаёт такую неравномерность в скорость.

Наиболее наглядную демонстрацию можно получить для больших матриц не помещающихся в RAM и хранящихся на HDD.

Алгоритм транспонирования на месте.

Алгоритм транспонирования на месте или алгоритм без использования дополнительной памяти.


Список литературы:
[1] Т.С. Хуанг -Быстрые алгоритмы в цифровой обработке изображений.
библиотека Гугл
[2] Р.Хорн, Ч.Джонсон. -Матричный анализ.-Мир(1989)
стр. 18. Глава 0.2.5