Смена базиса | Линейная алгебра

Смена базиса

Все курсы > Линейная алгебра > Занятие 3

Рассмотрим тему смены базиса. На первом занятии курса мы уже находили координаты вектора в новом базисе при условии, что векторы нового базиса перпендикулярны (ортогональны) друг другу.

Ноутбук к сегодняшнему занятию

Переход в исходный базис

Столбцы матрицы преобразований — новые базисные векторы после проведения преобразования. Зададим два новых базисных вектора a и b.

Можно сказать, что в новом базисе векторы a и b имеют координаты соотвественно $\begin{bmatrix} 1 \\ 0 \end{bmatrix}$ и $\begin{bmatrix} 0 \\ 1 \end{bmatrix}$. При этом, в старой (исходной) системе координат, новый базис имеет координаты $\begin{bmatrix} 3 \\ 1 \end{bmatrix}$ и $\begin{bmatrix} 1 \\ 1 \end{bmatrix}$.

Как следствие, матрица преобразований в исходный базис будет выглядеть как

$$ A_{old} = \begin{bmatrix} 3 & 1 \\ 1 & 1 \end{bmatrix} $$

Возьмем вектор в новой системе координат $r_{new} = \begin{bmatrix} -\frac{3}{2} \\ \frac{1}{2} \end{bmatrix} $.

Выразим этот вектор в исходном базисе с помощью координат нового базиса, записанных в старом базисе $ A_{old} $. Другими словами, перенесем вектор $r_{new}$ в соответствии с координатами $ A_{old} $.

$$ r_{old} = A_{old} \cdot r_{new} = \begin{bmatrix} 3 & 1 \\ 1 & 1 \end{bmatrix} \cdot \begin{bmatrix} -\frac{3}{2} \\ \frac{1}{2} \end{bmatrix} = \begin{bmatrix} 5 \\ 2 \end{bmatrix}$$

Продемонстрируем с помощью Питона.

Переход в новый базис

Выполним обратное преобразование из исходного базиса в новый. Для этого нам понадобится обратная матрица. Другими словами, нам нужно найти исходный базис в координатах нового базиса (т.е. такой, который переводит новый базис (синие стрелки) в исходный (зеленые)).

Выразим вектор $r_{new}$ в исходных координатах.

Ортонормальный базис

Решим аналогичную задачу, но с тем отличием, что новый базис будет ортонормальным (векторы ортогональны и имеют единичную длину).

Возьмем вектор с координатами в новом базисе $ r_{new} = \begin{bmatrix} 2 \\ 1 \end{bmatrix} $. Преобразуем его в вектор в старом базисе.

Выполним обратное преобразование, т.е. снова выразим вектор в новом базисе.

Так как новый базис ортонормален, мы можем использовать проекции на векторы нового базиса a и b.

Преобразования в новом базисе

Предположим, что у нас есть вектор в новом базисе, и мы хотим повернуть его на 45 градусов против часовой стрелки. Проблема в том, что мы умеем поворачивать векторы только в старой, обычной системе координат.

Решением могло бы быть:

  1. Преобразование нового вектора в старый базис
  2. Поворот в этом базисе
  3. Возврат к новому базису

Если предствить, что $A_{old}$ преобразует новый базис в старый, $R$ вращает на 45 градусов в старом базисе, а $A_{old}^{-1} = A_{new}$ возвращает вектор из старого базиса в новый, то в целом преобразование можно записать, как

$$ r_{new, 45^{\circ}} = A_{new} \cdot (R \cdot (A_{old} \cdot r_{new})) $$

Посмотрим как это можно реализовать на практике.

Мы получили повернутый на 45 градусов вектор в новом базисе.

Ортогональные матрицы

Мы привыкли работать в ортонормальном базисе, например, для двумерного стандартного базиса $\begin{bmatrix} 1 & 0 \\ 0 & 1 \end{bmatrix}$ легко запомнить, что матрица расширения векторов в два раза будет выглядеть как $\begin{bmatrix} 2 & 0 \\ 0 & 2 \end{bmatrix}$.

Математически у ортогональной матрицы также есть преимущества. В частности, для ортогональной матрицы справедливо следующее

$$ AA^T = I $$

$$ A^T = A^{-1} $$

Другими словами, как умножение на транспонированную матрицу, так и умножение на обратную матрицу дают единичную матрицу, а значит транспонированная матрица равна обратной.

Если кроме того, векторы ортогональной матрицы имеют единичную длину, то матрица становится ортонормальной.

Ортогональная матрица увеличивает пространство на единицу, а значит ее определитель равен 1 или $-1$. При отрицательном определителе пространство переворачивается (в частности, вектор i становится слева от j).

Дополнительно замечу, что так как $ AA^T = A^TA $, то можно сказать, что у ортогональной матрицы ортогональны как столбцы, так и строки.

В качестве вывода можно сказать, что с ортогональным (и тем более ортонормальным) базисом работать всегда проще:

  • проще найти обратную матрицу
  • преобразование обратимо
  • легко найти проекцию через скалярное произведение

Процесс Грама-Шмидта

Посмотрим как найти ортонормальный базис. Используемый для этого метод называется процессом Грама-Шмидта (the Gram-Schmidt process).

Описание

Рассмотрим абстрактный пример в двумерном пространстве. Возьмем векторы $v_1$ и $v_2$ и найдем через них ортонормальный базис $e_1$ и $e_2$. Вначале убедимся, что это два линейно независимых векторов (иначе пространство схлопнется и подобрать базис не получится). Линейную независимость можно проверить через определитель.

Кроме того, возможно будет полезно еще раз заметить, что одно и то же пространство, а точнее линейную оболочку могут образовывать разные базисы.

Шаг 1. Направление первого вектора $v_1$ изменять не будем, нормализуем его и назовем $e_1$ (зеленая стрелка).

Шаг 2. Вектор $e_2$ можно представить как составляющую в направлении вектора $e_1$ ($proj_{e_1} v_2$, желтый вектор) и перпендикулярную ему составляющую.

Составляющая в направлении вектора $e_1$ представляет собой векторную проекцию $v_2$ на $e_1$, то есть

$$ proj_{e_1} v_2 = \frac{v_2 \cdot e_1}{|| e_1 ||} \frac{e_1}{|| e_1 ||} = \frac{v_2 \cdot e_1}{1} \frac{e_1}{1} = (v_2 \cdot e_1) e_1 $$

Шаг 3. Перпендикулярную $e_1$ составляющую (фиолетовый вектор, назовем его $u_2$) можно представить, как разницу векторов $v_2$ и $proj_{e_1} v_2$, то есть

$$ u_2 = v_2-proj_{e_1} v_2 = v_2-(v_2 \cdot e_1) e_1 $$

Шаг 4. Мы нашли вектор $u_2$ перпендикулярный вектору $e_1$. Для того чтобы превратить $u_2$ в $e_2$ остается его нормализовать

$$ e_2 = \frac{u_2}{|| u_2 || } $$

Для большего количества измерений процесс будет выглядеть аналогично. Обобщим процесс для трех измерений.

$$ e_1 = \frac{v_1}{|| v_1 ||} $$

$$ u_2 = v_2-proj_{e_1} v_2 \rightarrow e_2 = \frac{u_2}{|| u_2 ||} $$

$$ u_3 = v_3-proj_{e_1} v_3-proj_{e_2} v_3 \rightarrow e_3 = \frac{u_3}{|| u_3 ||} $$

Пример

Предположим, у нас есть некоторый неортономальный базис линейно независимых векторов, формирующих трехмерную линейную оболочку. У нас есть вектор в этом базисе, и мы хотим выполнить его отражение. Опять же матрицы отражения в неортонормальном базисе у нас нет. Как поступить?

  1. Найти ортонормальный базис в задаваемом исходными векторами пространстве
  2. Взять матрицу отражения в ортонормальном базисе и выполнить отражение
  3. Вернем вектор из ортонормального базиса в исходный

Приведем векторы в исходном неортонормальном базисе

Ортонормальный базис

Проверим, что векторы линейно независимы.

Найдем первый базисный вектор $e_1$.

Найдем второй базисный вектор $e_2$.

Найдем третий базисный вектор $e_3$.

Проверим ортогональность и единичную длину.

Соединим их в матрицу. Эта матрица будет переводить вектор из ортонормального базиса в неортонормальный.

Сразу найдем обратную матрицу, которая преобразует вектор из неортонормального базиса в ортонормальный.

QR-разложение

Замечу, что ортонормальный базис также можно найти с помощью разложения матрицы на Q и R компоненты (QR-decomposition). Первый компонент этого разложения Q и будет ортонормальным базисом. Приведем пример.

Убедимся в его ортонормальности.

Подробнее о разложениях матрицы мы поговорим на следующем занятии. Вернемся к нашей задаче.

Матрица отражения

Возьмем матрицу отражения в ортонормальном базисе. В данном случае ее задача будет заключаться в том, чтобы отразить вектор относительно плоскости, задаваемой $e_1$ и $e_2$.

Отражение и смена базиса

Теперь возьмем вектор в исходном неортонормальном базисе.

Последовательно применим смену базиса, отражение и возвращение в исходный базис.

В результате мы получили отраженный вектор в исходном неортонормальном базисе.

Подведем итог

Мы рассмотрели тему смены базиса, в частности, перехода к новому базису, возвращения к исходному, свойства ортонормального базиса и способ перехода к ортонормальному базису, называемый процессом Грама-Шмидта.