|
|
last edited 11 years ago by Bill Page |
1 2 3 4 5 6 7 8 9 10 11 | ||
Editor: Bill Page
Time: 2009/08/04 16:05:42 GMT-7 |
||
Note: fix links |
Special relativity without Lorentz transformations.
Here are some sample computations based on papers by Z. Oziewicz
In categorical relativity the inverse relative velocity morphism is observer dependent, and not absolute as in the usual formulation where .
and the book by T. Matolcsi
See also the slides: SandBoxRelativeVelocity (presented at IARD 2006).
A vector is represented as a nx1 matrix (column vector) Then a row vector is Inner product is and tensor product is
Applying the Lorentz form produces a row vector or a scalar For difficult verifications it is sometimes convenient to replace symbols by random numerical values. The AlgebraicNumber domain can test for numerical equality of complicated expressions involving .
An object (also referred to as an obserser) is represented by a time-like 4-vector Associated with each such vector is the orthogonal 3-d Euclidean subspace
An object Q has a unique relative velocity w(P,Q) with respect to object P given by
Lorentz factor
Binary Boost
Observer P measures velocity u. u is space-like and in .
u is velocity of object Q
Observer Q is u-boost of P
Inverse velocity is measured by Q
Inverse velocity is not reciprocal
Object P is u'-boost of Q
Objects P and Q are completely determined by velocities u and u'
The magnitude of the inverse velocity is the same as the velocity
Suppose the velocity v of some object L is collinear with reciprocal velocity u':
For velocity v collinear with reciprocal velocity u' we have Matolcsi (4.3.3)
General addition of relative velocities (Oziewicz)
Unlike Einstein addition of velocities, addition of relative velocities is associative:
Unfortunately Axiom is not able to evaluate all of these in a reasonable amount of time (within the 1 minute wiki limit).
Error: export AXIOM=/usr/local/lib/fricas/target/x86_64-unknown-linux; export ALDORROOT=/usr/local/aldor/linux/1.1.0; export PATH=PATH; export HOME=/var/zope2/var/LatexWiki; ulimit -t 120; $AXIOM/bin/AXIOMsys < /var/zope2/var/LatexWiki/3933104534659023437-25px.axmChecking for foreign routines AXIOM="/usr/local/lib/fricas/target/x86_64-unknown-linux" spad-lib="/usr/local/lib/fricas/target/x86_64-unknown-linux/lib/libspad.so" foreign routines found openServer result -2 FriCAS (AXIOM fork) Computer Algebra System Version: FriCAS 2009-10-10 Timestamp: Tuesday October 13, 2009 at 18:58:11 ----------------------------------------------------------------------------- Issue )copyright to view copyright notices. Issue )summary for a summary of useful system commands. Issue )quit to leave FriCAS and return to shell. -----------------------------------------------------------------------------
(1) -> (1) -> (1) -> (1) -> (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 vect [a1,a2,a3]
Compiling function vect with type List(Expression(Integer)) -> Matrix(Expression(Integer))
Type: Matrix(Expression(Integer)) (3) -> transpose(vect [a1,a2,a3])
Type: Matrix(Expression(Integer)) (4) -> transpose(vect [a1,a2,a3])*vect [b1,b2,b3]
Type: Matrix(Expression(Integer)) (5) -> vect [a1,a2,a3]*transpose(vect [b1,b2,b3])
Type: Matrix(Expression(Integer)) (6) -> g(x)==transpose(x)*diagonalMatrix [-1,1,1,1]
Type: Void (7) -> g(x,y)== (transpose(x)*diagonalMatrix([-1,1,1,1])*y)::EXPR INT
Type: Void (8) -> possible(x)==subst(x, map(y+->(y=(random(100) - random(100))),variables x) )
Type: Void 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 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 (11) -> 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 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 (13) -> P:=vect [sqrt(p1^2+p2^2+p3^2+1),p1,p2,p3];
Type: Matrix(Expression(Integer)) g(P,P)
Compiling function g with type (Matrix(Expression(Integer)),Matrix( Expression(Integer))) -> Expression(Integer)
Type: Expression(Integer) Q:=vect [sqrt(q1^2+q2^2+q3^2+1),q1,q2,q3];
Type: Matrix(Expression(Integer)) g(Q,Q)
Type: Expression(Integer) (17) -> w(P,Q)==-Q/g(P,Q)-P
Type: Void (18) -> gamma(v)==1/sqrt(1-g(v,v))
Type: Void (19) -> b(P,v)==gamma(v)*(P+v)
Type: Void (20) -> u:=w(P,Q);
Compiling function w with type (Matrix(Expression(Integer)),Matrix( Expression(Integer))) -> Matrix(Expression(Integer))
Type: Matrix(Expression(Integer)) g(P,u)
Type: Expression(Integer) possible(g(u,u))::EXPR Float
Compiling function possible with type Expression(Integer) -> Expression(Integer)
Type: Expression(Float) (23) -> IsPossible?(gamma(u)=-g(P,Q))
Compiling function gamma with type Matrix(Expression(Integer)) -> Expression(Integer) Compiling function IsPossible? with type Equation(Expression(Integer )) -> Boolean
Type: Boolean (24) -> IsPossible?(g(Q,u)=gamma(u)-1/gamma(u))
Type: Boolean (25) -> IsPossible2?(Q=b(P,u))
Compiling function b with type (Matrix(Expression(Integer)),Matrix( Expression(Integer))) -> Matrix(Expression(Integer)) Compiling function IsPossible2? with type Equation(Matrix(Expression (Integer))) -> Boolean
Type: Boolean (26) -> u' := w(Q,P);
Type: Matrix(Expression(Integer)) g(Q,u')
Type: Expression(Integer) (28) -> IsPossible2?(-u=u')
Type: Boolean (29) -> IsPossible2?(P=b(Q,u'))
Type: Boolean (30) -> IsPossible2?(P = -1/g(u,u)*(u+u'/gamma(u)))
Type: Boolean IsPossible2?(Q = -1/g(u,u)*(u'+u/gamma(u)))
Type: Boolean (32) -> IsPossible?(g(u,u)=g(u',u'))
Type: Boolean (33) -> v := alpha*u';
Type: Matrix(Expression(Integer)) L := b(Q,v);
Type: Matrix(Expression(Integer)) Is2?(v=w(Q,L))
Compiling function Is2? with type Equation(Matrix(Expression(Integer ))) -> Boolean
Type: Boolean (36) -> Is2?(w(P,L)=(u-alphau)/(1-alphag(u,u)))
Type: Boolean (37) -> addition(v,u,u') == ( u + v/gamma(u) - g(v,u')/g(u,u)*(u + u'/gamma(u)) ) / (1-g(v,u'))
Type: Void (38) -> Is2?(w(P,L)=addition(v,u,u'))
Compiling function addition with type (Matrix(Expression(Integer)), Matrix(Expression(Integer)),Matrix(Expression(Integer))) -> Matrix(Expression(Integer))
Type: Boolean IsPossible2?(w(P,L)=addition(w(Q,L),w(P,Q),w(Q,P)))
Type: Boolean (40) -> R:=vect [sqrt(r1^2+r2^2+r3^2+1),r1,r2,r3];
Type: Matrix(Expression(Integer)) g(R,R)
Type: Expression(Integer) S:=vect [sqrt(s1^2+s2^2+s3^2+1),s1,s2,s3];
Type: Matrix(Expression(Integer)) g(S,S)
Type: Expression(Integer) (44) -> --IsPossible2?(w(P,R)=addition(w(Q,R),w(P,Q),w(Q,P))) --IsPossible2?(w(R,P)=addition(w(Q,P),w(R,Q),w(Q,R))) IsPossible2?(w(Q,S)=addition(w(R,S),w(Q,R),w(R,Q)))