Каждый, кто прошел через курс линейной алгебры или физики в универе, помнит этот странный дуализм. Нас учили, что у векторов есть целых ДВА вида произведения. Первое, скалярное, съедает два вектора и выдает число. Геометрически — это что-то про проекции и углы. Второе, векторное, тоже съедает два вектора и… внезапно выплевывает третий вектор, перпендикулярный первым двум. Причем работает этот фокус только в 3D и 7D.

Всегда казалось, что это какой-то математический «костыль».

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

Что, если я скажу вам, что это действительно «костыли»? Что существует единое, универсальное и элегантное геометрическое произведение, которое включает в себя оба этих случая (и многое другое), и которое основано на одной-единственной, кристально ясной идее. Идее, которая меняет взгляд на саму суть математики.

Эта статья — приглашение в мир Геометрической Алгебры. Мы собираемся переизобрести умножение.

Примечание об обозначениях.

Поскольку в статье встречаются несколько видов умножений, будем различать их так

или отсутствие знака — новое геометрическое произведение

— скалярное произведение

∧ — внешнее произведение

Часть 1. Философия — каждому объекту по трансформации

Всё-таки, что-то есть в этой студенческой шутке, популярной в МФТИ: "каждому лектору в ...у по вектору, а Дмитрию Владимировичу ортонормированный базис" .

Тут речь идет о Беклемишеве, благодаря которому не только в МФТИ, но и по всему СССР преподавание линейной алгебры стало столь тесно связанным с аналитической геометрией. Когда он был еще 25-летним аспирантом мехмата МГУ, ему пришла в голову эта светлая идея — преподавать сложные абстракции с помощью наглядной науки, и он принялся внедрять ее в МФТИ. Его ждал невероятный успех — к 40 годам созданный Беклемишевым совершенно новый курс в тех или иных вариациях стал распространяться по всему СССР, а он сам преподавал векторную алгебру на советском телевидении.

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

Давайте начнем с простой, но глубокой мысли. Что, если каждый математический объект — это не просто статичная сущность, а оператор, выполняющий преобразование?

  • Число 5: это не просто «пять яблок». Это оператор «увеличить в 5 раз».

  • Комплексное число i: это не просто √-1. Это оператор «повернуть на 90 градусов». Умножьте на i еще раз — повернете на 180. Отсюда и i² = -1.

Эта философия превращает математику из описательного языка в язык действия. Объекты — это глаголы, а не существительные.

Хорошо, а что тогда вектор? Какое фундаментальное геометрическое преобразование он должен олицетворять с помощью умножения?

Это не может быть сдвиг — за это отвечает сложение (v + a). Не может быть и простое масштабирование. Какое самое базовое, самое элементарное геометрическое действие, которое можно совершить в пространстве?

Отражение.

Ключевая идея: давайте предположим, что вектор — это не стрелка. Вектор — это зеркало.

Единичный вектор n задает нам ориентацию зеркала, стоящего в начале координат и перпендикулярного этому вектору. Вся суть вектора — отражать другие объекты.

Вектор n действует как зеркало, отражающее вектор v

Но почему n это именно перпендикуляр к зеркалу?

Векторы v и n лежат в одной плоскости, и задают одну плоскость (за исключением случая, когда они параллельны). Так что задавать вектор n может любое положение зеркала на этой плоскости. Куда удобнее сделать сам вектор n зеркалом.

Вектор n сам стал зеркалом

Вся мощь геометрической алгебры вырастет из этого простого предположения.

Часть 2. Изобретаем умножение с нуля

Итак, вектор — это зеркало. Как нам описать операцию отражения математически? Мы хотим найти такое «умножение» (), чтобы оно позволило нам отражать один вектор v относительно другого вектора n.

Но вместо того, чтобы подгонять формулу под ответ, давайте поступим как настоящие исследователи. Давайте потребуем от нашего умножения одно-единственное, но очень важное свойство: обратимость.

В обычной алгебре уравнение 5x = 10 решается делением. Деление — это умножение на обратный элемент (x = 10 * 5⁻¹). Мы хотим так же решать и геометрические уравнения! Если ax = b, мы хотим найти x как a⁻¹b.

Чтобы это было возможно, для любого ненулевого вектора a должен существовать обратный a⁻¹. Логично предположить, что a⁻¹ как-то связан с a. Самый простой вариант — a⁻¹ пропорционален a.

Это значит, что произведение вектора на самого себя, a*a, должно быть простым скаляром. Ведь если a*a = k (где k — число), то мы легко находим a⁻¹ = a/k. Какой скаляр, связанный с вектором, самый главный? Конечно, квадрат его длины!

Постулат 1 (и единственный):

Произведение вектора на самого себя — это скаляр, равный квадрату его длины.


Это всё. Больше нам ничего не нужно. Всё остальное мы выведем.

Давайте посмотрим, к чему приведет этот, казалось бы, скромный постулат. Возьмем два вектора a и b и раскроем квадрат их суммы, как в школе:

Используя наш постулат, заменим a*a на |a|² и b*b на |b|²:

С другой стороны, (a+b) — это тоже вектор. А квадрат любого вектора, по нашему постулату, это квадрат его длины:

А квадрат длины вектора суммы мы знаем из школы по теореме косинусов:

Но — это же в точности скалярное произведение !

Получаем: .

А теперь приравняем оба выражения для :

Сокращаем всё лишнее и получаем:

Симметричная часть нашего нового умножения (ab+ba) оказалась старым добрым скалярным произведением! Но что же такое ab само по себе?

Давайте рассмотрим самый интересный случай: a и b перпендикулярны.

Пусть наши базисные векторы e₁ и e₂. Их скалярное произведение равно нулю.

Подставим это в нашу формулу

А это значит…



Мы не придумали это. Мы не взяли это с потолка. Мы вывели антикоммутативность для ортогональных векторов из простейшего требования обратимости умножения.

Часть 3. Исследуем плоскость — рождение нового числа

Давайте останемся на плоскости. У нас есть базис и три правила игры:

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

Применим наши правила: , и :

Смотрите, что произошло! Наше геометрическое произведение ab само распалось на две части:

  • Скалярная часть: (a₁b₁ + a₂b₂). Это же в точности скалярное произведение a·b!

  • Не скалярная часть: (a₁b₂ - a₂b₁)(e₁e₂).

    Коэффициент (a₁b₂ - a₂b₁) — это величина, пропорциональная площади параллелограмма на векторах a и b (и синусу угла между ними).

А что за таинственный зверь e₁e₂?

  • Он не скаляр.

  • Он не вектор.

    Давайте посчитаем его квадрат:

  • Пользуясь антикоммутативностью:

Объект, который в квадрате дает -1.

Где-то мы это уже видели… Да это же аналог мнимой единицы i!

Этот объект I = e₁e₂ называется бивектором. Он не стрелка. Он — сама ориентированная плоскость e₁e₂.

Он говорит: «Я — плоскость, в которой вращение идет от e₁ к e₂».

Наше геометрическое произведение ab — это мультивектор.

(скалярная часть) + (бивекторная часть)

Здесь — это внешнее произведение.

Оно представляет собой ориентированную площадь.

Ориентация тут означает, что если поменять два вектора местами, то она умножится на .

Часть 4. Открываем формулу отражения. Путь проб и ошибок.

Итак, мы договорились, что вектор a — это зеркало, а отражение — его главное предназначение. Давайте теперь найдем математический язык для этого.

Наша цель — найти формулу, которая берет произвольный вектор v и отражает его в зеркале, заданном единичным вектором a.

Для простоты возьмем нашу плоскость с базисом e₁, e₂.

Пусть зеркалом будет сама ось e₁. Какой вектор v мы будем отражать?

Давайте возьмем самый общий:

Что мы ожидаем получить после отражения в "зеркале" e₁? Компонента вдоль e₁ должна остаться, а компонента вдоль e₂ (перпендикулярная зеркалу) — инвертироваться. Ожидаемый результат:

Теперь попробуем найти эту формулу, используя наше новое геометрическое произведение.

Попытка №1: Умножение слева

Самое простое, что приходит в голову — просто умножить v на e₁ слева:

(Напомню e₁e₁ = 1 и e₁e₂ = -e₂e₁)

Что это? Скаляр v₁ минус бивектор -v₂e₁e₂. Это даже не вектор. Результат интересный, но это точно не наше отражение. Мимо.

Попытка №2: Умножение справа

Хорошо, попробуем умножить справа:

Снова скаляр плюс бивектор. Опять мимо.

Попытка №3: "Сэндвич"

Кажется, простого умножения недостаточно. Мы получаем объекты более высокой "степени" (бивекторы). Может, нужно как-то от них избавиться? Что, если мы "обернем" наш вектор v с двух сторон? Попробуем конструкцию e₁ve₁:

Бинго!

Мы получили в точности тот результат, который ожидали.

Формула отражения:

отражение вектора v в зеркале, заданном единичным вектором a, описывается сэндвич-произведением:


Работает ли это для любого вектора, а не только для базисного e₁?

Да! Мы можем доказать, что если разложить v на компоненты и относительно любого единичного вектора a, то операция ava всегда сохранит и инвертирует , что и является определением отражения.

Доказательство: почему ava — это универсальная формула отражения

Хорошо, наш трюк с "сэндвичем" e₁ve₁ сработал идеально для отражения относительно оси e₁. Но не было ли это просто удачным совпадением? Давайте докажем, что формула v' = ava работает для отражения относительно любого единичного вектора a.

Это доказательство не просто покажет, что формула верна. Оно вскроет, насколько глубоко наше новое умножение "понимает" геометрию.

Шаг 1: Раскладываем вектор на компоненты

Давайте разложим наш вектор v на две компоненты относительно вектора-зеркала a:

  1. v_∥ (v-параллельная).

    Компонента v, которая параллельна a. Это просто проекция v на a.

  2. v_⊥ (v-перпендикулярная).

    Компонента v, которая перпендикулярна a. Это то, что останется от v, если вычесть из него параллельную часть.

Таким образом:

Определение отражения:

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

Наша цель — доказать, что

Шаг 2: Смотрим, как ava действует на каждую компоненту по отдельности

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

Теперь проанализируем каждое слагаемое.

Анализ (параллельная часть):

  • По определению, параллелен a. Это значит, что — это просто a, умноженный на какой-то скаляр.

    .

  • Ключевое свойство: скаляры коммутируют со всем. Их можно выносить за скобки и передвигать где угодно.

  • Давайте посчитаем: .

  • Что такое aaa? Это (aa)a. А так как aединичный вектор, то aa = a² = 1.

  • Значит, aaa = (1)a = a.

  • Возвращаемся к нашему выражению:

Результат А:

Операция ava сохраняет параллельную компоненту. Первая часть доказана!

Анализ (перпендикулярная часть):

  • По определению, и a ортогональны.

  • А что мы знаем про геометрическое произведение двух ортогональных векторов? Они антикоммутируют! Это фундаментальное свойство, которое мы вывели ранее.

  • Теперь давайте применим это к нашему выражению Мы можем сгруппировать его как .

  • Заменим на его антикоммутированный эквивалент

  • Выносим минус и перегруппировываем: .

  • И снова, так как a — единичный вектор, aa = a² = 1.

  • Получаем: .

Результат Б:

Операция ava инвертирует перпендикулярную компоненту. Вторая часть доказана!

Шаг 3: Собираем все вместе

Теперь вернемся к нашей сумме:

Мы только что показали, что

Подставляем эти результаты:

Это в точности математическое определение отражения вектора v относительно линии, заданной вектором a.

Доказательство завершено.

Часть 5. Два отражения = поворот. Рождение ротора.

Мы начали с того, что вектор — это зеркало, а отражение — это фундаментальная операция. Что будет, если сделать два отражения подряд? Любой школьник, игравший с двумя зеркалами, чтобы списать с их помощью на контрольной, знает: это будет поворот!

(первое отражение)

Сгруппируем скобки по-другому, пользуясь ассоциативностью нашего умножения:

Давайте посмотрим на этот новый объект

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

А что такое ab в этой формуле? Давайте перемножим его на ba:

Значит, ab — это в точности обратный элемент к ba! То есть ab = (ba)⁻¹ = R⁻¹.

Наша формула для двух отражений (то есть, для поворота!) превращается в нечто невероятно элегантное.

Формула вращения:

Мы не использовали ни синусы, ни косинусы, ни матрицы. Мы просто сказали: "вектор — это зеркало", нашли формулу для одного отражения и применили ее дважды. Вращения достались нам практически бесплатно, как побочный продукт.

Чаcть 6. В чем обман в векторном произведении векторов?

До сих пор мы говорили "вектор a — это зеркало". И формула v' = ava работала. Но, как мы выяснили, она описывает отражение относительно линии, заданной вектором a.

А как же наше бытовое "зеркало", которое является плоскостью?

Для этого, как мы помним, нужна формула со знаком минус: v' = -ava. Здесь вектор a задает нормаль к плоскости-зеркалу.

Так какая же формула "правильная"? Обе! Они описывают два разных типа отражений.

Оказывается, что любое сложное движение (вращение, перенос) в n-мерном пространстве можно разложить на последовательность простых отражений. Это фундаментальный результат, известный как преобразования Хаусхолдера.

Отражения — это атомы, из которых состоят все движения.

И тут нас ждет сюрприз, связанный с размерностью пространства.

  • В 2D пространстве: "зеркало-плоскость" — это просто линия. Ее нормаль — это вектор. Линия и ее нормаль-вектор однозначно задают друг друга.

  • В 3D пространстве: "зеркало-плоскость" — это плоскость. Ее нормаль — это вектор. Плоскость и ее нормаль-вектор тоже однозначно задают друг друга. А что еще задает плоскость? Бивектор! В 3D пространстве каждому бивектору (плоскости) можно сопоставить единственный перпендикулярный ему вектор (псевдовектор). Это тот самый трюк, на котором основано векторное произведение. Из-за этого "случайного" совпадения в 3D можно подменять бивекторы векторами и наоборот.

  • В 4D и выше: "зеркало-плоскость" — это гиперплоскость (например, 3D-объем в 4D-пространстве). Ее нормаль — это вектор. А вот бивектор по-прежнему задает только 2D-плоскость и повороты на ней!

Вывод.

В пространствах размерности выше 3 бивекторы (генераторы вращений) и гиперплоскости (зеркала для отражений) — это совершенно разные объекты. Бивектор задает вращение в конкретной 2D-плоскости, а отражение происходит сразу во всем (n-1)-мерном пространстве.

Обманчивая простота нашего 3D-мира, где плоскость можно описать и бивектором, и вектором-нормалью, долгое время скрывала эту фундаментальную разницу и заставляла нас пользоваться "костылем" векторного произведения.

Геометрическая алгебра расставляет все по своим местам.

Чаcть 7. Матрицы Паули из воздуха

Те, кто знаком с квантовой механикой, знают матрицы Паули σ₁, σ₂, σ₃. Это набор матриц 2x2, которые лежат в основе описания спина. Они обладают забавными свойствами: σ₁² = σ₂² = σ₃² = I (единичная матрица) и антикоммутируют (σ₁σ₂ = iσ₃ = -σ₂σ₁).

Откуда они берутся? В геометрической алгебре они появляются сами собой.

Давайте просто отождествим наши базисные векторы e₁, e₂, e₃ с матрицами Паули!

Проверим наши правила:

  • ? Да, .

  • для ? Да, они антикоммутируют.

Что тогда такое бивекторы?

А тривектор (псевдоскаляр)?

.

Тривектор пространства — это мнимая единица i, умноженная на единичную матрицу!

Оказывается, матрицы Паули — это не какой-то абстрактный математический трюк. Это матричное представление алгебры нашего трехмерного евклидова пространства. Все эти i в их произведениях — это просто следствие того, что произведение двух векторов порождает бивектор, который в дуален вектору. Геометрическая алгебра вскрывает геометрический смысл, стоящий за матрицами спина.

Часть 8. Выведем сами элементы матриц Паули.

Наша задача: найти три матрицы 2x2, которые ведут себя в точности как наши ортонормированные векторы e₁, e₂ и e₃. То есть, они должны удовлетворять "правилам игры" геометрической алгебры:

  1. (где I — единичная матрица 2x2).

  2. для (антикоммутативность).

Мы будем работать с векторами-столбцами вида [α, β], где α и β — комплексные числа. Это стандартный базис для описания спина "вверх" и "вниз" .

Шаг 1. σ₃ — оператор "измерения" вдоль оси Z

В квантовой механике (или ) — это оператор, который измеряет проекцию спина на ось Z. Его собственные состояния — это спин "вверх" и спин "вниз".

  • Когда σ₃ действует на состояние "вверх" ([1, 0]), он должен дать .

  • Когда σ₃ действует на состояние "вниз" ([0, 1]), он должен дать

Давайте запишем это в матричной форме.

Мы хотим получить . Значит,

Мы хотим получить . Значит, .

Собираем матрицу:



Проверим:

Свойство выполняется. Первая матрица найдена чисто из ее физического смысла.

Шаг 2: σ₁ — оператор "переворота"

Что должен делать оператор e₁ (или σ₁)? В нашем геометрическом мире он перпендикулярен e₃. Какое самое простое действие он может совершать над состояниями "вверх/вниз"? Переворачивать их!

  • σ₁ должен превращать "вверх" в "вниз": σ₁ * [1, 0] = [0, 1].

  • σ₁ должен превращать "вниз" в "вверх": σ₁ * [0, 1] = [1, 0].

Снова ищем матрицу

:

Мы хотим получить . Значит,
Мы хотим получить . Значит,

Собираем матрицу:



Проверим :

Выполнено.

Самостоятельно можете проверить антикоммутативность с .

Шаг 3: σ₂ — магия Геометрической Алгебры

Мы могли бы пытаться угадать геометрический смысл , но у нас есть путь лучше. В Геометрической Алгебре объекты порождают друг друга!

Мы знаем, что в 3D бивектор дуален вектору (с точностью до знака и ).

Давайте определим через другие векторы и псевдоскаляр

Например, .

В матричном представлении . Тогда

Давайте просто перемножим наши "векторы" σ₁ и σ₃ и посмотрим, что получится.

Их произведение должно быть как-то связано с

Это не , это бивектор .

Давайте воспользуемся свойством .

Отсюда .

Постойте-ка, давайте-ка сменим порядок. .

Отсюда .

А давайте через произведение и ? То есть,

?

В матричном виде:

Тогда

Подождите-ка. Стандартная матрица Паули σ₂ имеет вид

Где мы ошиблись?

Нигде! Выбор знаков (σ₁σ₂ = iσ₃ или σ₁σ₂ = -iσ₃) — это вопрос соглашения о хиральности (правая или левая система координат). Давайте просто определим e₂ через произведение, которое даст стандартный результат.

Вспомним, что бивектор e₃e₁ соответствует iσ₂. Давайте так и потребуем:



Вот она, третья матрица, полученная как продукт взаимодействия двух других.

Проверим :

Выполнено. Антикоммутативность с остальными тоже легко проверяется.

Вывод

Мы не "нашли" матрицы Паули. Мы их сконструировали.

  • мы построили из требования быть оператором измерения "вверх/вниз".

  • мы построили из требования быть оператором "переворота" между "вверх" и "вниз".

  • мы получили как геометрическое произведение σ₃ и σ₁ (с нормировкой на i).

Матрицы Паули — это не магия. Это неизбежное следствие попытки представить три ортогональных направления и их произведения в виде матриц 2x2. Геометрическая алгебра вскрывает их внутреннюю логику и показывает, что они — всего лишь одно из возможных "воплощений" вечной геометрии пространства.

Часть 9. Подведем итоги.

Давайте подведем итог, что мы открыли:

  1. Есть только одно умножение. Геометрическое произведение ab. Оно содержит в себе всю информацию о взаимном расположении векторов.

  2. Оно распадается на части. . Его симметричная часть — скалярное произведение (проекция). Его антисимметричная часть— бивектор (ориентированная площадь).

  3. Оно порождает новые объекты. Умножая векторы, мы получаем бивекторы, которые в 2D ведут себя как и задают плоскость вращения.

  4. Оно кодирует преобразования. Произведение двух векторов создает ротор — оператор вращения. Формула работает всегда и везде, от 2D-графики до специальной теории относительности.

Мы начали с простой идеи и, следуя логике, пересобрали всю векторную алгебру, сделав ее проще, мощнее и интуитивнее. Это и есть геометрическая алгебра. И мы с вами лишь приоткрыли дверь в этот удивительный мир.

Это не какая-то эзотерическая математика.

ГА активно применяется в компьютерной графике, робототехнике, электродинамике и квантовой механике. Возможно, если бы с нее начинали в вузах, у нас было бы гораздо больше инженеров и физиков, которые по-настоящему чувствуют геометрию.

А еще с помощью нее можно переписать всю физику!