====== Определение транспонирования ======
Матрица транспонированная к A обозначается как .
Операция транспонирования определена как смена индексов в матрице. Матрица не обязательно квадратная.
Соответственно изменяется и число строк и столбцов.\\
Пример,
====== Свойства транспонированных матриц ======
*
Дважды транспонированная матрица А равна исходной матрице А.
*
Транспонированная сумма матриц равна сумме транспонированных матриц.
*
Транспонированное произведение матриц равно произведению транспонированных матриц, взятых в обратном порядке.
*
При транспонировании можно выносить скаляр.
*
Определитель транспонированной матрицы равен определителю исходной матрицы.
====== Прямой алгоритм транспонирования. ======
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;
**Входные параметры:**
* Прямоугольная матрица A.
**Выходные параметры:**
* Прямоугольная матрица R.
**Примечание:**\\
* Память под матрицы A и R должна быть выделена. Матрица R должна иметь число столбцов равное числу строк матрицы A. Матрица R должна иметь число строк равное числу столбцов матрицы A
====== Блочный алгоритм транспонирования ======
Матрица A разбивается на 4 под матрицы , , , .
Вначале производиться перестановка подматриц согласно правилу транспонирования, а затем выполняется транспонирования элементов подматриц. Алгоритм продолжается рекурсивно до тех пор пока прямой алгоритм не будет быстрее или не останется 1 элемент.
Блочный алгоритм транспонирования применяется для ускорения транспонирования. Когда доступ к элементам последовательно быстрее чем в произвольном порядке. В современном компьютере есть система кэшей разных уровней, что создаёт такую неравномерность в скорость.
Наиболее наглядную демонстрацию можно получить для больших матриц не помещающихся в RAM и хранящихся на HDD.
====== Алгоритм транспонирования на месте. ======
Алгоритм транспонирования на месте или алгоритм без использования дополнительной памяти.
----
Список литературы:\\
[1] Т.С. Хуанг -Быстрые алгоритмы в цифровой обработке изображений. \\
[[http://http://books.google.ru/books?id=7OnK5DG_C9MC&lpg=PA20&ots=KCmg7p5mPS&dq=%D0%B1%D0%BB%D0%BE%D1%87%D0%BD%D1%8B%D0%B9%20%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%20%D1%82%D1%80%D0%B0%D0%BD%D1%81%D0%BF%D0%BE%D0%BD%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F&hl=ru&pg=PA20#v=onepage&q=%D0%B1%D0%BB%D0%BE%D1%87%D0%BD%D1%8B%D0%B9%20%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%20%D1%82%D1%80%D0%B0%D0%BD%D1%81%D0%BF%D0%BE%D0%BD%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F&f=false|библиотека Гугл]]\\
[2] Р.Хорн, Ч.Джонсон. -Матричный анализ.-Мир(1989) \\
стр. 18. Глава 0.2.5