Вам не нравятся матрицы? Тогда давайте сюда, к нам, в геометрическую алгебру! В такой алгебре геометрические объекты и их преобразования, можно вычислять не прибегая к координатам и матрицам. Причём кватернионы — это ещё не предел мечтаний!
В прошлой статье мы с вами увидели, что в бескрайних линейных пространствах над вещественными числами, обитают всевозможные алгебры. Нас, вслед за Вильямом Клиффордом заинтересовали те из них, которые могли бы служить обобщением комплексных, дуальных или двойных чисел, и содержать не один дополнительный мнимый компонент, а несколько.
В таких алгебрах дополнительные невещественные компоненты называются базисными элементами алгебры и могут быть получены с помощью произведения небольшого набора простейших элементов — генераторов. При этом n генераторов порождают 2ⁿ элементов, включая вещественную единицу.
Умножение в алгебре Клиффорда определено так, чтобы все базисные элементы при возведении в квадрат (то есть, при умножении на самого себя) давали вещественное число. Завершили мы первое знакомство с такими числовыми системами тем, что перечислили три элементарных варианта с одним генератором:
Обозначение Cl(p,q,r) относится к алгебре с n = p + q + r генераторами, из которых p невещественных квадратных корней из 1, q корней из 0 и r корней из –1. Все эти числовые системы полезны и нужны, особенно, комплексных числа.
Когда одной мнимой единицы мало
Знакомство с более сложными алгебрами мы начнём мы с гипер-комплексных чисел, потому что это, как ни странно, самый простой для понимания вариант.
Начнём с двух генераторов, которые мы обозначим e₁ и e₂. Наша алгебра будет содержать четыре базисных элемента: {1, e₁, e₂, e₁₂}, где e₁₂ = e₁e₂, причём e₁² = e₂² = –1. Посмотрим, как будет выглядеть таблица умножения на элемент второго ранга e₁₂.
Итак, получается, что четвёртый базисный элемент алгебры тоже представляет собой корень из –1. Кроме того, он при умножении меняет e₁ на e₂ и наоборот, но со сменой знака.
О геометрическом смысле мнимой единицы мы подробно говорили здесь. Если в качестве умножения использовать повторение некоторой операции или преобразования, то операцией, которая при двукратном применении меняет объект на противоположный, может быть поворот на 90°.
Наши два генератора e₁ и e₂ линейно независимы, а значит, не могут быть поворотами в одной плоскости, и должны действовать, как минимум, на трёхмерном пространстве и в разных плоскостях. Однако композицию (произведение) двух поворотов вокруг неколлинеарных осей всегда можно выразить одним поворотом вокруг некой третьей оси, независимой от первых двух. Это и есть третий мнимый элемент нашей алгебры, который неизбежно должен был появиться при введении двух генераторов.
Получается, что три невещественных элемента e₁, e₂ и e₁₂ описывают группу поворотов на 90° вокруг трёх независимых осей, а соответствующая алгебра Клиффорда с помощью линейных комбинаций позволяет описать более сложную группу вращений в пространстве. Умножение в этой алгебре представляет композицию преобразований, которые можно свести к поворотам.
Если ввести обозначения e₁ = i, e₂ = j, e₁₂ = k, и выписать таблицу умножения для элементов алгебры Cl(0,0,2), то мы получим хорошо известную группу кватернионов, впервые описанную Гамильтоном задолго до выхода работ Вильяма Клиффорда. Эта группа задаётся восемью элементами: {±1, ±i, ±j, ±k} и определяется соотношением:
Отсюда мы можем сделать вывод, что алгебра Клиффорда, порождëнная двумя корнями из –1, эквивалентна алгебре кватернионов:
Я не стану здесь рассказывать о том, как именно с помощью кватернионов задаётся вращение, потому что мы будем делать это средствами проективной геометрической алгебры почти таким же образом и даже лучше. Однако стоит заметить, что алгебра кватернионов заняла сколько законное место в инструментарии программистов, чья работа связана с движения твёрдого тела, или вращением трёхмерных сцен и объектов в играх.
А что там дальше?
Добавив третий мнимый генератор, мы получим алгебру, в которой 2³=8 элементов:
Наверняка, кто-то из читателей слышал про октонионы — систему, следующую за кватернионами в иерархии гиперкомплексных чисел. Так вот, это не они.
Первым делом, заметим, что элемент третьего порядка e₁₂₃ перестал быть мнимым, и при возведении квадрат равен единице:
Кроме того, произвольный элемент алгебры Cl(0,0,3) можно перегруппировать, вынеся за скобки элемент e₁₂₃ из слагаемых второго и третьего ранга:
где q₁ и q₂ — это "обыкновенные" кватернионы, ведь все генераторы — это мнимые единицы. Получается, что алгебра Cl(0,0,3) распадается на алгебру двойных чисел над кватернионами, то есть, на двумерное линейное пространство над кватернионами:
Все алгебры Клиффорда ассоциативны, так что порядок вычислений в произведении не имеет значения (в отличие от порядка множителей в произведении). Октонионы же представляют собой единственную алгебру с семью мнимыми компонентами, которая не распадается на более простые алгебры, но ценой потери ассоциативности умножения.
При добавлении в алгебру новых мнимых генераторов, мы будем получать всё более сложные алгебраические структуры над кватернионами, которые выражаются уже в матричном виде. Там есть о чëм поговорить, но поскольку нам эти структуры не понадобятся, дальше в эту сторону мы не полезем. Нам важно было увидеть, что одни алгебры Клиффорда могут превращаться в другие, изменяя при этом базовую числовую систему.
В следующий раз мы рассмотрим алгебры Клиффорда с несколькими корнями из нуля и познакомимся с внешними алгебрами Грассмана.
* * *
Напоследок, как водится в этой серии, приведём пример применения геометрической алгебры. И коль скоро речь у нас зашла о вращении, продемонстрируем как осуществляется вращение в проективной геометрической алгебре на примере построения и визуализации ленты Мёбиуса в трёхмерном пространстве.
Если кто-то из читателей знаком с кватернионами, то он может признать в операторе поворота знакомый мотив. Поворот осуществляет геометрическое число, а загадочный значок $$ всего лишь умножает вращаемый объект на это число слева и справа с сопряжением:
t $$ x = t x t̃.
Параллельный перенос выполняется таким же двусторонними умножением но с числом, устроенным по-другому. Наконец, вы можете разглядеть в коде элементы второго ранга e₁₂, e₁₃, и e₂₃, из которых в трёхмерной проективной алгебре образуются прямые, проходящие через начало координат.