Матрицы преобразований и их генераторы

Не только операции дифференцирования и интегрирования можно представить в виде матриц. Более простые преобразования также представляются квадратными матрицами. Проще всего понять на графическом примере выполнения преобразований над точками на плоскости.

Пусть на плоскости задана точка с декартовыми координатами, которые мы будем записывать в столбец:

\( \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-файл с кодом от видео здесь.

 

 

12 thoughts on “Матрицы преобразований и их генераторы

  • 2 января, 2017 в 3:58 пп
    Permalink

    Таким образом, оператор второго порядка для разложения представления группы оказался выраженным через операторы первого порядка — через генераторы группы. Однако, для полной согласованности требуется симметричность оператора

    Ответ
  • 29 января, 2024 в 1:50 пп
    Permalink

    (select(0)from(select(sleep(15)))v)/*’+(select(0)from(select(sleep(15)))v)+'»+(select(0)from(select(sleep(15)))v)+»*/

    Ответ
  • 29 января, 2024 в 1:51 пп
    Permalink

    1vi7LJ0mE’; waitfor delay ‘0:0:15’ —

    Ответ
  • 29 января, 2024 в 1:55 пп
    Permalink

    1

    Ответ
  • 29 января, 2024 в 1:56 пп
    Permalink

    1

    Ответ
  • 29 января, 2024 в 1:58 пп
    Permalink

    1

    Ответ
  • 29 января, 2024 в 1:58 пп
    Permalink

    1

    Ответ

Добавить комментарий для Алена Отменить ответ

Ваш адрес email не будет опубликован.