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

Special relativity without Lorentz transformations.

Here are some sample computations based on papers by Z. Oziewicz

and the book by T. Matolcsi

See also the slides: SandBoxRelativeVelocity (presented at IARD 2006).

Mathematical Preliminaries

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

fricas
(1) -> 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 [a1,a2,a3]
fricas
Compiling function vect with type List(Expression(Integer)) -> 
      Matrix(Expression(Integer))

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

Then a row vector is

fricas
transpose(vect [a1,a2,a3])

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

Inner product is

fricas
transpose(vect [a1,a2,a3])*vect [b1,b2,b3]

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

and tensor product is

fricas
vect [a1,a2,a3]*transpose(vect [b1,b2,b3])

\label{eq4}\left[ 
\begin{array}{ccc}
{a 1 \  b 1}&{a 1 \  b 2}&{a 1 \  b 3}
\
{a 2 \  b 1}&{a 2 \  b 2}&{a 2 \  b 3}
\
{a 3 \  b 1}&{a 3 \  b 2}&{a 3 \  b 3}
(4)
Type: Matrix(Expression(Integer))

Applying the Lorentz form produces a row vector

fricas
g(x)==transpose(x)*diagonalMatrix [-1,1,1,1]
Type: Void

or a scalar

fricas
g(x,y)== (transpose(x)*diagonalMatrix([-1,1,1,1])*y)::EXPR INT
Type: Void

For difficult verifications it is sometimes convenient to replace symbols by random numerical values.

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

The AlgebraicNumber? domain can test for numerical equality of complicated expressions involving \sqrt{n}.

fricas
IsPossible?(eq:Equation EXPR INT):Boolean == _
  (possible(lhs(eq)-rhs(eq)) :: Expression AlgebraicNumber=0)::Boolean
Function declaration IsPossible? : Equation(Expression(Integer)) -> Boolean has been added to workspace.
Type: Void
fricas
IsPossible2?(eq:Equation(Matrix(EXPR(INT)))):Boolean == _
  ( map(possible,(lhs(eq)-rhs(eq))) :: Matrix Expression AlgebraicNumber = _
zero(nrows(lhs(eq)),ncols(lhs(eq)))$Matrix Expression AlgebraicNumber )::Boolean
Function declaration IsPossible2? : 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
g(P,P)
fricas
Compiling function g with type (Matrix(Expression(Integer)), Matrix(
      Expression(Integer))) -> Expression(Integer)

\label{eq5}- 1(5)
Type: Expression(Integer)
fricas
Q:=vect [sqrt(q1^2+q2^2+q3^2+1),q1,q2,q3];
Type: Matrix(Expression(Integer))
fricas
g(Q,Q)

\label{eq6}- 1(6)
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 Q has a unique relative velocity w(P,Q) with respect to object P given by

fricas
w(P,Q)==-Q/g(P,Q)-P
Type: Void

Lorentz factor

fricas
gamma(v)==1/sqrt(1-g(v,v))
Type: Void

Binary Boost

fricas
b(P,v)==gamma(v)*(P+v)
Type: Void

Observer P measures velocity u. u is space-like and in E_P.

fricas
u:=w(P,Q);
fricas
Compiling function w with type (Matrix(Expression(Integer)), Matrix(
      Expression(Integer))) -> Matrix(Expression(Integer))
Type: Matrix(Expression(Integer))
fricas
g(P,u)

\label{eq7}0(7)
Type: Expression(Integer)
fricas
possible(g(u,u))::EXPR Float
fricas
Compiling function possible with type Expression(Integer) -> 
      Expression(Integer)

\label{eq8}0.9999857413 \<u> 817665124(8)
Type: Expression(Float)

fricas
IsPossible?(gamma(u)=-g(P,Q))
fricas
Compiling function gamma with type Matrix(Expression(Integer)) -> 
      Expression(Integer)
fricas
Compiling function IsPossible? with type Equation(Expression(Integer
      )) -> Boolean

\label{eq9} \mbox{\rm false} (9)
Type: Boolean

u is velocity of object Q

fricas
IsPossible?(g(Q,u)=gamma(u)-1/gamma(u))

\label{eq10} \mbox{\rm false} (10)
Type: Boolean

Observer Q is u-boost of P

fricas
IsPossible2?(Q=b(P,u))
fricas
Compiling function b with type (Matrix(Expression(Integer)), Matrix(
      Expression(Integer))) -> Matrix(Expression(Integer))
fricas
Compiling function IsPossible2? with type Equation(Matrix(Expression
      (Integer))) -> Boolean

\label{eq11} \mbox{\rm false} (11)
Type: Boolean

Inverse velocity is measured by Q

fricas
u' := w(Q,P);
Type: Matrix(Expression(Integer))
fricas
g(Q,u')

\label{eq12}0(12)
Type: Expression(Integer)

Inverse velocity is not reciprocal

fricas
IsPossible2?(-u=u')

\label{eq13} \mbox{\rm false} (13)
Type: Boolean

Object P is u'-boost of Q

fricas
IsPossible2?(P=b(Q,u'))

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

Objects P and Q are completely determined by velocities u and u'

fricas
IsPossible2?(P = -1/g(u,u)*(u+u'/gamma(u)))

\label{eq15} \mbox{\rm false} (15)
Type: Boolean
fricas
IsPossible2?(Q = -1/g(u,u)*(u'+u/gamma(u)))

\label{eq16} \mbox{\rm false} (16)
Type: Boolean

The magnitude of the inverse velocity is the same as the velocity

fricas
IsPossible?(g(u,u)=g(u',u'))

\label{eq17} \mbox{\rm true} (17)
Type: Boolean

Collinear Velocities

Suppose the velocity v of some object L is collinear with reciprocal velocity u':

.
\digraph[scale=0.5]{CategoricalRelativity1}{rankdir=LR; P->Q [label="u"];
  Q->L [label="v"]; Q->P [label="u'"];}
 

fricas
v := alpha*u';
Type: Matrix(Expression(Integer))
fricas
L := b(Q,v);
Type: Matrix(Expression(Integer))
fricas
Is2?(v=w(Q,L))
fricas
Compiling function Is2? with type Equation(Matrix(Expression(Integer
      ))) -> Boolean

\label{eq18} \mbox{\rm true} (18)
Type: Boolean

Composition of collinear velocities

For velocity v collinear with reciprocal velocity u' we have Matolcsi (4.3.3)

fricas
Is2?(w(P,L)=(u-alpha*u)/(1-alpha*g(u,u)))

\label{eq19} \mbox{\rm true} (19)
Type: Boolean

General composition of relative velocities (Oziewicz)

fricas
compose(v,u,u') == ( u + v/gamma(u) - g(v,u')/g(u,u)*(u + u'/gamma(u)) ) / (1-g(v,u'))
Type: Void

fricas
Is2?(w(P,L)=compose(v,u,u'))
fricas
Compiling function compose with type (Matrix(Expression(Integer)), 
      Matrix(Expression(Integer)), Matrix(Expression(Integer))) -> 
      Matrix(Expression(Integer))

\label{eq20} \mbox{\rm true} (20)
Type: Boolean
fricas
IsPossible2?(w(P,L)=compose(w(Q,L),w(P,Q),w(Q,P)))

\label{eq21} \mbox{\rm true} (21)
Type: Boolean

Associativity

Unlike Einstein addition of velocities, composition (denoted \oplus) of relative velocities is associative:

.
\psfrag{alpha}[cc][cc]{$v \oplus u$}
\psfrag{beta}[cc][cc]{$w \oplus v$}
\psfrag{gamma}[cc][cc]{$(w\oplus v)+u=w\oplus (v\oplus u)$}
\digraph[scale=0.9]{CategoricalRelativity2}{rankdir=LR; P->Q [label="u"];
  Q->R [label="v"]; R->S [label="w"]; P->R [label="alpha"];  Q->S [label="beta"];
  P->S [label="gamma"]; }
 

fricas
R:=vect [sqrt(r1^2+r2^2+r3^2+1),r1,r2,r3];
Type: Matrix(Expression(Integer))
fricas
g(R,R)

\label{eq22}- 1(22)
Type: Expression(Integer)
fricas
S:=vect [sqrt(s1^2+s2^2+s3^2+1),s1,s2,s3];
Type: Matrix(Expression(Integer))
fricas
g(S,S)

\label{eq23}- 1(23)
Type: Expression(Integer)

Unfortunately Axiom is not able to evaluate all of these in a reasonable amount of time (within the 1 minute wiki limit).

fricas
--IsPossible2?(w(P,R)=compose(w(Q,R),w(P,Q),w(Q,P)))
--IsPossible2?(w(R,P)=compose(w(Q,P),w(R,Q),w(Q,R)))
IsPossible2?(w(Q,S)=compose(w(R,S),w(Q,R),w(R,Q)))

\label{eq24} \mbox{\rm false} (24)
Type: Boolean

fricas
--IsPossible2?(w(P,S)=compose(w(Q,S),w(P,Q),w(Q,P)))
--IsPossible2?(w(P,S)=compose(w(R,S),w(P,R),w(R,P)))
0

\label{eq25}0(25)
Type: NonNegativeInteger?




  Subject:   Be Bold !!
  ( 15 subscribers )  
Please rate this page: