Pull to refresh
101
420
Игорь Воронцов @master_program

Преподаватель МФТИ и ВШЭ, физик, Data Scientist

Send message

Полный базис - это 8 матриц. Матрицы Паули, единичная матрица, и все они, умноженные на мнимую единицу.

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

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

Да нет, это материал первого курса первого семестра по линейной алгебре.

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

\left(\begin{array}{cccc}\left\langle X_1, X_1\right\rangle & \left\langle X_1, X_2\right\rangle & \ldots & \left\langle X_1, X_m\right\rangle \\\left\langle X_2, X_1\right\rangle & \left\langle X_2, X_2\right\rangle & \ldots & \left\langle X_2, X_m\right\rangle \\\ldots & & & \ldots \\\left\langle X_m, X_1\right\rangle & \left\langle X_m, X_2\right\rangle & \ldots & \left\langle X_m, X_m\right\rangle\end{array}\right)

Тут X - это разные векторы. Если они комплексные, то имеется в виду умножение комплексно сопряженного на исходный вектор.

Поскольку правило умножения матриц - это "строка на столбец", то эти Х буквально являются столбцами исходной матрицы.

Это всё просто обобщение взятия квадрата модуля числа. Мы хотим, чтобы произведение объекта на "себя" (в правильном смысле "себя") раскрывало его фундаментальные геометрические свойства. Для набора векторов эти свойства — это все их длины и все углы между ними, которые хранятся в матрице Грама.

"С моей точки зрения это можно даказать, лишь приведя конструктивный алгоритм, который из двух массивов, состоящих из 4 вещественных чисел, делает один, такой же длины.  "


А какое отношение этот алгоритм имеет к геометрической алгебре?

Если вы имеете в виду умножение спиноров в 3D (вектор + скаляр), то вообще-то произведение двух спиноров в общем случае дает сумму спинора с ротором. То есть два массива из 4 чисел дают массив из 7 чисел.

Или вы про 2D. Тогда всё просто - таким алгоритмом является алгоритм умножения матриц. Геометрическая алгебра в 2D в качестве матричного представления имеет все возможные матрицы размера 2 на 2, состоящие из вещественных чисел. Устроено это очень просто, вот так:

\begin{aligned}& \left(\begin{array}{ll}a & b \\c & d\end{array}\right)=u \cdot \mathbf{I}+v \cdot \mathbf{e}_{\mathbf{1}}+w \cdot \mathbf{e}_{\mathbf{2}}+t \cdot \mathbf{e}_{12} \\& \mathbf{e}_1=\left(\begin{array}{cc}1 & 0 \\0 & -1\end{array}\right), \quad \mathbf{e}_2=\left(\begin{array}{ll}0 & 1 \\1 & 0\end{array}\right), \quad \mathbf{e}_{12}=\left(\begin{array}{cc}0 & 1 \\-1 & 0\end{array}\right)\end{aligned}

Ассоциативность следует из того, что смысл умножения тут - это композиция операторов преобразования пространства.

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

Ну тут есть 3 основных способа

  1. Использовать матричные представления, для 3D как раз матрицы Паули отлично подойдут

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

  3. Задать базис в пространстве мультивекторов и на нем определить все операции

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

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

  1. Сгенерировать весь базис в лексикографическом порядке и пронумеровать

  2. Для каждого базисного мультивектора написать матричное представление

  3. Сгенерировать таблицу умножения базисных мультивекторов

Впрочем, возможно, проще сделать иначе. Например, строить эту таблицу с постепенным повышением размерности. Думаю, там можно просто рекуррентную формулу вывести и всё. Могу написать об этом статью.

Ассоциативность есть с самого начала, она никуда не девалась.

С кватернионами проблема в том, что непонятно, почему они такие, откуда все эти правила. А здесь всё понятно - вот есть отражения, их композиция поворот и т.п.

Все формулы из понятных базовых правил расписываются.

У кватернионов же сразу не очень понятные формулы.

Ну и да, круто то, что нет никакой привязки к размерности пространства.

Судя по комментариям, этот базовый еще недостаточно расписан.

Например, не расписал про дистрибутивность, а также как упрощать мультивекторные выражения, используя эти правила.

Чтобы описывать любые геометрические преобразования и физические процессы.

Так все правила же описал в статье: обычные правила для сложения и умножения, только нет коммутативности. Зато ei*ei = 1, ei*ej = - ej*ei если i не равно j. Больше никаких правил не нужно.

Описанных правил достаточно. Произведение 4-х компонентных объектов следует напрямую из них. Например, e123 e23 = - e123 * e32 = e122 = e1.

Можно складывать, вычитать, умножать, делить, аналитические функции вычислять.

Так суть этого умножения в том, что оно замкнуто.

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

С эллипсоидом не будет проблемы, можно сменить метрику в пространстве и рассматривать как шар в новых координатах.

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

Ну вообще-то геометрическая алгебра сильно упрощает расчеты в искривленных пространствах, особенно если речь про ОТО.

Ну так ровно это и будет, что написано: скаляр + бивектор. В координатах

\begin{array}{rll}a b & =\left(a_1 b_1+a_2 b_2+a_3 b_3\right) & / / \text { Скалярная часть } \\& +\left(a_1 b_2-a_2 b_1\right) e_1 e_2 & / / \text { Бивекторная часть (плоскость XY) } \\& +\left(a_2 b_3-a_3 b_2\right) e_2 e_3 & / / \text { Бивекторная часть (плоскость YZ) } \\& +\left(a_3 b_1-a_1 b_3\right) e_3 e_1 & / / \text { Биве-кторная часть (плоскость ZX) }\end{array}

Умножение означает применение оператора к оператору. Сложение означает, что мы складываем полученные объекты после того, как применили операторы.

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

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

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

Например, вам нужно сложить две дуги на сфере, для этого достаточно два ротора умножить и всё. А с помощью сферической геометрии это сделать куда сложнее.

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

Information

Rating
1-st
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity

Specialization

Data Scientist
Intern