Операторы преобразования Лоренца по осям для бивекторов могут быть построены аналитически в силу того, что мы можем построить аналитическое представления экспоненты от бикватерниона и использовать его в качестве полуоператоров.
Используя аналог уравнения Эйлера для кватернионов построим экспоненты для комплексных кватернионов, которыми являются бикватернионы Гамильтона. И дадим опередение для системы компьютерной алгебры Maxima:
makeexp(x1,x2,x3,x5,x6,x7):= ( Fsqrt:sqrt((x5+%i*x1)^2+(x6+%i*x2)^2+(x7+%i*x3)^2), Fsin:sin(Fsqrt), Fcos:cos(Fsqrt), [ ratsimp(realpart(Fcos)), ratsimp(imagpart(Fsin/Fsqrt*(x5+%i*x1))), ratsimp(imagpart(Fsin/Fsqrt*(x6+%i*x2))), ratsimp(imagpart(Fsin/Fsqrt*(x7+%i*x3))), ratsimp(imagpart(Fcos)), ratsimp(realpart(Fsin/Fsqrt*(x5+%i*x1))), ratsimp(realpart(Fsin/Fsqrt*(x6+%i*x2))), ratsimp(realpart(Fsin/Fsqrt*(x7+%i*x3))) ] );Здесь функция makeexp принимает 6 параметров и считая их ненулевыми компонентами показателя экспоненты, возвращает матрицу из компонент экспоненты результата. В вычислениях используется преобразование комплексных чисел.
Для построения оператора буста по оcи X задаим построение левого и правого полуоператоров:
left:makeexp(psi[x]/2,0,0,0,0,0); right:makeexp(-psi[x]/2,0,0,0,0,0);И преобразование к укороченной записи произведения трех бикватернионов через символы $axb$:
a7:left[8];b7:right[8];a6:left[7];b6:right[7]; a5:left[6];b5:right[6];a4:left[5];b4:right[5]; a3:left[4];b3:right[4];a2:left[3];b2:right[3]; a1:left[2];b1:right[2];a0:left[1];b0:right[1];После этого, используя раскрытое ранее произведение трех бикватернионов, получим отдельные компоненты оператора Лоренца, отобрав лишь векторные компоненты результата произведения:
A11:trigreduce(trigsimp(a7*b7+a6*b6-a5*b5-a4*b4- a3*b3-a2*b2+a1*b1+a0*b0)); A12:trigreduce(trigsimp(a0*b7-a5*b6-a6*b5+a3*b4- a4*b3+a1*b2+a2*b1-a7*b0)); A13:trigreduce(trigsimp(-a5*b7-a0*b6-a7*b5-a2*b4+ a1*b3+a4*b2+a3*b1+a6*b0)); A14:trigreduce(trigsimp(a3*b7+a2*b6-a1*b5+a0*b4+ a7*b3+a6*b2-a5*b1+a4*b0)); A15:trigreduce(trigsimp(a4*b7-a1*b6-a2*b5-a7*b4+ a0*b3-a5*b2-a6*b1-a3*b0)); A16:trigreduce(trigsimp(-a1*b7-a4*b6-a3*b5+a6*b4- a5*b3-a0*b2-a7*b1+a2*b0)); A21:trigreduce(trigsimp(-a0*b7-a5*b6-a6*b5-a3*b4+ a4*b3+a1*b2+a2*b1+a7*b0)); A22:trigreduce(trigsimp(a7*b7-a6*b6+a5*b5-a4*b4- a3*b3+a2*b2-a1*b1+a0*b0)); A23:trigreduce(trigsimp(-a6*b7-a7*b6+a0*b5+a1*b4+ a2*b3+a3*b2-a4*b1-a5*b0)); A24:trigreduce(trigsimp(-a4*b7-a1*b6-a2*b5+a7*b4- a0*b3-a5*b2-a6*b1+a3*b0)); A25:trigreduce(trigsimp(a3*b7-a2*b6+a1*b5+a0*b4+ a7*b3-a6*b2+a5*b1+a4*b0)); A26:trigreduce(trigsimp(-a2*b7-a3*b6+a4*b5-a5*b4- a6*b3-a7*b2+a0*b1-a1*b0)); A31:trigreduce(trigsimp(-a5*b7+a0*b6-a7*b5+a2*b4+ a1*b3-a4*b2+a3*b1-a6*b0)); A32:trigreduce(trigsimp(-a6*b7-a7*b6-a0*b5-a1*b4+ a2*b3+a3*b2+a4*b1+a5*b0)); A33:trigreduce(trigsimp(-a7*b7+a6*b6+a5*b5-a4*b4+ a3*b3-a2*b2-a1*b1+a0*b0)); A34:trigreduce(trigsimp(-a1*b7+a4*b6-a3*b5-a6*b4- a5*b3+a0*b2-a7*b1-a2*b0)); A35:trigreduce(trigsimp(-a2*b7-a3*b6-a4*b5+a5*b4- a6*b3-a7*b2-a0*b1+a1*b0)); A36:trigreduce(trigsimp(-a3*b7+a2*b6+a1*b5+a0*b4- a7*b3+a6*b2+a5*b1+a4*b0)); A41:trigreduce(trigsimp(-a3*b7-a2*b6+a1*b5-a0*b4- a7*b3-a6*b2+a5*b1-a4*b0)); A42:trigreduce(trigsimp(-a4*b7+a1*b6+a2*b5+a7*b4- a0*b3+a5*b2+a6*b1+a3*b0)); A43:trigreduce(trigsimp(a1*b7+a4*b6+a3*b5-a6*b4+ a5*b3+a0*b2+a7*b1-a2*b0)); A44:trigreduce(trigsimp(a7*b7+a6*b6-a5*b5-a4*b4- a3*b3-a2*b2+a1*b1+a0*b0)); A45:trigreduce(trigsimp(a0*b7-a5*b6-a6*b5+a3*b4- a4*b3+a1*b2+a2*b1-a7*b0)); A46:trigreduce(trigsimp(-a5*b7-a0*b6-a7*b5-a2*b4+ a1*b3+a4*b2+a3*b1+a6*b0)); A51:trigreduce(trigsimp(a4*b7+a1*b6+a2*b5-a7*b4+ a0*b3+a5*b2+a6*b1-a3*b0)); A52:trigreduce(trigsimp(-a3*b7+a2*b6-a1*b5-a0*b4- a7*b3+a6*b2-a5*b1-a4*b0)); A53:trigreduce(trigsimp(a2*b7+a3*b6-a4*b5+a5*b4+ a6*b3+a7*b2-a0*b1+a1*b0)); A54:trigreduce(trigsimp(-a0*b7-a5*b6-a6*b5-a3*b4+ a4*b3+a1*b2+a2*b1+a7*b0)); A55:trigreduce(trigsimp(a7*b7-a6*b6+a5*b5-a4*b4- a3*b3+a2*b2-a1*b1+a0*b0)); A56:trigreduce(trigsimp(-a6*b7-a7*b6+a0*b5+a1*b4+ a2*b3+a3*b2-a4*b1-a5*b0)); A61:trigreduce(trigsimp(a1*b7-a4*b6+a3*b5+a6*b4+ a5*b3-a0*b2+a7*b1+a2*b0)); A62:trigreduce(trigsimp(a2*b7+a3*b6+a4*b5-a5*b4+ a6*b3+a7*b2+a0*b1-a1*b0)); A63:trigreduce(trigsimp(a3*b7-a2*b6-a1*b5-a0*b4+ a7*b3-a6*b2-a5*b1-a4*b0)); A64:trigreduce(trigsimp(-a5*b7+a0*b6-a7*b5+a2*b4+ a1*b3-a4*b2+a3*b1-a6*b0)); A65:trigreduce(trigsimp(-a6*b7-a7*b6-a0*b5-a1*b4+ a2*b3+a3*b2+a4*b1+a5*b0)); A66:trigreduce(trigsimp(-a7*b7+a6*b6+a5*b5-a4*b4+ a3*b3-a2*b2-a1*b1+a0*b0));В качестве отдельных значений получаем выражения $$ \frac{\psi_x\mathrm{sh}(|\psi_x|)}{|\psi_x|} $$ $$ 2\left(\frac{\mathrm{ch}(|\psi_x|)}{2}+\frac{1}{2}\right)-1 $$ Используя правила четности гиперболических функций, упрощаем их до более коротких: $$ \frac{\psi_x\mathrm{sh}(|\psi_x|)}{|\psi_x|} \rightarrow\mathrm{sh}(\psi_x) $$ $$ 2\left(\frac{\mathrm{ch}(|\psi_x|)}{2}+\frac{1}{2}\right)-1 \rightarrow\mathrm{ch}(\psi_x) $$ И в итоге получаем коэффициенты оператора Лоренца для буста по оси X для бивекторов: $$ \left( \begin{array}{cccccc} 1 & 0 & 0 & 0 & 0 & 0 \\ 0 & \mathrm{ch}(\psi_x) & 0 & 0 & 0 & -\mathrm{sh}(\psi_x) \\ 0 & 0 & \mathrm{ch}(\psi_x) & 0 & \mathrm{sh}(\psi_x) & 0 \\ 0 & 0 & 0 & 1 & 0 & 0 \\ 0 & 0 & \mathrm{sh}(\psi_x) & 0 & \mathrm{ch}(\psi_x) & 0 \\ 0 & -\mathrm{sh}(\psi_x) & 0 & 0 & 0 & \mathrm{ch}(\psi_x) \end{array} \right) $$ Если выполнить замену гиперболических функций от быстроты на выражения через более распространенную запись через отношение скорости к скорости света $$ \mathrm{ch}(\psi_x)=\frac{1}{\sqrt{1-v^2/c^2}} $$ $$ \mathrm{sh}(\psi_x)=\frac{v/c}{\sqrt{1-v^2/c^2}} $$ То получим, например, хорошо известное в электродинамике преобразование напряженностей электромагнитного поля, поскольку они образуют бивектор.
Для построения оператора буста по оси Y сформируем полуоператоры для этого параметра, оставив остальной текст программы для Maxima неизменным:
left:makeexp(0,psi[y]/2,0,0,0,0); right:makeexp(0,-psi[y]/2,0,0,0,0);Получаем оператор, применив те же упрощения для гиперболических функций: $$ \left( \begin{array}{cccccc} \mathrm{ch}(\psi_y) & 0 & 0 & 0 & 0 & \mathrm{sh}(\psi_y) \\ 0 & 1 & 0 & 0 & 0 & 0 \\ 0 & 0 & \mathrm{ch}(\psi_y) & -\mathrm{sh}(\psi_y) & 0 & 0 \\ 0 & 0 & -\mathrm{sh}(\psi_y) & \mathrm{ch}(\psi_y) & 0 & 0 \\ 0 & 0 & 0 & 0 & 1 & 0 \\ \mathrm{sh}(\psi_y) & 0 & 0 & 0 & 0 & \mathrm{ch}(\psi_y) \end{array} \right) $$ Для получения оператора буста по оси Z сформируем полуоператоры:
left:makeexp(0,0,psi[z]/2,0,0,0); right:makeexp(0,0,-psi[z]/2,0,0,0);И получим оператор буста по оси Z, применив упрощения: $$ \left( \begin{array}{cccccc} \mathrm{ch}(\psi_z) & 0 & 0 & 0 & -\mathrm{sh}(\psi_z) & 0 \\ 0 & \mathrm{ch}(\psi_z) & 0 & \mathrm{sh}(\psi_z) & 0 & 0 \\ 0 & 0 & 0 & 1 & 0 & 0 \\ 0 & \mathrm{sh}(\psi_z) & 0 & \mathrm{ch}(\psi_z) & 0 & 0 \\ -\mathrm{sh}(\psi_z) & 0 & 0 & 0 & \mathrm{ch}(\psi_z) & 0 \\ 0 & 0 & 0 & 0 & 0 & 1 \end{array} \right) $$ Для построения оператора поворота по оси X построим полуоператоры:
left:makeexp(0,0,0,phi[x]/2,0,0); right:makeexp(0,0,0,-phi[x]/2,0,0);И получим оператор поворота по оси X, применив упрощения с использованием четности тригонометрических функций: $$ \left( \begin{array}{cccccc} 1 & 0 & 0 & 0 & 0 & 0 \\ 0 & \cos(\varphi_x) & -\sin(\varphi_x) & 0 & 0 & 0 \\ 0 & \sin(\varphi_x) & \cos(\varphi_x) & 0 & 0 & 0 \\ 0 & 0 & 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 0 & \cos(\varphi_x) & -\sin(\varphi_x) \\ 0 & 0 & 0 & 0 & \sin(\varphi_x) & \cos(\varphi_x) \end{array} \right) $$ Для построения оператора поворота по оси Y построим полуоператоры:
left:makeexp(0,0,0,0,phi[y]/2,0); right:makeexp(0,0,0,0,-phi[y]/2,0);И получим оператор поворота по оси Y, применив упрощения с использованием четности тригонометрических функций: $$ \left( \begin{array}{cccccc} \cos(\varphi_y) & 0 & \sin(\varphi_y) & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 & 0 & 0 \\ -\sin(\varphi_y) & 0 & \cos(\varphi_y) & 0 & 0 & 0 \\ 0 & 0 & 0 & \cos(\varphi_y) & 0 & \sin(\varphi_y) \\ 0 & 0 & 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & -\sin(\varphi_y) & 0 & \cos(\varphi_y) \end{array} \right) $$ Для построения оператора поворота по оси Z построим полуоператоры:
left:makeexp(0,0,0,0,0,phi[z]/2); right:makeexp(0,0,0,0,0,-phi[z]/2);И получим оператор поворота по оси Z, применив упрощения с использованием четности тригонометрических функций: $$ \left( \begin{array}{cccccc} \cos(\varphi_z) & -\sin(\varphi_z) & 0 & 0 & 0 & 0 \\ \sin(\varphi_z) & \cos(\varphi_z) & 0 & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & \cos(\varphi_z) & -\sin(\varphi_z) & 0 \\ 0 & 0 & 0 & \sin(\varphi_z) & \cos(\varphi_z) & 0 \\ 0 & 0 & 0 & 0 & 0 & 1 \end{array} \right) $$
Оператор группы Лоренца
Комментариев нет:
Отправить комментарий