Матрицы преобразований и их генераторы
Не только операции дифференцирования и интегрирования можно представить в виде матриц. Более простые преобразования также представляются квадратными матрицами. Проще всего понять на графическом примере выполнения преобразований над точками на плоскости.
Пусть на плоскости задана точка с декартовыми координатами, которые мы будем записывать в столбец:
\( \displaystyle \binom{x}{y}\)Умножая квадратную матрицу на этот вектор-столбец получим другой вектор-столбец с другими координатами:
\( \displaystyle \begin{pmatrix}a_{11}&a_{12} \\
a_{21}&a_{22}
\end{pmatrix} \binom{x}{y} =\binom{x’}{y’} \)
Элементы матрицы определяют вид преобразования. Скажем, для операции масштабирования (увеличения или уменьшения) матрица выглядит следующим образом:
\( \displaystyle \begin{pmatrix}
M&0 \\
0&M
\end{pmatrix} \),
где M — масштабный множитель.
Если взять на плоскости несколько случайных точек и получать координаты других точек посредством умножения матрицы масштабирования на текущие координаты, то повторяя этот процесс, в динамике мы получим показанное на видео.
Если масштабный множитель M меньше единицы (но больше нуля), получим движение к центру (уменьшение).
Масштабный множитель является просто параметром и не влияет на вид матрицы масштабирования, поэтому его можно вынести за матрицу:
\( \displaystyle M \begin{pmatrix}1&0 \\
0&1
\end{pmatrix} \)
Единичная матрица на самом деле является генератором (вики) операции масштабирования.
Давайте рассмотрим другую интересную операцию для точек на плоскости — поворот. Матрица поворота выглядит следующим образом:
\( \displaystyle \begin{pmatrix}cos(\alpha) &-sin(\alpha) \\
sin(\alpha)&cos(\alpha)
\end{pmatrix} \)
Умножая эту матрицу на вектор-столбцы координат точек, получим как раз вращение по кругу:
Хотелось бы тоже вынести параметр \( \displaystyle \alpha\) (угол поворота) из матрицы. На этот раз это не так тривиально как с масштабированием. Данное действие можно осуществить только с помощью операции матричного экспоненцирования:
\( \displaystyle \begin{pmatrix}cos(\alpha) &-sin(\alpha) \\
sin(\alpha)&cos(\alpha)
\end{pmatrix} = e^{\alpha \begin{pmatrix}
0 &-1 \\
1&0
\end{pmatrix}}\)
Как число е = 2.718281… можно возвести в степень матрицы — отдельная тема для разговора. Данная операция весьма распространенная и все математические пакеты умеют ее выполнять. Таким образом, генератором двумерных вращений является очень простая матрица без всяких тригонометрических функций:
\( \displaystyle \begin{pmatrix}0 &-1 \\
1&0
\end{pmatrix}\)
Синусы и косинусы появляются потому что экспонента связана с ними формулой Эйлера. Матрицу операции масштабирования можно тоже получить матричным экспоненцированием генератора:
\( \displaystyle \begin{pmatrix}e^m &0 \\
0&e^m
\end{pmatrix} = e^{m \begin{pmatrix}
1 &0 \\
0&1
\end{pmatrix}}\)
То есть то, что мы раньше называли масштабным множителем \( \displaystyle M\) (меньше единицы — уменьшение, больше единицы — увеличение), на самом деле \( \displaystyle M=e^m\), а приведенный m лучше назвать параметром масштабирования (отрицательный — уменьшение, положительный — увеличение).
Матрицы генераторов очень простые и с ними интересно поэкспериментировать. Что если в качестве генератора взять матрицу:
\( \displaystyle \begin{pmatrix}0 &1 \\
-1&0
\end{pmatrix}\)
Мы получим вращение в противоположную сторону (по часовой стрелке). Это легко видеть, поскольку множитель -1 сразу можно вынести за матрицу и он окажется умноженным на угол поворота \( \displaystyle \alpha\), давая \( \displaystyle -\alpha\).
А что будет, если взять в качестве генератора матрицу:
\( \displaystyle \begin{pmatrix}0 &1 \\
1&0
\end{pmatrix}\)
Произведя численное экспоненцирование и умножая полученную матрицу на координаты точек мы получим следующую картину:
Вместо окружностей мы получили гиперболы! В явном виде данная матрица преобразования выглядит так:
\( \displaystyle \begin{pmatrix}cosh(\alpha) &sinh(\alpha) \\
sinh(\alpha)&cosh(\alpha)
\end{pmatrix} \)
Вместо обычных синусов и косинусов — гиперболические.
Сравните с генератором поворота. Это яркий пример того, что знак минус в математике может изменить все. Поскольку физика описывается математикой, данный факт справедлив и для первой. Возьмем к примеру метрику Минковского в специальной теории относительности куда время входит с противоположным знаком (чем пространство), из чего и следует все разнообразие релятивистских эффектов. Преобразования Лоренца (смена системы отсчета) также можно представить матрицей и рассматривать как аналогичный приведенному «гиперболический поворот» в пространстве Минковского.
Поскольку матрицы можно перемножать, то получившиеся матрицы будут описывать комбинацию преобразований. Например, действие матрицы «вращение+масштабирование» выглядит как:
Только умножать следует не генераторы, а матрицы преобразований. В экспоненте надо складывать, и то это может не получиться поскольку формула
\( \displaystyle e^{A + B}=e^{A}e^{B}\)не работает, если матрицы A и B не коммутируют.
Можете сами поэкспериментировать с генераторами. MATLAB-файл с кодом от видео здесь.
Таким образом, оператор второго порядка для разложения представления группы оказался выраженным через операторы первого порядка — через генераторы группы. Однако, для полной согласованности требуется симметричность оператора