login  home  contents  what's new  discussion  bug reports     help  links  subscribe  changes  refresh  edit

Edit detail for SandBoxLorentzTransformation revision 25 of 30

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
Editor: page
Time: 2013/10/07 05:03:13 GMT+0
Note: tidy

changed:
-is?(eq:Equation Scalar):Boolean == (lhs(eq)-rhs(eq)=0)::Boolean
is?(eq:Equation Scalar):Boolean == (simplify(lhs(eq)-rhs(eq))=0)::Boolean

changed:
-( (lhs(eq)-rhs(eq)) :: Matrix Expression AlgebraicNumber = _
(map(simplify,lhs(eq)-rhs(eq)) :: Matrix Expression AlgebraicNumber = _

added:
  ?c*exp(a-b)+?c*exp(b-a) == 2*c*cosh(a-b)
  ?c*exp(a-b)-?c*exp(b-a) == 2*c*sinh(a-b)
exp2htrigs(x:Scalar):Scalar == htrigs sinhcosh simplify x 
expandhtrigs := rule
  cosh(:x+y) == sinh(x)*sinh(y)+cosh(x)*cosh(y)
  sinh(:x+y) == cosh(x)*sinh(y)+sinh(x)*cosh(y)
  cosh(2*x) == 2*cosh(x)^2-1
  sinh(2*x) == 2*sinh(x)*cosh(x)
expandhtrigs2 := rule
  cosh(2*x+2*y) == 2*cosh(x+y)^2-1
  sinh(2*x+2*y) == 2*sinh(x+y)*cosh(x+y)
  cosh(2*x-2*y) == 2*cosh(x-y)^2-1
  sinh(2*x-2*y) == 2*sinh(x-y)*cosh(x-y)

changed:
-U:=vect [(exp(a)+exp(-a))/2,(exp(a)-exp(-a))/2,0,0]
-V:=vect [(exp(b)+exp(-b))/2,(exp(b)-exp(-b))/2,0,0]
-map(x+->sinhcosh(x),U)
U:=vect [(exp(u)+exp(-u))/2,(exp(u)-exp(-u))/2,0,0]

added:
V:=vect [(exp(v)+exp(-v))/2,(exp(v)-exp(-v))/2,0,0]
map(exp2htrigs,U)
exp2htrigs dot(U,V)

changed:
-v(P,Q)==-P/dot(P,Q)-Q
-v(P,Q)
-v(S,T)
-map(x+->htrigs sinhcosh simplify x,v(U,V))
w(P,Q)==-P/dot(P,Q)-Q
w(P,Q)
w(S,T)

changed:
-Observer P measures velocity v(Q,P). v(Q,P) is space-like
In two dimensions

changed:
-dot(v(P,vect [1,0,0,0]),v(P,vect [1,0,0,0]))
map(x+->simplify x,w(U,V))
vect [cosh(u)/cosh(u-v)-cosh(v),sinh(u)/cosh(u-v)-sinh(v),0,0]
Is?(map(x+->expandhtrigs exp2htrigs x, %-w(U,V)) = vect [0,0,0,0])

added:

Observer P measures velocity w(Q,P). w(Q,P) is space-like
\begin{axiom}
dot(w(P,vect [1,0,0,0]),w(P,vect [1,0,0,0]))
\end{axiom}

changed:
-dot(P,v(Q,P))
-possible dot(v(Q,P),v(Q,P))::EXPR Float
-dot(Q,v(P,Q))
-possible dot(v(P,Q),v(P,Q))::EXPR Float
dot(P,w(Q,P))
possible dot(w(Q,P),w(Q,P))::EXPR Float
dot(Q,w(P,Q))
possible dot(w(P,Q),w(P,Q))::EXPR Float

changed:
-v(vect [u0,u1,u2,u3],vect [1,0,0,0])
-v(R,vect [1,0,0,0])
-v(S,vect [1,0,0,0])
-map(x+->htrigs sinhcosh simplify x, v(U,vect [1,0,0,0]))
w(vect [u0,u1,u2,u3],vect [1,0,0,0])
w(R,vect [1,0,0,0])
w(S,vect [1,0,0,0])
map(exp2htrigs, w(U,vect [1,0,0,0]))

changed:
-v(vect [1,0,0,0],S)
-v(vect [1,0,0,0],R)
-is?(dot(v(P,Q),v(P,Q))=dot(v(Q,P),v(Q,P)))
w(vect [1,0,0,0],S)
w(vect [1,0,0,0],R)
is?(dot(w(P,Q),w(P,Q))=dot(w(Q,P),w(Q,P)))

changed:
-Is?(L(P,Q)*v(P,Q) = -v(Q,P))
-map(x+->htrigs sinhcosh simplify x, L(U,V))
Is?(L(P,Q)*w(P,Q) = -w(Q,P))

added:

In two dimensions
\begin{axiom}
map(x+->simplify expandhtrigs2 exp2htrigs x, L(U,V))
\end{axiom}

changed:
-is?(dot(LRPQ*v(S,Q),LRPQ*v(S,Q))=dot(L(R,Q)*v(S,Q),L(R,Q)*v(S,Q)))
is?(dot(LRPQ*w(S,Q),LRPQ*w(S,Q))=dot(L(R,Q)*w(S,Q),L(R,Q)*w(S,Q)))

removed:
-map(simplify, L(vect [1,0,0,0], map(x+->sinhcosh x,U)))

added:
map(simplify, L(vect [1,0,0,0], map(exp2htrigs,U)))

Lorentz transformations.

Book by T. Matolcsi

Mathematical Preliminaries

A vector is represented as a n\times 1 matrix (column vector)

fricas
Scalar := Expression Integer

\label{eq1}\hbox{\axiomType{Expression}\ } (\hbox{\axiomType{Integer}\ })(1)
Type: Type
fricas
vect(x:List Scalar):Matrix Scalar == matrix map(y+->[y],x)
Function declaration vect : List(Expression(Integer)) -> Matrix( Expression(Integer)) has been added to workspace.
Type: Void
fricas
vect [a0,a1,a2,a3]
fricas
Compiling function vect with type List(Expression(Integer)) -> 
      Matrix(Expression(Integer))

\label{eq2}\left[ 
\begin{array}{c}
a 0 
\
a 1 
\
a 2 
\
a 3 
(2)
Type: Matrix(Expression(Integer))

Identity

fricas
ID:=diagonalMatrix([1,1,1,1])

\label{eq3}\left[ 
\begin{array}{cccc}
1 & 0 & 0 & 0 
\
0 & 1 & 0 & 0 
\
0 & 0 & 1 & 0 
\
0 & 0 & 0 & 1 
(3)
Type: Matrix(Integer)

Verification

fricas
possible(x)==subst(x, map(y+->(y=(random(100) - random(100))),variables x) )
Type: Void
fricas
is?(eq:Equation Scalar):Boolean == (simplify(lhs(eq)-rhs(eq))=0)::Boolean
Function declaration is? : Equation(Expression(Integer)) -> Boolean has been added to workspace.
Type: Void
fricas
Is?(eq:Equation(Matrix(Scalar))):Boolean == _
(map(simplify,lhs(eq)-rhs(eq)) :: Matrix Expression AlgebraicNumber = _
zero(nrows(lhs(eq)),ncols(lhs(eq)))$Matrix Expression AlgebraicNumber )::Boolean
Function declaration Is? : Equation(Matrix(Expression(Integer))) -> Boolean has been added to workspace.
Type: Void
fricas
sinhcosh := rule
  ?c*exp(a)+?c*exp(-a) == 2*c*cosh(a)
  ?c*exp(a)-?c*exp(-a) == 2*c*sinh(a)
  ?c*exp(a-b)+?c*exp(b-a) == 2*c*cosh(a-b)
  ?c*exp(a-b)-?c*exp(b-a) == 2*c*sinh(a-b)

\label{eq4}\begin{array}{@{}l}
\displaystyle
\left\{{{{c \ {{e}^{a}}}+{c \ {{e}^{- a}}}+ \%B}\mbox{\rm = =}{{2 \  c \ {\cosh \left({a}\right)}}+ \%B}}, \: \right.
\
\
\displaystyle
\left.{{{c \ {{e}^{a}}}-{c \ {{e}^{- a}}}+ \%C}\mbox{\rm = =}{{2 \  c \ {\sinh \left({a}\right)}}+ \%C}}, \: \right.
\
\
\displaystyle
\left.{{{c \ {{e}^{b - a}}}+{c \ {{e}^{- b + a}}}+ \%D}\mbox{\rm = =}{{2 \  c \ {\cosh \left({b - a}\right)}}+ \%D}}, \: \right.
\
\
\displaystyle
\left.{{-{c \ {{e}^{b - a}}}+{c \ {{e}^{- b + a}}}+ \%E}\mbox{\rm = =}{-{2 \  c \ {\sinh \left({b - a}\right)}}+ \%E}}\right\} (4)
Type: Ruleset(Integer,Integer,Expression(Integer))
fricas
exp2htrigs(x:Scalar):Scalar == htrigs sinhcosh simplify x 
Function declaration exp2htrigs : Expression(Integer) -> Expression( Integer) has been added to workspace.
Type: Void
fricas
expandhtrigs := rule
  cosh(:x+y) == sinh(x)*sinh(y)+cosh(x)*cosh(y)
  sinh(:x+y) == cosh(x)*sinh(y)+sinh(x)*cosh(y)
  cosh(2*x) == 2*cosh(x)^2-1
  sinh(2*x) == 2*sinh(x)*cosh(x)

\label{eq5}\begin{array}{@{}l}
\displaystyle
\left\{{{\cosh \left({y + x}\right)}\mbox{\rm = =}{{{\sinh \left({x}\right)}\ {\sinh \left({y}\right)}}+{{\cosh \left({x}\right)}\ {\cosh \left({y}\right)}}}}, \: \right.
\
\
\displaystyle
\left.{{\sinh \left({y + x}\right)}\mbox{\rm = =}{{{\cosh \left({x}\right)}\ {\sinh \left({y}\right)}}+{{\cosh \left({y}\right)}\ {\sinh \left({x}\right)}}}}, \: \right.
\
\
\displaystyle
\left.{{\cosh \left({2 \  x}\right)}\mbox{\rm = =}{{2 \ {{\cosh \left({x}\right)}^{2}}}- 1}}, \: \right.
\
\
\displaystyle
\left.{{\sinh \left({2 \  x}\right)}\mbox{\rm = =}{2 \ {\cosh \left({x}\right)}\ {\sinh \left({x}\right)}}}\right\} 
(5)
Type: Ruleset(Integer,Integer,Expression(Integer))
fricas
expandhtrigs2 := rule
  cosh(2*x+2*y) == 2*cosh(x+y)^2-1
  sinh(2*x+2*y) == 2*sinh(x+y)*cosh(x+y)
  cosh(2*x-2*y) == 2*cosh(x-y)^2-1
  sinh(2*x-2*y) == 2*sinh(x-y)*cosh(x-y)

\label{eq6}\begin{array}{@{}l}
\displaystyle
\left\{{{\cosh \left({{2 \  y}+{2 \  x}}\right)}\mbox{\rm = =}{{2 \ {{\cosh \left({y + x}\right)}^{2}}}- 1}}, \: \right.
\
\
\displaystyle
\left.{{\sinh \left({{2 \  y}+{2 \  x}}\right)}\mbox{\rm = =}{2 \ {\cosh \left({y + x}\right)}\ {\sinh \left({y + x}\right)}}}, \: \right.
\
\
\displaystyle
\left.{{\cosh \left({{2 \  y}-{2 \  x}}\right)}\mbox{\rm = =}{{2 \ {{\cosh \left({y - x}\right)}^{2}}}- 1}}, \: \right.
\
\
\displaystyle
\left.{-{\%F \ {\sinh \left({{2 \  y}-{2 \  x}}\right)}}\mbox{\rm = =}-{2 \  \%F \ {\cosh \left({y - x}\right)}\ {\sinh \left({y - x}\right)}}}\right\} 
(6)
Type: Ruleset(Integer,Integer,Expression(Integer))

Lorentz Form (metric)

fricas
G:=diagonalMatrix [-1,1,1,1]

\label{eq7}\left[ 
\begin{array}{cccc}
- 1 & 0 & 0 & 0 
\
0 & 1 & 0 & 0 
\
0 & 0 & 1 & 0 
\
0 & 0 & 0 & 1 
(7)
Type: Matrix(Integer)

applied to a vector produces a co-vector (represent as a 1\times n matrix or row vector)

fricas
g(x) == transpose(x)*G
Type: Void
fricas
g(vect [a0,a1,a2,a3])
fricas
Compiling function g with type Matrix(Expression(Integer)) -> Matrix
      (Expression(Integer))

\label{eq8}\left[ 
\begin{array}{cccc}
- a 0 & a 1 & a 2 & a 3 
(8)
Type: Matrix(Expression(Integer))

Scalar product

fricas
dot(x,y) == (g(x)*y)::Scalar
Type: Void
fricas
dot(vect [a0,a1,a2,a3], vect [b0,b1,b2,b3])
fricas
Compiling function dot with type (Matrix(Expression(Integer)),Matrix
      (Expression(Integer))) -> Expression(Integer)

\label{eq9}{a 3 \  b 3}+{a 2 \  b 2}+{a 1 \  b 1}-{a 0 \  b 0}(9)
Type: Expression(Integer)

Tensor product

fricas
tensor(x,y) == x*g(y)
Type: Void
fricas
tensor(vect [a0,a1,a2,a3], vect [b0,b1,b2,b3])
fricas
Compiling function tensor with type (Matrix(Expression(Integer)),
      Matrix(Expression(Integer))) -> Matrix(Expression(Integer))

\label{eq10}\left[ 
\begin{array}{cccc}
-{a 0 \  b 0}&{a 0 \  b 1}&{a 0 \  b 2}&{a 0 \  b 3}
\
-{a 1 \  b 0}&{a 1 \  b 1}&{a 1 \  b 2}&{a 1 \  b 3}
\
-{a 2 \  b 0}&{a 2 \  b 1}&{a 2 \  b 2}&{a 2 \  b 3}
\
-{a 3 \  b 0}&{a 3 \  b 1}&{a 3 \  b 2}&{a 3 \  b 3}
(10)
Type: Matrix(Expression(Integer))

Massive Objects

A material object (also referred to as an observer) is represented by a time-like 4-vector

fricas
P:=vect [sqrt(p1^2+p2^2+p3^2+1),-p1,-p2,-p3];
Type: Matrix(Expression(Integer))
fricas
dot(P,P)

\label{eq11}- 1(11)
Type: Expression(Integer)
fricas
Q:=vect [sqrt(q1^2+q2^2+q3^2+1),-q1,-q2,-q3];
Type: Matrix(Expression(Integer))
fricas
R:=vect [sqrt(r1^2+r2^2+r3^2+1),-r1,-r2,-r3];
Type: Matrix(Expression(Integer))
fricas
S:=1/sqrt(1-s1^2-s2^2-s3^2)*vect [1,-s1,-s2,-s3]

\label{eq12}\left[ 
\begin{array}{c}
{1 \over{\sqrt{-{{s 3}^{2}}-{{s 2}^{2}}-{{s 1}^{2}}+ 1}}}
\
-{s 1 \over{\sqrt{-{{s 3}^{2}}-{{s 2}^{2}}-{{s 1}^{2}}+ 1}}}
\
-{s 2 \over{\sqrt{-{{s 3}^{2}}-{{s 2}^{2}}-{{s 1}^{2}}+ 1}}}
\
-{s 3 \over{\sqrt{-{{s 3}^{2}}-{{s 2}^{2}}-{{s 1}^{2}}+ 1}}}
(12)
Type: Matrix(Expression(Integer))
fricas
dot(S,S)

\label{eq13}- 1(13)
Type: Expression(Integer)
fricas
T:=1/sqrt(1-t1^2-t2^2-t3^2)*vect [1,-t1,-t2,-t3]

\label{eq14}\left[ 
\begin{array}{c}
{1 \over{\sqrt{-{{t 3}^{2}}-{{t 2}^{2}}-{{t 1}^{2}}+ 1}}}
\
-{t 1 \over{\sqrt{-{{t 3}^{2}}-{{t 2}^{2}}-{{t 1}^{2}}+ 1}}}
\
-{t 2 \over{\sqrt{-{{t 3}^{2}}-{{t 2}^{2}}-{{t 1}^{2}}+ 1}}}
\
-{t 3 \over{\sqrt{-{{t 3}^{2}}-{{t 2}^{2}}-{{t 1}^{2}}+ 1}}}
(14)
Type: Matrix(Expression(Integer))
fricas
U:=vect [(exp(u)+exp(-u))/2,(exp(u)-exp(-u))/2,0,0]

\label{eq15}\left[ 
\begin{array}{c}
{{{{e}^{u}}+{{e}^{- u}}}\over 2}
\
{{{{e}^{u}}-{{e}^{- u}}}\over 2}
\
0 
\
0 
(15)
Type: Matrix(Expression(Integer))
fricas
simplify dot(U,U)

\label{eq16}- 1(16)
Type: Expression(Integer)
fricas
V:=vect [(exp(v)+exp(-v))/2,(exp(v)-exp(-v))/2,0,0]

\label{eq17}\left[ 
\begin{array}{c}
{{{{e}^{v}}+{{e}^{- v}}}\over 2}
\
{{{{e}^{v}}-{{e}^{- v}}}\over 2}
\
0 
\
0 
(17)
Type: Matrix(Expression(Integer))
fricas
map(exp2htrigs,U)
fricas
Compiling function exp2htrigs with type Expression(Integer) -> 
      Expression(Integer)

\label{eq18}\left[ 
\begin{array}{c}
{\cosh \left({u}\right)}
\
{\sinh \left({u}\right)}
\
0 
\
0 
(18)
Type: Matrix(Expression(Integer))
fricas
exp2htrigs dot(U,V)

\label{eq19}-{\cosh \left({v - u}\right)}(19)
Type: Expression(Integer)

Observer "at rest"

fricas
vect [1,0,0,0]

\label{eq20}\left[ 
\begin{array}{c}
1 
\
0 
\
0 
\
0 
(20)
Type: Matrix(Expression(Integer))
fricas
dot(%,%)

\label{eq21}- 1(21)
Type: Expression(Integer)

Associated with each such vector is the orthogonal 3-d Euclidean subspace E_P =\{x | P \cdot x = 0\}

Relative Velocity

An object P has a unique relative velocity w(P,Q) with respect to object Q given by

fricas
w(P,Q)==-P/dot(P,Q)-Q
Type: Void
fricas
w(P,Q)
fricas
Compiling function w with type (Matrix(Expression(Integer)),Matrix(
      Expression(Integer))) -> Matrix(Expression(Integer))

\label{eq22}\left[ 
\begin{array}{c}
{{{{\left({p 3 \  q 3}+{p 2 \  q 2}+{p 1 \  q 1}\right)}\ {\sqrt{{{q 3}^{2}}+{{q 2}^{2}}+{{q 1}^{2}}+ 1}}}+{{\left(-{{q 3}^{2}}-{{q 2}^{2}}-{{q 1}^{2}}\right)}\ {\sqrt{{{p 3}^{2}}+{{p 2}^{2}}+{{p 1}^{2}}+ 1}}}}\over{{{\sqrt{{{p 3}^{2}}+{{p 2}^{2}}+{{p 1}^{2}}+ 1}}\ {\sqrt{{{q 3}^{2}}+{{q 2}^{2}}+{{q 1}^{2}}+ 1}}}-{p 3 \  q 3}-{p 2 \  q 2}-{p 1 \  q 1}}}
\
{{{q 1 \ {\sqrt{{{p 3}^{2}}+{{p 2}^{2}}+{{p 1}^{2}}+ 1}}\ {\sqrt{{{q 3}^{2}}+{{q 2}^{2}}+{{q 1}^{2}}+ 1}}}-{p 3 \  q 1 \  q 3}-{p 2 \  q 1 \  q 2}-{p 1 \ {{q 1}^{2}}}- p 1}\over{{{\sqrt{{{p 3}^{2}}+{{p 2}^{2}}+{{p 1}^{2}}+ 1}}\ {\sqrt{{{q 3}^{2}}+{{q 2}^{2}}+{{q 1}^{2}}+ 1}}}-{p 3 \  q 3}-{p 2 \  q 2}-{p 1 \  q 1}}}
\
{{{q 2 \ {\sqrt{{{p 3}^{2}}+{{p 2}^{2}}+{{p 1}^{2}}+ 1}}\ {\sqrt{{{q 3}^{2}}+{{q 2}^{2}}+{{q 1}^{2}}+ 1}}}-{p 3 \  q 2 \  q 3}-{p 2 \ {{q 2}^{2}}}-{p 1 \  q 1 \  q 2}- p 2}\over{{{\sqrt{{{p 3}^{2}}+{{p 2}^{2}}+{{p 1}^{2}}+ 1}}\ {\sqrt{{{q 3}^{2}}+{{q 2}^{2}}+{{q 1}^{2}}+ 1}}}-{p 3 \  q 3}-{p 2 \  q 2}-{p 1 \  q 1}}}
\
{{{q 3 \ {\sqrt{{{p 3}^{2}}+{{p 2}^{2}}+{{p 1}^{2}}+ 1}}\ {\sqrt{{{q 3}^{2}}+{{q 2}^{2}}+{{q 1}^{2}}+ 1}}}-{p 3 \ {{q 3}^{2}}}+{{\left(-{p 2 \  q 2}-{p 1 \  q 1}\right)}\  q 3}- p 3}\over{{{\sqrt{{{p 3}^{2}}+{{p 2}^{2}}+{{p 1}^{2}}+ 1}}\ {\sqrt{{{q 3}^{2}}+{{q 2}^{2}}+{{q 1}^{2}}+ 1}}}-{p 3 \  q 3}-{p 2 \  q 2}-{p 1 \  q 1}}}
(22)
Type: Matrix(Expression(Integer))
fricas
w(S,T)

\label{eq23}\left[ 
\begin{array}{c}
{{{{t 3}^{2}}-{s 3 \  t 3}+{{t 2}^{2}}-{s 2 \  t 2}+{{t 1}^{2}}-{s 1 \  t 1}}\over{{\left({s 3 \  t 3}+{s 2 \  t 2}+{s 1 \  t 1}- 1 \right)}\ {\sqrt{-{{t 3}^{2}}-{{t 2}^{2}}-{{t 1}^{2}}+ 1}}}}
\
{{-{s 1 \ {{t 3}^{2}}}+{s 3 \  t 1 \  t 3}-{s 1 \ {{t 2}^{2}}}+{s 2 \  t 1 \  t 2}- t 1 + s 1}\over{{\left({s 3 \  t 3}+{s 2 \  t 2}+{s 1 \  t 1}- 1 \right)}\ {\sqrt{-{{t 3}^{2}}-{{t 2}^{2}}-{{t 1}^{2}}+ 1}}}}
\
{{-{s 2 \ {{t 3}^{2}}}+{s 3 \  t 2 \  t 3}+{{\left({s 1 \  t 1}- 1 \right)}\  t 2}-{s 2 \ {{t 1}^{2}}}+ s 2}\over{{\left({s 3 \  t 3}+{s 2 \  t 2}+{s 1 \  t 1}- 1 \right)}\ {\sqrt{-{{t 3}^{2}}-{{t 2}^{2}}-{{t 1}^{2}}+ 1}}}}
\
{{{{\left({s 2 \  t 2}+{s 1 \  t 1}- 1 \right)}\  t 3}-{s 3 \ {{t 2}^{2}}}-{s 3 \ {{t 1}^{2}}}+ s 3}\over{{\left({s 3 \  t 3}+{s 2 \  t 2}+{s 1 \  t 1}- 1 \right)}\ {\sqrt{-{{t 3}^{2}}-{{t 2}^{2}}-{{t 1}^{2}}+ 1}}}}
(23)
Type: Matrix(Expression(Integer))

In two dimensions

fricas
map(x+->simplify x,w(U,V))

\label{eq24}\left[ 
\begin{array}{c}
{{-{{e}^{{2 \  v}- u}}+{{e}^{u}}+{{e}^{- u}}-{{e}^{-{2 \  v}+ u}}}\over{{2 \ {{e}^{v - u}}}+{2 \ {{e}^{- v + u}}}}}
\
{{-{{e}^{{2 \  v}- u}}+{{e}^{u}}-{{e}^{- u}}+{{e}^{-{2 \  v}+ u}}}\over{{2 \ {{e}^{v - u}}}+{2 \ {{e}^{- v + u}}}}}
\
0 
\
0 
(24)
Type: Matrix(Expression(Integer))
fricas
vect [cosh(u)/cosh(u-v)-cosh(v),sinh(u)/cosh(u-v)-sinh(v),0,0]

\label{eq25}\left[ 
\begin{array}{c}
{{-{{\cosh \left({v - u}\right)}\ {\cosh \left({v}\right)}}+{\cosh \left({u}\right)}}\over{\cosh \left({v - u}\right)}}
\
{{-{{\cosh \left({v - u}\right)}\ {\sinh \left({v}\right)}}+{\sinh \left({u}\right)}}\over{\cosh \left({v - u}\right)}}
\
0 
\
0 
(25)
Type: Matrix(Expression(Integer))
fricas
Is?(map(x+->expandhtrigs exp2htrigs x, %-w(U,V)) = vect [0,0,0,0])
fricas
Compiling function Is? with type Equation(Matrix(Expression(Integer)
      )) -> Boolean

\label{eq26} \mbox{\rm true} (26)
Type: Boolean

Observer P measures velocity w(Q,P). w(Q,P) is space-like

fricas
dot(w(P,vect [1,0,0,0]),w(P,vect [1,0,0,0]))

\label{eq27}{{{p 3}^{2}}+{{p 2}^{2}}+{{p 1}^{2}}}\over{{{p 3}^{2}}+{{p 2}^{2}}+{{p 1}^{2}}+ 1}(27)
Type: Expression(Integer)

and in E_P

fricas
dot(P,w(Q,P))

\label{eq28}0(28)
Type: Expression(Integer)
fricas
possible dot(w(Q,P),w(Q,P))::EXPR Float
fricas
Compiling function possible with type Expression(Integer) -> 
      Expression(Integer)

\label{eq29}0.9999999878_4802342086(29)
Type: Expression(Float)
fricas
dot(Q,w(P,Q))

\label{eq30}0(30)
Type: Expression(Integer)
fricas
possible dot(w(P,Q),w(P,Q))::EXPR Float

\label{eq31}0.9999998793_7682165509(31)
Type: Expression(Float)

Velocity with respect to observer "at rest"

fricas
w(vect [u0,u1,u2,u3],vect [1,0,0,0])

\label{eq32}\left[ 
\begin{array}{c}
0 
\
{u 1 \over u 0}
\
{u 2 \over u 0}
\
{u 3 \over u 0}
(32)
Type: Matrix(Expression(Integer))
fricas
w(R,vect [1,0,0,0])

\label{eq33}\left[ 
\begin{array}{c}
0 
\
-{r 1 \over{\sqrt{{{r 3}^{2}}+{{r 2}^{2}}+{{r 1}^{2}}+ 1}}}
\
-{r 2 \over{\sqrt{{{r 3}^{2}}+{{r 2}^{2}}+{{r 1}^{2}}+ 1}}}
\
-{r 3 \over{\sqrt{{{r 3}^{2}}+{{r 2}^{2}}+{{r 1}^{2}}+ 1}}}
(33)
Type: Matrix(Expression(Integer))
fricas
w(S,vect [1,0,0,0])

\label{eq34}\left[ 
\begin{array}{c}
0 
\
- s 1 
\
- s 2 
\
- s 3 
(34)
Type: Matrix(Expression(Integer))
fricas
map(exp2htrigs, w(U,vect [1,0,0,0]))

\label{eq35}\left[ 
\begin{array}{c}
0 
\
{{\sinh \left({u}\right)}\over{\cosh \left({u}\right)}}
\
0 
\
0 
(35)
Type: Matrix(Expression(Integer))

Non-reciprocal velocities

fricas
w(vect [1,0,0,0],S)

\label{eq36}\left[ 
\begin{array}{c}
{{-{{s 3}^{2}}-{{s 2}^{2}}-{{s 1}^{2}}}\over{\sqrt{-{{s 3}^{2}}-{{s 2}^{2}}-{{s 1}^{2}}+ 1}}}
\
{s 1 \over{\sqrt{-{{s 3}^{2}}-{{s 2}^{2}}-{{s 1}^{2}}+ 1}}}
\
{s 2 \over{\sqrt{-{{s 3}^{2}}-{{s 2}^{2}}-{{s 1}^{2}}+ 1}}}
\
{s 3 \over{\sqrt{-{{s 3}^{2}}-{{s 2}^{2}}-{{s 1}^{2}}+ 1}}}
(36)
Type: Matrix(Expression(Integer))
fricas
w(vect [1,0,0,0],R)

\label{eq37}\left[ 
\begin{array}{c}
{{-{{r 3}^{2}}-{{r 2}^{2}}-{{r 1}^{2}}}\over{\sqrt{{{r 3}^{2}}+{{r 2}^{2}}+{{r 1}^{2}}+ 1}}}
\
r 1 
\
r 2 
\
r 3 
(37)
Type: Matrix(Expression(Integer))
fricas
is?(dot(w(P,Q),w(P,Q))=dot(w(Q,P),w(Q,P)))
fricas
Compiling function is? with type Equation(Expression(Integer)) -> 
      Boolean

\label{eq38} \mbox{\rm true} (38)
Type: Boolean

Lorentz Boost

is a linear bijection E_Q \leftrightarrow E_P that preserves E_Q \cap E_P and maps orthogonal compliments into each other.

fricas
L(P,Q) == ID + tensor(P+Q,P+Q)/(1-dot(P,Q)) - 2*tensor(P,Q)
Type: Void
fricas
Is?(L(P,P) = ID)
fricas
Compiling function L with type (Matrix(Expression(Integer)),Matrix(
      Expression(Integer))) -> Matrix(Expression(Integer))

\label{eq39} \mbox{\rm true} (39)
Type: Boolean
fricas
Is?(L(P,Q)*L(Q,P) = ID)

\label{eq40} \mbox{\rm true} (40)
Type: Boolean
fricas
Is?(L(P,Q)*Q=P)

\label{eq41} \mbox{\rm true} (41)
Type: Boolean
fricas
Is?(L(P,Q)*w(P,Q) = -w(Q,P))

\label{eq42} \mbox{\rm true} (42)
Type: Boolean

In two dimensions

fricas
map(x+->simplify expandhtrigs2 exp2htrigs x, L(U,V))

\label{eq43}\left[ 
\begin{array}{cccc}
{\cosh \left({v - u}\right)}& -{\sinh \left({v - u}\right)}& 0 & 0 
\
-{\sinh \left({v - u}\right)}&{\cosh \left({v - u}\right)}& 0 & 0 
\
0 & 0 & 1 & 0 
\
0 & 0 & 0 & 1 
(43)
Type: Matrix(Expression(Integer))

Composition of two Lorentz boosts is not a Lorentz boost unless all three observers are in the same plane.

fricas
Is?(L(R,P)*L(P,Q) = L(R,Q))

\label{eq44} \mbox{\rm false} (44)
Type: Boolean
fricas
RQ:=a*R+b*Q;
Type: Matrix(Expression(Integer))
fricas
rq:=solve(dot(RQ,RQ)=-1,b); #rq

\label{eq45}2(45)
Type: PositiveInteger?
fricas
RQ1:=eval(RQ,rq.1);
Type: Matrix(Expression(Integer))
fricas
dot(RQ1,RQ1)

\label{eq46}- 1(46)
Type: Expression(Integer)
fricas
Is?(L(R,RQ1)*L(RQ1,Q) = L(R,Q))

\label{eq47} \mbox{\rm true} (47)
Type: Boolean
fricas
RQ2:=eval(RQ,rq.2);
Type: Matrix(Expression(Integer))
fricas
Is?(RQ1=RQ2)

\label{eq48} \mbox{\rm false} (48)
Type: Boolean
fricas
dot(RQ2,RQ2)

\label{eq49}- 1(49)
Type: Expression(Integer)
fricas
Is?(L(R,RQ2)*L(RQ2,Q) = L(R,Q))

\label{eq50} \mbox{\rm true} (50)
Type: Boolean

but the composition does preserve observers and magnitudes

fricas
LRPQ := L(R,P)*L(P,Q);
Type: Matrix(Expression(Integer))
fricas
Is?(LRPQ*Q = L(R,Q)*Q)

\label{eq51} \mbox{\rm true} (51)
Type: Boolean
fricas
is?(dot(LRPQ*w(S,Q),LRPQ*w(S,Q))=dot(L(R,Q)*w(S,Q),L(R,Q)*w(S,Q)))

\label{eq52} \mbox{\rm true} (52)
Type: Boolean

Lorentz boost with respect to observer "at rest"

fricas
LT:=L(vect [1,0,0,0],vect [u0,-u1,-u2,-u3])

\label{eq53}\left[ 
\begin{array}{cccc}
u 0 & u 1 & u 2 & u 3 
\
u 1 &{{{{u 1}^{2}}+ u 0 + 1}\over{u 0 + 1}}&{{u 1 \  u 2}\over{u 0 + 1}}&{{u 1 \  u 3}\over{u 0 + 1}}
\
u 2 &{{u 1 \  u 2}\over{u 0 + 1}}&{{{{u 2}^{2}}+ u 0 + 1}\over{u 0 + 1}}&{{u 2 \  u 3}\over{u 0 + 1}}
\
u 3 &{{u 1 \  u 3}\over{u 0 + 1}}&{{u 2 \  u 3}\over{u 0 + 1}}&{{{{u 3}^{2}}+ u 0 + 1}\over{u 0 + 1}}
(53)
Type: Matrix(Expression(Integer))
fricas
map(simplify, L(vect [1,0,0,0], map(exp2htrigs,U)))

\label{eq54}\left[ 
\begin{array}{cccc}
{\cosh \left({u}\right)}& -{\sinh \left({u}\right)}& 0 & 0 
\
-{\sinh \left({u}\right)}&{\cosh \left({u}\right)}& 0 & 0 
\
0 & 0 & 1 & 0 
\
0 & 0 & 0 & 1 
(54)
Type: Matrix(Expression(Integer))

Two dimensional Lorentz Transformation

fricas
matrix [[1/sqrt(1-v'^2),v'/sqrt(1-v'^2),0,0],[v'/sqrt(1-v'^2),1/sqrt(1-v'^2),0,0],[0,0,1,0],[0,0,0,1]]

\label{eq55}\left[ 
\begin{array}{cccc}
{1 \over{\sqrt{-{{v'}^{2}}+ 1}}}&{v' \over{\sqrt{-{{v'}^{2}}+ 1}}}& 0 & 0 
\
{v' \over{\sqrt{-{{v'}^{2}}+ 1}}}&{1 \over{\sqrt{-{{v'}^{2}}+ 1}}}& 0 & 0 
\
0 & 0 & 1 & 0 
\
0 & 0 & 0 & 1 
(55)
Type: Matrix(Expression(Integer))
fricas
Is?(%=map(x+->eval(x,[u0=1/sqrt(1-v'^2),u1=v'/sqrt(1-v'^2),u2=0,u3=0]),LT))

\label{eq56} \mbox{\rm true} (56)
Type: Boolean