Матрицы Паули. Просто. Для обычной физики и графики
Давно хотел я написать про матрицы Паули. Но каждый раз, когда я читал очередную чисто научную статью на схожую тему, задавал простой вопрос: «Дружище, ты за что так не любишь людей?». Поэтому во-первых статья в жанре «научно-популярный кейс», во-вторых из изначальной идеи статьи долго исключал все, что возможно, из лишнего и труднопонятного.
В-третьих, основной рецепт во введении, на первой же странице.
Мне не нравится, когда от букв в глазах рябит, или много не нужного лирического текста, или не очень понятно, где же практически полезный рецепт и линия повествования. Поэтому в основном тексте только суть, а все подробности кейса убраны под кат, для тех читателей, кому нужны подробности, а не простота.
Все что ниже, наверное, у кого-то опубликовано, но мне лично не попалось. С одной стороны, к моему сожалению, потому что сэкономил бы полгода своего досуга. С другой стороны, разобраться было увлекательно. Ну и буду рад, если кому знания о таком инструменте окажутся полезными, или хотя бы расширят кругозор.
Введение
Для тех, кому лень читать всю статью начну с основного рецепта. (Еще раз — открывая «подкат» вы соглашаетесь с тем, что принцип простоты вас особо не интересовал.)
Это не про квантовую физику, статья про применение математического инструмента для любых прикладных целей, хоть для инженерии, хоть для компьютерной графики.
Матрицы Паули
Сигмы с одним индексом 1,2,3 «изоморфны обычным единичным векторам», а сигмы с двумя индексами являются единичными кватернионами. Последние построены путем умножения базовых матриц Паули.
Матрицы Паули с точки зрения математики задают тело, как и кватернионы. Тело — это поле для, которого умножение некоммутативно. Для обоих задано деление (существует обратный элемент), что очень удобно.
Выжимка из «Казановой»:
Читать координаты вектора в базисе матриц Паули не сложнее чем в записи обычных столбцов-строк из трех элементов. Формула в декартовых координатах:
В таком виде у ненулевого вектора всегда есть обратный вектор, и этим матрицам все равно с какой стороны на них умножают.
Так же квадрат вектора можно вычислить и через прямое умножение на себя, и через определитель такой матрицы (результат идентичен).
Вектор в такой записи является и оператором по отношению к другим векторам, и объектом действия со стороны других векторов. Все в простых выражениях, если разобраться.
С учетом перечисленного, на мой взгляд, инструмент проще и удобнее, чем линейная алгебра с первого курса.
Уберем путаницу между координатами и номерами осей и уточним правило направления вращения:
Операторы вращения
Операторы вращения вокруг осей »1» и »2»
Формула в сферических координатах получается если вращать вектор, направленный по оси »3» вокруг осей »1» и »2».
* вроде очевидно как получить из формулы углы для любого вектора, но если нужно допишу
(для математиков) еще не доказал для всех листов комплексной экспоненты, но и не опроверг. Сейчас похоже, что для 3D формула Эйлера выглядит так.
Похоже на единичный кватернион произвольной ориентации, но не со скалярной, а с мнимой частью.
Интересно, то, что матрица А равна разности единичной матрицы Паули и произвольного единичного вектора.
Если есть желание поучаствовать, приглашаю.
Собственно результат работы формулы линеен по углам: непрерывные окружности построены по углам вокруг »1» оси, а поворот этих окружностей по »2» оси с шагом 45 градусов.
Можно применять для любой физики, или для компьютерной графики. С матрицами 2×2 можно работать даже в уме при наличии навыка. Что сильно удобнее и производительнее, чем работать с обычными векторами, для которых не определено деление и матрица поворота 3×3 выглядит так.
История вопроса
(Первая часть соответствовала простому (приемлемому) уровню математики, с точки зрения большинства инженеров и программистов. Вторая часть, тоже соответствует простому уровню, но уже с точки зрения ценителей математики, остальным дальше можно не читать.)
Излагаю, разумеется, в последовательности логической цепочки повествования. Любой тезис может быть проверен символьными вычислениями (Mathcad, Wolfram и т.д.), поэтому материал не раздуваю.
Как получить матрицу Паули напрямую я пока не придумал. Но можно из комплексных чисел получить оператор поворота на плоскости. Для поворота вокруг оси »2» он такой.
Подробнее
*Оператор вращения это единичный кватернион со скалярной частью
Изучим как операторы поворота действуют на векторы в базисе матриц Паули. Поворот выполняется так:
Поворот единичных векторов осей »1» и »2» вокруг оси »3» (поворот оси »3» не происходит»)
Подробнее
Повернулось на 45 градусов против часовой стрелки вокруг оси «z» (3-й оси).
Поворот единичных векторов осей »1» и »3» вокруг оси »2» (поворот оси »2» не происходит»)
Подробнее
Повернулось на 45 градусов против часовой стрелки вокруг оси «y» (2-й оси)
Поворот единичных векторов осей »2» и »3» вокруг оси »1» (поворот оси »1» не происходит»)
Подробнее
Повернулось на 45 градусов против часовой стрелки вокруг оси «x» (1-й оси)
В общем первое выражение, это вращение единичного вектора против часовой стрелки. А переставленные компоненты — это вращение по часовой стрелке (в обратную сторону).
Если перемножить операторы вращения в порядке 1,2,3 (в порядке применения к вектору справа), наиболее компактный вид оператора преобразования будет таким
(*если применить операторы поворота в другом порядке не будет такой симметрии компонент)
Если варьировать углы поворота и компоненты вектора, например вот так
Формирование матрицы векторов, образующих кривые
Если вращать вектор этим оператором поворота, будем получать различные трассировки вращаемого вектора. Примеры:
Если крутить единичный вектор »2» только за счет Y или X, при фиксированной второй переменной не в нуле, за один оборот будет один «круг»
Если крутить за счет X=Y, за один оборот будет два «круга»
Причем это кривые не из «абстрактного гильбертова пространства», а вполне обычные из нашего 3D-мира |
Нюанс в вопросе «что же мы хотим от созданной модели», и если не понимать механику, то «накрутить» в режиме фантазий можно буквально что угодно.
Так как был озвучен жанр «кейс», то на этом закончу, чтобы не раздувать объем статьи. Но направление мысли думаю уже понятно.
Для исключения фантазий введем поворот третьей сигмы (оси »3» вокруг остальных двух осей). Именно третьей, так как вы можете проверить, что матрицей собственных чисел для остальных двух сигм, является именно сигма »3».
Повторю начало статьи. Вращаем двумя операторами поворота вектор со-направленный третьей оси.
Подробнее как вращаем
Получаем линейную по отношению к углам поворота модель произвольного вектора
Далее через символьные вычисления можно получить матричную экспоненту, написанную в заголовке и во введении, но думаю такая история окажется посерьёзнее этой научно-популярной статьи и поэтому не трачу ни ваше ни свое время на обзор ее свойств.
P.S. Если, на ваш взгляд нужно что-то уточнить, или назвать терминами из высоких наук, пишите, дополню в комментариях.
Список литературы в первой статье. Всем искренне советую первый пункт из него:
«От алгебры Клиффорда до атома водорода» Г.Казанова, 1997.
Благодаря именно этой книге, лично у меня получилось значительно упростить свои прикладные упражнения. Например, была идея описать в Wolfram некоммутативную алгебру, оказалось, что можно обходиться и без этого.