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

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)
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 in (i.e such that )

fricas
e:=matrix [[e1,e2,e3],_
[ 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
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]]  (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 to in such a way that the components of the inverse velocity with respect to basis are just minus (-) the components of the velocity with respect to the basis .

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
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
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 and

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
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 !! ( 14 subscribers )