Матрицы Паули. Просто. Для обычной физики и графики

Давно хотел я написать про матрицы Паули. Но каждый раз, когда я читал очередную чисто научную статью на схожую тему, задавал простой вопрос: «Дружище, ты за что так не любишь людей?». Поэтому во-первых статья в жанре «научно-популярный кейс», во-вторых из изначальной идеи статьи долго исключал все, что возможно, из лишнего и труднопонятного.

В-третьих, основной рецепт во введении, на первой же странице.

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

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

Введение

Для тех, кому лень читать всю статью начну с основного рецепта. (Еще раз — открывая «подкат» вы соглашаетесь с тем, что принцип простоты вас особо не интересовал.)

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

Матрицы Паули

f9ddbd1cc67173833244096b5dccd078.png

Сигмы с одним индексом 1,2,3 «изоморфны обычным единичным векторам», а сигмы с двумя индексами являются единичными кватернионами. Последние построены путем умножения базовых матриц Паули.

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

Выжимка из «Казановой»:

8c7d083478a8494bed554adc69fa063d.png

Читать координаты вектора в базисе матриц Паули не сложнее чем в записи обычных столбцов-строк из трех элементов. Формула в декартовых координатах:

b6f62d863480baddaacde3ef27c825a2.png

В таком виде у ненулевого вектора всегда есть обратный вектор, и этим матрицам все равно с какой стороны на них умножают.

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

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

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

Уберем путаницу между координатами и номерами осей и уточним правило направления вращения:

9c37416fa8774c69e9d13247f44a1d8e.pngОператоры вращения

Операторы вращения вокруг осей »1» и »2»

3b025bf357890bb3abf0f80aa8cdff1c.png

Формула в сферических координатах получается если вращать вектор, направленный по оси »3» вокруг осей »1» и »2».

* вроде очевидно как получить из формулы углы для любого вектора, но если нужно допишу

* вроде очевидно как получить из формулы углы для любого вектора, но если нужно допишу

(для математиков) еще не доказал для всех листов комплексной экспоненты, но и не опроверг. Сейчас похоже, что для 3D формула Эйлера выглядит так.

365bd664792fe0c56535ccb7a7c41695.pngПохоже на единичный кватернион произвольной ориентации, но не со скалярной, а с мнимой частью.

Похоже на единичный кватернион произвольной ориентации, но не со скалярной, а с мнимой частью.

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

Если есть желание поучаствовать, приглашаю.

Собственно результат работы формулы линеен по углам: непрерывные окружности построены по углам вокруг »1» оси, а поворот этих окружностей по »2» оси с шагом 45 градусов.

3df4a74ccea33304b30551c580617241.png

Можно применять для любой физики, или для компьютерной графики. С матрицами 2×2 можно работать даже в уме при наличии навыка. Что сильно удобнее и производительнее, чем работать с обычными векторами, для которых не определено деление и матрица поворота 3×3 выглядит так.

36a13e063ec89e221548e0bb6c646080.png

История вопроса

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

Излагаю, разумеется, в последовательности логической цепочки повествования. Любой тезис может быть проверен символьными вычислениями (Mathcad, Wolfram и т.д.), поэтому материал не раздуваю.

  1. Как получить матрицу Паули напрямую я пока не придумал. Но можно из комплексных чисел получить оператор поворота на плоскости. Для поворота вокруг оси »2» он такой.

Подробнее*Оператор вращения это единичный кватернион со скалярной частью

*Оператор вращения это единичный кватернион со скалярной частью

  1. Изучим как операторы поворота действуют на векторы в базисе матриц Паули. Поворот выполняется так:

    af3fab483f5f3f7422d2022c46ce9c63.png

Поворот единичных векторов осей »1» и »2» вокруг оси »3» (поворот оси »3» не происходит»)

efd0195fb64116c7b378d85024a090b5.pngПодробнее

08e0fc0f0d071cc0b35bb7f9cb12427e.png

b52cc791ab9b47054d16330eeaf5fe26.png

Повернулось на 45 градусов против часовой стрелки вокруг оси «z» (3-й оси).

Поворот единичных векторов осей »1» и »3» вокруг оси »2» (поворот оси »2» не происходит»)

8c3da3fb7d64b04e17a42cd73575a54f.pngПодробнее

93616a956e597006d8536583ba1db855.png

649b8cee2ddce45551cde96f73ea114c.png

Повернулось на 45 градусов против часовой стрелки вокруг оси «y» (2-й оси)

Поворот единичных векторов осей »2» и »3» вокруг оси »1» (поворот оси »1» не происходит»)

e7c42afc4227ffa92748769a9bfa4a75.pngПодробнее

783e1a7db2c3845b11afe7ea36365216.png

03eb963f085e167e3cfb81a5e86f4731.png

Повернулось на 45 градусов против часовой стрелки вокруг оси «x» (1-й оси)

c41f916c931afaa6cba919a418afdedb.png

В общем первое выражение, это вращение единичного вектора против часовой стрелки. А переставленные компоненты — это вращение по часовой стрелке (в обратную сторону).

  1. Если перемножить операторы вращения в порядке 1,2,3 (в порядке применения к вектору справа), наиболее компактный вид оператора преобразования будет таким

    (*если применить операторы поворота в другом порядке не будет такой симметрии компонент)

    (*если применить операторы поворота в другом порядке не будет такой симметрии компонент)

a27e5fbf1c98471c4a73e3704d5d7626.png

  1. Если варьировать углы поворота и компоненты вектора, например вот так

    f20d07ce4f39c46ad870ce212541a8a8.png

Формирование матрицы векторов, образующих кривые

4da3b1f1496f7c274ba16f75e0bf95cb.png

Если вращать вектор этим оператором поворота, будем получать различные трассировки вращаемого вектора. Примеры:

Если крутить единичный вектор »2» только за счет Y или X, при фиксированной второй переменной не в нуле, за один оборот будет один «круг»

eae2c2d3148bd774cbd9153a74fbf6ea.pngd07a89c083c9dc1917c335556cfb2102.png

Если крутить за счет X=Y, за один оборот будет два «круга»

Причем это кривые не из «абстрактного гильбертова пространства», а вполне обычные из нашего 3D-мира

9f7884a8ea86c77c0c0a860764770276.pngbed7f19aee7f0720d73d11620437056d.png490ae333a65e9b0432967b9446a2c68c.png

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

Так как был озвучен жанр «кейс», то на этом закончу, чтобы не раздувать объем статьи. Но направление мысли думаю уже понятно.

  1. Для исключения фантазий введем поворот третьей сигмы (оси »3» вокруг остальных двух осей). Именно третьей, так как вы можете проверить, что матрицей собственных чисел для остальных двух сигм, является именно сигма »3».

    Повторю начало статьи. Вращаем двумя операторами поворота вектор со-направленный третьей оси.

    8f59624445feab730fb4a396c13842e0.png

Подробнее как вращаем

e4733846c304f79267af60a59869b0ad.png

Получаем линейную по отношению к углам поворота модель произвольного вектора

28055de5ec42346e975fcb698d561b69.png

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

P.S. Если, на ваш взгляд нужно что-то уточнить, или назвать терминами из высоких наук, пишите, дополню в комментариях.

Список литературы в первой статье. Всем искренне советую первый пункт из него:

«От алгебры Клиффорда до атома водорода» Г.Казанова, 1997.

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

© Habrahabr.ru