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

Edit detail for SandBox Einstein Velocity revision 1 of 1

1
Editor:
Time: 2007/11/18 17:59:24 GMT-8
Note: collinear velocities

changed:
-
Einstein Velocity and Non-associative Addition

Reference

  **Matolcsi 4.2.3 op. cit.** --
  In contradistinction to the non-relativistic case and to
  our habitual "evidence", the relative velocity of P with
  respect to Q is not the opposite of the relative velocity
  of Q with respect to P ... It is worth emphasizing this
  fact because in most textbooks one takes it for granted
  that w(P,Q) and -w(Q,P) are equal: "If an observer moves
  with velocity v relative to another then the second observer
  moves with velocity -v relative to the first one.".
  Nevertheless, no harm comes because vectors are given
  there by their components with respect to some convenient
  bases and then the components of w(P,Q) and w(Q,P) become
  opposite to each other.

Minkowski Package

  This code extends the Minkowski package defined on the
previous page [SandBox Lorentz Transformations]

\begin{aldor}[mink2]
#include "axiom.as"
#pile

#library minkowski1 "mink1.ao"

EXPR     ==> Expression
FRAC     ==> Fraction
INT      ==> Integer
LIST     ==> List
MATRIX   ==> Matrix
PI       ==> PositiveInteger
NNI      ==> NonNegativeInteger
SQMATRIX ==> SquareMatrix

import from INT, NNI
import from MATRIX EXPR INT
import from EXPR INT
import from SQMATRIX(4,EXPR INT)
import from FRAC INT
import from LIST EXPR INT

minkowski2(): with
    M: (MATRIX EXPR INT,MATRIX EXPR INT) -> MATRIX EXPR INT
    L: SQMATRIX(4,EXPR INT)              -> SQMATRIX(4,EXPR INT)
  == add
    import from minkowski1
    inline from minkowski1

    -- Something wrong with the import so these defined locally
    g():Matrix EXPR INT == diagonalMatrix([-1,1,1,1])$Matrix(EXPR INT)
    g(x:Matrix EXPR INT):Matrix EXPR INT == transpose(x)*g()

    -- Boost Bivector
    M(P:MATRIX EXPR INT,Q:MATRIX EXPR INT):MATRIX EXPR INT ==
      (P*g(Q) - Q*g(P))

    -- Lorentz Transformation
    L(b:SQMATRIX(4,EXPR INT)):SQMATRIX(4,EXPR INT) ==

      id := 1$SQMATRIX(4,EXPR INT)
      lambda:EXPR(INT) := 1/(1+sqrt(1+1/2*trace(b^2)))

      id + b + lambda * b^2

\end{aldor}

\begin{axiom}
)lib mink1
)lib mink2
\end{axiom}

Objects and velocities
\begin{axiom}
P:=obs();
Q:=obs();
u:=w(P,Q);
u':=w(Q,P);
\end{axiom}

Choose three arbitrary basis vectors $e^i$ in $E_P$ (i.e
such that $e^i P_i=0$)
\begin{axiom}
e:=matrix [[e1,e2,e3],_
           [ 1, 0, 0],_
           [ 0, 1, 0],_
           [ 0, 0, 1]]
e:=eval(e,solve(map(x+->(x=0),members(g(P)*e)),[e1,e2,e3]).1)
\end{axiom}

Express the coefficients of relative velocity u in this basis
\begin{axiom}
u!:=matrix [[u1],[u2],[u3]]
u!:=eval(u!,solve(map(x+->(x=0),members(u-e*u!)),[u1,u2,u3]).1)
\end{axiom}

The Lorentz transformation transforms the basis $e$ to $e'$ in such
a way that the components of the inverse velocity with respect
to basis $e'$ are just minus (-) the components of the velocity
with respect to the basis $e$.
\begin{axiom}
e' := L(M(P,Q))*e;
Is?(possible( u  = e * u! ))
Is?(possible( u' = e'*(-u!) ))
\end{axiom}

Composition of collinear velocities (again)

  For velocity v collinear with reciprocal velocity u' we can
use Einstein's original formula.

Reference: Matolcsi 4.3.4. op. cit.

See SandBoxCategoricalRelativity. Find object L such that
v=w(Q,L) where
\begin{axiom}
v := alpha*u';
L := b(Q,v);
\end{axiom}

First express the coefficients of the composite relative velocity
w(P,L) and the relative velocity v=w(Q,L) in the bases $e$ and $e'$
\begin{axiom}
w!:=matrix [[w1],[w2],[w3]];
w!:=eval(w!,solve(map(x+->(x=0),members(w(P,L)-e*w!)),[w1,w2,w3]).1);
v!:=matrix [[v1],[v2],[v3]];
v!:=eval(v!,solve(map(x+->(x=0),members(v-e'*v!)),[v1,v2,v3]).1)
\end{axiom}

Then in Einstein's equation we add u! and v! even though they
have different bases:
\begin{axiom}
abs(u)==sqrt((transpose(u)*u).(1,1))
Is?( w!=(u!+v!)/(1+abs(u!)*abs(v!)) )
\end{axiom}


Einstein Velocity and Non-associative Addition

Reference

Matolcsi 4.2.3 op. cit.
In contradistinction to the non-relativistic case and to our habitual "evidence", the relative velocity of P with respect to Q is not the opposite of the relative velocity of Q with respect to P ... It is worth emphasizing this fact because in most textbooks one takes it for granted that w(P,Q) and -w(Q,P) are equal: "If an observer moves with velocity v relative to another then the second observer moves with velocity -v relative to the first one.". Nevertheless, no harm comes because vectors are given there by their components with respect to some convenient bases and then the components of w(P,Q) and w(Q,P) become opposite to each other.

Minkowski Package

This code extends the Minkowski package defined on the previous page SandBox Lorentz Transformations

fricas
(1) -> <aldor>
#include "axiom.as"
#pile
#library minkowski1 "mink1.ao"
EXPR ==> Expression FRAC ==> Fraction INT ==> Integer LIST ==> List MATRIX ==> Matrix PI ==> PositiveInteger NNI ==> NonNegativeInteger SQMATRIX ==> SquareMatrix
import from INT, NNI import from MATRIX EXPR INT import from EXPR INT import from SQMATRIX(4,EXPR INT) import from FRAC INT import from LIST EXPR INT
minkowski2(): with M: (MATRIX EXPR INT,MATRIX EXPR INT) -> MATRIX EXPR INT L: SQMATRIX(4,EXPR INT) -> SQMATRIX(4,EXPR INT) == add import from minkowski1 inline from minkowski1
-- Something wrong with the import so these defined locally g():Matrix EXPR INT == diagonalMatrix([-1,1,1,1])$Matrix(EXPR INT) g(x:Matrix EXPR INT):Matrix EXPR INT == transpose(x)*g()
-- Boost Bivector M(P:MATRIX EXPR INT,Q:MATRIX EXPR INT):MATRIX EXPR INT == (P*g(Q) - Q*g(P))
-- Lorentz Transformation L(b:SQMATRIX(4,EXPR INT)):SQMATRIX(4,EXPR INT) ==
id := 1$SQMATRIX(4,EXPR INT) lambda:EXPR(INT) := 1/(1+sqrt(1+1/2*trace(b^2)))
id + b + lambda * b^2</aldor>
fricas
Compiling FriCAS source code from file 
      /var/lib/zope2.10/instance/axiom-wiki/var/LatexWiki/mink2.as 
      using Aldor compiler and options 
-O -Fasy -Fao -Flsp -lfricas -Mno-ALDOR_W_WillObsolete -DFriCAS -Y $FRICAS/algebra -I $FRICAS/algebra
      Use the system command )set compiler args to change these 
      options.
   The )library system command was not called after compilation.

fricas
)lib mink1
fricas
Reading /var/aw/var/LatexWiki/mink1.asy
   minkowski1 is now explicitly exposed in frame initial 
   minkowski1 will be automatically loaded when needed from 
      /var/aw/var/LatexWiki/mink1
fricas
)lib mink2
fricas
Reading /var/aw/var/LatexWiki/mink2.asy
   minkowski2 is now explicitly exposed in frame initial 
   minkowski2 will be automatically loaded when needed from 
      /var/aw/var/LatexWiki/mink2

Objects and velocities

fricas
P:=obs();
>> System error: #<SB-SYS:FD-STREAM for "file /var/aw/var/LatexWiki/mink1.fasl" {1004BECB53}> is a fasl file compiled with SBCL 1.0.31, and can't be loaded into SBCL 1.1.1.

Choose three arbitrary basis vectors e^i in E_P (i.e such that e^i P_i=0)

fricas
e:=matrix [[e1,e2,e3],_
           [ 1, 0, 0],_
           [ 0, 1, 0],_
           [ 0, 0, 1]]

\label{eq1}\left[ 
\begin{array}{ccc}
e 1 & e 2 & e 3 
\
1 & 0 & 0 
\
0 & 1 & 0 
\
0 & 0 & 1 
(1)
Type: Matrix(Polynomial(Integer))
fricas
e:=eval(e,solve(map(x+->(x=0),members(g(P)*e)),[e1,e2,e3]).1)
There are 1 exposed and 0 unexposed library operations named g having 1 argument(s) but none was determined to be applicable. Use HyperDoc Browse, or issue )display op g to learn more about the available operations. Perhaps package-calling the operation or using coercions on the arguments will allow you to apply the operation.
Cannot find a definition or applicable library operation named g with argument type(s) Variable(P)
Perhaps you should use "@" to indicate the required return type, or "$" to specify which version of the function you need.

Express the coefficients of relative velocity u in this basis

fricas
u!:=matrix [[u1],[u2],[u3]]

\label{eq2}\left[ 
\begin{array}{c}
u 1 
\
u 2 
\
u 3 
(2)
Type: Matrix(Polynomial(Integer))
fricas
u!:=eval(u!,solve(map(x+->(x=0),members(u-e*u!)),[u1,u2,u3]).1)
There are 9 exposed and 6 unexposed library operations named - having 2 argument(s) but none was determined to be applicable. Use HyperDoc Browse, or issue )display op - to learn more about the available operations. Perhaps package-calling the operation or using coercions on the arguments will allow you to apply the operation.
Cannot find a definition or applicable library operation named - with argument type(s) Variable(u) Matrix(Polynomial(Integer))
Perhaps you should use "@" to indicate the required return type, or "$" to specify which version of the function you need.

The Lorentz transformation transforms the basis e to e' in such a way that the components of the inverse velocity with respect to basis e' are just minus (-) the components of the velocity with respect to the basis e.

fricas
e' := L(M(P,Q))*e;
There are 1 exposed and 0 unexposed library operations named M having 2 argument(s) but none was determined to be applicable. Use HyperDoc Browse, or issue )display op M to learn more about the available operations. Perhaps package-calling the operation or using coercions on the arguments will allow you to apply the operation.
Cannot find a definition or applicable library operation named M with argument type(s) Variable(P) Variable(Q)
Perhaps you should use "@" to indicate the required return type, or "$" to specify which version of the function you need.

Composition of collinear velocities (again)

For velocity v collinear with reciprocal velocity u' we can use Einstein's original formula.

Reference: Matolcsi 4.3.4. op. cit.

See SandBoxCategoricalRelativity. Find object L such that v=w(Q,L) where

fricas
v := alpha*u';
Type: Polynomial(Integer)
fricas
L := b(Q,v);
There are 1 exposed and 0 unexposed library operations named b having 2 argument(s) but none was determined to be applicable. Use HyperDoc Browse, or issue )display op b to learn more about the available operations. Perhaps package-calling the operation or using coercions on the arguments will allow you to apply the operation.
Cannot find a definition or applicable library operation named b with argument type(s) Variable(Q) Polynomial(Integer)
Perhaps you should use "@" to indicate the required return type, or "$" to specify which version of the function you need.

First express the coefficients of the composite relative velocity w(P,L) and the relative velocity v=w(Q,L) in the bases e and e'

fricas
w!:=matrix [[w1],[w2],[w3]];
Type: Matrix(Polynomial(Integer))
fricas
w!:=eval(w!,solve(map(x+->(x=0),members(w(P,L)-e*w!)),[w1,w2,w3]).1);
There are 1 exposed and 0 unexposed library operations named w having 2 argument(s) but none was determined to be applicable. Use HyperDoc Browse, or issue )display op w to learn more about the available operations. Perhaps package-calling the operation or using coercions on the arguments will allow you to apply the operation.
Cannot find a definition or applicable library operation named w with argument type(s) Variable(P) Variable(L)
Perhaps you should use "@" to indicate the required return type, or "$" to specify which version of the function you need.

Then in Einstein's equation we add u! and v! even though they have different bases:

fricas
abs(u)==sqrt((transpose(u)*u).(1,1))
Type: Void
fricas
Is?( w!=(u!+v!)/(1+abs(u!)*abs(v!)) )
There are 13 exposed and 11 unexposed library operations named + having 2 argument(s) but none was determined to be applicable. Use HyperDoc Browse, or issue )display op + to learn more about the available operations. Perhaps package-calling the operation or using coercions on the arguments will allow you to apply the operation.
Cannot find a definition or applicable library operation named + with argument type(s) Matrix(Polynomial(Integer)) Variable(v!)
Perhaps you should use "@" to indicate the required return type, or "$" to specify which version of the function you need.