Поскольку система Maxima не имеет встроенной поддержки гиперкомплексных алгебр в качестве типа переменных, требуется описать как использовать набор коэффициентов бикватерниона в математических операциях так, чтобы они выполнялись так же как если бы это были бикватернионы.
Система Maxima поддерживает действительные, комплексные числа в качестве скалярных переменных и матрицы как со скалярными так и с комплексными коэффициентами. Поэтому опишем, как оперировать бикватернионами, описав замену набора коэффициентов бикватерниона на коэффициенты матрицы, используя матричное представление бикватернионов.
Матричное представление бикватернионов выводится из закона произведения мнимых единиц гиперкомплексного числа. Для этого введем соглашение о нумерации мнимых единиц чтобы зафиксировать порядок компонент: $$ x=x_0+Iix_1+Ijx_2+Ikx_3+Ix_4+ix_5+jx_6+kx_7 $$ Расписав произведение и приведя компоненты, получим, что матрице матричного представления $8\times 8$ соответствуют компоненты бикватерниона $x$, если их расставлять в следующем порядке: $$ A=\left( \begin{array}{rrrrrrrr} x_0 & x_1 & x_2 & x_3 & -x_4 & -x_5 & -x_6 & -x_7 \\ x_1 & x_0 & -x_7 & x_6 & x_5 & x_4 & -x_3 & x_2 \\ x_2 & x_7 & x_0 & -x_5 & x_6 & x_3 & x_4 & -x_1 \\ x_3 & -x_6 & x_5 & x_0 & x_7 & -x_2 & x_1 & x_4 \\ x_4 & -x_5 & -x_6 & -x_7 & x_0 & -x_1 & -x_2 & -x_3 \\ x_5 & -x_4 & x_3 & -x_2 & -x_1 & x_0 & -x_7 & x_6 \\ x_6 & -x_3 & -x_4 & x_1 & -x_2 & x_7 & x_0 & -x_5 \\ x_7 & x_2 & -x_1 & -x_4 & -x_3 & -x_6 & x_5 & x_0 \end{array} \right) $$ На языке программирования Maxima построим функцию, принимающую соответственно 8 коэффициентов и возвращающую матрицу из них, расставляя их в нужном порядке:
makemat(x0,x1,x2,x3,x4,x5,x6,x7):=
matrix([x0,x1,x2,x3,-x4,-x5,-x6,-x7],
[x1,x0,-x7,x6,x5,x4,-x3,x2],
[x2,x7,x0,-x5,x6,x3,x4,-x1],
[x3,-x6,x5,x0,x7,-x2,x1,x4],
[x4,-x5,-x6,-x7,x0,-x1,-x2,-x3],
[x5,-x4,x3,-x2,-x1,x0,-x7,x6],
[x6,-x3,-x4,x1,-x2,x7,x0,-x5],
[x7,x2,-x1,-x4,-x3,-x6,x5,x0]);
Далее, получив такую матрицу, можем использовать ее в арифметических операциях с
матрицами, и первая колонка результатов таких операций будет представлять
соответствующие коэффициенты бикватерниона, как если бы бикватернионы
участвовали в тех же операциях.
Если в качестве коэффициентов такая функция Maxima получит не только числа, но и выражения, то будут сформированы матрицы с соответствующими выражениями в качестве коэффициентов.
Оператор группы Лоренца
Комментариев нет:
Отправить комментарий