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

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

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
   Compiling FriCAS source code from file 
      /var/lib/zope2.10/instance/axiom-wiki/var/LatexWiki/mink2.as 
      using AXIOM-XL compiler and options 
-O -Fasy -Fao -Flsp -laxiom -Mno-ALDOR_W_WillObsolete -DAxiom -Y $AXIOM/algebra -I $AXIOM/algebra
      Use the system command )set compiler args to change these 
      options.
#1 (Warning) Could not use archive file `libaxiom.al'.
#2 (Warning) Could not use archive file `libaxiom.al'.
"/usr/local/aldor/linux/1.1.0/include/axiom.as", line 4: 
import from AxiomLib;
............^
[L4 C13] #3 (Error) No meaning for identifier `AxiomLib'.
"/usr/local/aldor/linux/1.1.0/include/axiom.as", line 15: import { true: %, false: % } from Boolean; ..................................^ [L15 C35] #4 (Error) No meaning for identifier `Boolean'.
"/usr/local/aldor/linux/1.1.0/include/axiom.as", line 17: string: Literal -> %; ........................^.......^ [L17 C25] #5 (Error) No meaning for identifier `Literal'. [L17 C33] #6 (Error) There are no suitable meanings for the operator `->'.
"/usr/local/aldor/linux/1.1.0/include/axiom.as", line 18: } from String; .......^ [L18 C8] #8 (Error) No meaning for identifier `String'.
"/var/lib/zope2.10/instance/axiom-wiki/var/LatexWiki/mink2.as", line 6: EXPR ==> Expression .............^ [L6 C14] #12 (Error) (After Macro Expansion) There are no suitable meanings for the operator `Expression'. Expanded expression was: Expression
"/var/lib/zope2.10/instance/axiom-wiki/var/LatexWiki/mink2.as", line 8: INT ==> Integer .............^ [L8 C14] #9 (Error) (After Macro Expansion) No meaning for identifier `Integer'. Expanded expression was: Integer
"/var/lib/zope2.10/instance/axiom-wiki/var/LatexWiki/mink2.as", line 10: MATRIX ==> Matrix .............^ [L10 C14] #11 (Error) (After Macro Expansion) There are no suitable meanings for the operator `Matrix'. Expanded expression was: Matrix
"/var/lib/zope2.10/instance/axiom-wiki/var/LatexWiki/mink2.as", line 12: NNI ==> NonNegativeInteger .............^ [L12 C14] #10 (Error) (After Macro Expansion) No meaning for identifier `NonNegativeInteger'. Expanded expression was: NonNegativeInteger [L12 C14] #13 (Fatal Error) (After Macro Expansion) Too many errors (use `-M emax=n' or `-M no-emax' to change the limit). Expanded expression was: ()
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" {1004CDC7E3}> 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 8 exposed and 4 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. Is?(possible( u = e * u! ))
There are 3 exposed and 0 unexposed library operations named equation having 2 argument(s) but none was determined to be applicable. Use HyperDoc Browse, or issue )display op equation 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 equation 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. Is?(possible( u' = e'*(-u!) ))
There are 3 exposed and 0 unexposed library operations named equation having 2 argument(s) but none was determined to be applicable. Use HyperDoc Browse, or issue )display op equation 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 equation 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.

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. v!:=matrix [[v1],[v2],[v3]];
Type: Matrix(Polynomial(Integer))
fricas
v!:=eval(v!,solve(map(x+->(x=0),members(v-e'*v!)),[v1,v2,v3]).1)
There are 8 exposed and 4 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) Polynomial(Integer) Matrix(Polynomial(Integer))
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!)) )
fricas
Compiling function abs with type Matrix(Polynomial(Integer)) -> 
      Expression(Integer) 
>> System error: #<SB-SYS:FD-STREAM for "file /var/aw/var/LatexWiki/mink1.fasl" {1007200293}> is a fasl file compiled with SBCL 1.0.31, and can't be loaded into SBCL 1.1.1.




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