Для построения оператора группы Лоренца, как бустов, так и поворотов, используем определение получения экспоненты от бикватерниона и произведение трех бикватернионов. В преобразовании 4-векторов правый полуоператор сопряжен к левому скалярно-векторно. В нем аксиальная часть параметра меняет знак один раз, а полярная дважды, следовательно полярная часть параметров не меняет знак.
Зададим полуоператоры вычисленные как экспонента:
left:makeexp(psi[x]/2,0,0,0,0,0); right:makeexp(psi[x]/2,0,0,0,0,0);Переведем в сокращенную запись:
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((-a2*b7)+a3*b6+a4*b5+a5*b4- a6*b3+a7*b2+a0*b1+a1*b0)); A13:trigreduce(trigsimp(a1*b7+a4*b6-a3*b5+a6*b4+ a5*b3+a0*b2-a7*b1+a2*b0)); A14:trigreduce(trigsimp(a4*b7-a1*b6+a2*b5+a7*b4+ a0*b3-a5*b2+a6*b1+a3*b0)); A21:trigreduce(trigsimp(a2*b7-a3*b6+a4*b5+a5*b4+ a6*b3-a7*b2+a0*b1+a1*b0)); A22:trigreduce(trigsimp(a7*b7+a6*b6-a5*b5-a4*b4- a3*b3-a2*b2+a1*b1+a0*b0)); A23:trigreduce(trigsimp(a0*b7-a5*b6-a6*b5+a3*b4- a4*b3+a1*b2+a2*b1-a7*b0)); A24:trigreduce(trigsimp((-a5*b7)-a0*b6-a7*b5- a2*b4+a1*b3+a4*b2+a3*b1+a6*b0)); A31:trigreduce(trigsimp((-a1*b7)+a4*b6+a3*b5+a6*b4- a5*b3+a0*b2+a7*b1+a2*b0)); A32:trigreduce(trigsimp((-a0*b7)-a5*b6-a6*b5-a3*b4+ a4*b3+a1*b2+a2*b1+a7*b0)); A33:trigreduce(trigsimp(a7*b7-a6*b6+a5*b5-a4*b4- a3*b3+a2*b2-a1*b1+a0*b0)); A34:trigreduce(trigsimp((-a6*b7)-a7*b6+a0*b5+a1*b4+ a2*b3+a3*b2-a4*b1-a5*b0)); A41:trigreduce(trigsimp(a4*b7+a1*b6-a2*b5+a7*b4+ a0*b3+a5*b2-a6*b1+a3*b0)); A42:trigreduce(trigsimp((-a5*b7)+a0*b6-a7*b5+a2*b4+ a1*b3-a4*b2+a3*b1-a6*b0)); A43:trigreduce(trigsimp((-a6*b7)-a7*b6-a0*b5-a1*b4+ a2*b3+a3*b2+a4*b1+a5*b0)); A44:trigreduce(trigsimp((-a7*b7)+a6*b6+a5*b5-a4*b4+ a3*b3-a2*b2-a1*b1+a0*b0));В качестве коэффициентов входящих в результат получаем выражения вида $$ 2\left(\frac{\mathrm{ch}(|\psi_x|)}{2}+\frac{1}{2}\right)-1 $$ $$ \frac{\psi_x\mathrm{sh}(|\psi_x|)}{|\psi_x|} $$ Используя правила четности гиперболических функций, можем сделать замену $$ 2\left(\frac{\mathrm{ch}(|\psi_x|)}{2}+\frac{1}{2}\right)-1 \rightarrow\mathrm{ch}(\psi_x) $$ $$ \frac{\psi_x\mathrm{sh}(|\psi_x|)}{|\psi_x|}= \rightarrow\mathrm{sh}(\psi_x) $$ В итоге, применив упрощения, получаем оператор буста для 4-векторов в элементарных функциях: $$ \left( \begin{array}{cccc} \mathrm{ch}(\psi_x) & \mathrm{sh}(\psi_x) & 0 & 0 \\ \mathrm{sh}(\psi_x) & \mathrm{ch}(\psi_x) & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{array} \right) $$ Оператор получен во вполне узнаваемом по многим источникам виде.
Для оператора буста по оси Y зададим параметры полуоператоров по оси Y:
left:makeexp(0,psi[y]/2,0,0,0,0); right:makeexp(0,psi[y]/2,0,0,0,0);И получим оператор буста по оси Y: $$ \left( \begin{array}{cccc} \mathrm{ch}(\psi_y) & 0 & \mathrm{sh}(\psi_y) & 0 \\ 0 & 1 & 0 & 0 \\ \mathrm{sh}(\psi_y) & 0 & \mathrm{ch}(\psi_y) & 0 \\ 0 & 0 & 0 & 1 \end{array} \right) $$ Для оператора буста по оси Z зададим параметры полуоператоров по оси 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}{cccc} \mathrm{ch}(\psi_z) & 0 & 0 & \mathrm{sh}(\psi_z) \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ \mathrm{sh}(\psi_z) & 0 & 0 & \mathrm{ch}(\psi_z) \end{array} \right) $$ Для оператора поворота по оси X зададим параметры полуоператоров по оси X:
left:makeexp(0,0,0,phi[x]/2,0,0); right:makeexp(0,0,0,-phi[x]/2,0,0);Здесь в правом полуоператоре параметр меняет знак. Получаем выражение с коэффициентами в виде $$ 2\left(\frac{\cos(|\varphi_x|)}{2}+\frac{1}{2}\right)-1 $$ $$ \frac{\varphi_x\sin(|\varphi_x|)}{|\varphi_x|} $$ Используя как и с гиперболическими функциями правила четности тригонометрических функций, вделаем упрощение: $$ 2\left(\frac{\cos(|\varphi_x|)}{2}+\frac{1}{2}\right)-1 \rightarrow\cos(\varphi_x) $$ $$ \frac{\varphi_x\sin(|\varphi_x|)}{|\varphi_x|} \rightarrow\sin(\varphi_x) $$ Получим оператор поворота по оси X: $$ \left( \begin{array}{cccc} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & \cos(\varphi_x) & -\sin(\varphi_x) \\ 0 & 0 & \sin(\varphi_x) & \cos(\varphi_x) \end{array} \right) $$ Для оператора поворота по оси Y зададим параметры полуоператоров по оси 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}{cccc} 1 & 0 & 0 & 0 \\ 0 & \cos(\varphi_y) & 0 & \sin(\varphi_y) \\ 0 & 0 & 1 & 0 \\ 0 & -\sin(\varphi_y) & 0 & \cos(\varphi_y) \end{array} \right) $$ Для оператора поворота по оси Z зададим параметры полуоператоров по оси 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}{cccc} 1 & 0 & 0 & 0 \\ 0 & \cos(\varphi_z) & -\sin(\varphi_z) & 0 \\ 0 & \sin(\varphi_z) & \cos(\varphi_z) & 0 \\ 0 & 0 & 0 & 1 \end{array} \right) $$ Операторы поворотов также получены в вполне привычном по другим источникам виде в элементарных функциях.
Оператор группы Лоренца
Комментариев нет:
Отправить комментарий