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

Edit detail for SandBoxLorentzTransformation revision 9 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: Bill Page
Time: 2013/09/23 15:49:09 GMT+0
Note: Lorentz boost

changed:
-dot(Q,Q)
-R:=vect [1,0,0,0]
-dot(R,R)
R:=vect [sqrt(r1^2+r2^2+r3^2+1),r1,r2,r3];

added:
Lorentz Boost

removed:
-L(vect [1,0,0,0],vect [u0,u1,u2,u3])

added:

Composition of two Lorentz boosts is not a Lorentz boost
\begin{axiom}
Is2?(L(R,P)*L(P,Q) = L(R,Q))
\end{axiom}

Lorentz boost with respect to observer "at rest"
\begin{axiom}
L(vect [1,0,0,0],vect [u0,u1,u2,u3])
\end{axiom}

Lorentz transformations.

Book by T. Matolcsi

Mathematical Preliminaries

A vector is represented as a nx1 matrix (column vector)

fricas
vect(x:List Expression Integer):Matrix Expression Integer == 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{eq1}\left[ 
\begin{array}{c}
a 0 
\
a 1 
\
a 2 
\
a 3 
(1)
Type: Matrix(Expression(Integer))

Identity

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

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

Applying the Lorentz form produces a co-vector (represent as a 1xn matrix or row)

fricas
G:=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)
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{eq4}\left[ 
\begin{array}{cccc}
- a 0 & a 1 & a 2 & a 3 
(4)
Type: Matrix(Expression(Integer))

And scalar product is

fricas
dot(x,y)== (g(x)*y)::Expression Integer
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{eq5}{a 3 \  b 3}+{a 2 \  b 2}+{a 1 \  b 1}-{a 0 \  b 0}(5)
Type: Expression(Integer)

Tensor product is

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{eq6}\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}
(6)
Type: Matrix(Expression(Integer))

Verification

fricas
possible(x)==subst(x, map(y+->(y=(random(100) - random(100))),variables x) )
Type: Void
fricas
Is?(eq:Equation EXPR INT):Boolean == (lhs(eq)-rhs(eq)=0)::Boolean
Function declaration Is? : Equation(Expression(Integer)) -> Boolean has been added to workspace.
Type: Void
fricas
Is2?(eq:Equation(Matrix(EXPR(INT)))):Boolean == _
( (lhs(eq)-rhs(eq)) :: Matrix Expression AlgebraicNumber = _
zero(nrows(lhs(eq)),ncols(lhs(eq)))$Matrix Expression AlgebraicNumber )::Boolean
Function declaration Is2? : Equation(Matrix(Expression(Integer))) -> Boolean has been added to workspace.
Type: Void

Massive Objects

An object (also referred to as an obserser) 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{eq7}- 1(7)
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))

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
v(P,Q)==-P/dot(P,Q)-Q
Type: Void

Observer P measures velocity v(Q,P). v(Q,P) is space-like and in E_P.

fricas
dot(P,v(Q,P))
fricas
Compiling function v with type (Matrix(Expression(Integer)),Matrix(
      Expression(Integer))) -> Matrix(Expression(Integer))

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

\label{eq9}0.9999999805_5823520184(9)
Type: Expression(Float)
fricas
dot(Q,v(P,Q))

\label{eq10}0(10)
Type: Expression(Integer)
fricas
possible dot(v(P,Q),v(P,Q))::EXPR Float

\label{eq11}0.9999999375_8760717897(11)
Type: Expression(Float)

Lorentz Boost

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

\label{eq12} \mbox{\rm true} (12)
Type: Boolean
fricas
Is2?(L(P,Q)*Q=P)

\label{eq13} \mbox{\rm true} (13)
Type: Boolean
fricas
Is2?(L(P,Q)*v(P,Q) = -v(Q,P))

\label{eq14} \mbox{\rm true} (14)
Type: Boolean

Composition of two Lorentz boosts is not a Lorentz boost

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

\label{eq15} \mbox{\rm false} (15)
Type: Boolean

Lorentz boost with respect to observer "at rest"

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

\label{eq16}\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}}
(16)
Type: Matrix(Expression(Integer))