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

Edit detail for SandBox Categorical Relativity revision 2 of 11

1 2 3 4 5 6 7 8 9 10 11
Editor: Bill Page
Time: 2008/06/12 15:28:58 GMT-7
Note: fix links

changed:
-  - "How do you add relative velocities?":http://portal.axiom-developer.org/Members/billpage/catrel/group25.pdf/file_view
-
-  - "What Is Categorical Relativity?":http://portal.axiom-developer.org/Members/billpage/catrel/ladek.pdf/file_view
  - "How do you add relative velocities?":http://axiom-portal.newsynthesis.org/Members/billpage/catrel/group25.pdf/file_view

  - "What Is Categorical Relativity?":http://axiom-portal.newsynthesis.org/Members/billpage/catrel/ladek.pdf/file_view

changed:
-  - "Spacetime without reference frames":http://portal.axiom-developer.org/Members/billpage/physics/matolcsi.pdf/file_view
  - "Spacetime without reference frames":http://axiom-portal.newsynthesis.org/Members/billpage/physics/matolcsi.pdf/file_view

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)

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

Then a row vector is

axiom
transpose(vect [a1,a2,a3])
LatexWiki Image(2)
Type: Matrix Expression Integer

Inner product is

axiom
transpose(vect [a1,a2,a3])*vect [b1,b2,b3]
LatexWiki Image(3)
Type: Matrix Expression Integer

and tensor product is

axiom
vect [a1,a2,a3]*transpose(vect [b1,b2,b3])
LatexWiki Image(4)
Type: Matrix Expression Integer

Applying the Lorentz form produces a row vector

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

or a scalar

axiom
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.

axiom
possible(x)==subst(x, map(y+->(y=(random(100) - random(100))),variables x) )
Type: Void
axiom
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
axiom
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 LatexWiki Image.

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

axiom
P:=vect [sqrt(p1^2+p2^2+p3^2+1),p1,p2,p3];
Type: Matrix Expression Integer
axiom
g(P,P)
axiom
Compiling function g with type (Matrix Expression Integer,Matrix 
      Expression Integer) -> Expression Integer
LatexWiki Image(5)
Type: Expression Integer
axiom
Q:=vect [sqrt(q1^2+q2^2+q3^2+1),q1,q2,q3];
Type: Matrix Expression Integer
axiom
g(Q,Q)
LatexWiki Image(6)
Type: Expression Integer

Associated with each such vector is the orthogonal 3-d Euclidean subspace LatexWiki Image

Relative Velocity

An object Q has a unique relative velocity w(P,Q) with respect to object P given by

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

Lorentz factor

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

Binary Boost

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

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

axiom
u:=w(P,Q);
axiom
Compiling function w with type (Matrix Expression Integer,Matrix 
      Expression Integer) -> Matrix Expression Integer
Type: Matrix Expression Integer
axiom
g(P,u)
LatexWiki Image(7)
Type: Expression Integer
axiom
possible(g(u,u))::EXPR Float
axiom
Compiling function possible with type Expression Integer -> 
      Expression Integer
LatexWiki Image(8)
Type: Expression Float

axiom
IsPossible?(gamma(u)=-g(P,Q))
axiom
Compiling function gamma with type Matrix Expression Integer -> 
      Expression Integer
axiom
Compiling function IsPossible? with type Equation Expression Integer
       -> Boolean
LatexWiki Image(9)
Type: Boolean

u is velocity of object Q

axiom
IsPossible?(g(Q,u)=gamma(u)-1/gamma(u))
LatexWiki Image(10)
Type: Boolean

Observer Q is u-boost of P

axiom
IsPossible2?(Q=b(P,u))
axiom
Compiling function b with type (Matrix Expression Integer,Matrix 
      Expression Integer) -> Matrix Expression Integer
axiom
Compiling function IsPossible2? with type Equation Matrix Expression
      Integer -> Boolean
LatexWiki Image(11)
Type: Boolean

Inverse velocity is measured by Q

axiom
u' := w(Q,P);
Type: Matrix Expression Integer
axiom
g(Q,u')
LatexWiki Image(12)
Type: Expression Integer

Inverse velocity is not reciprocal

axiom
IsPossible2?(-u=u')
LatexWiki Image(13)
Type: Boolean

Object P is u'-boost of Q

axiom
IsPossible2?(P=b(Q,u'))
LatexWiki Image(14)
Type: Boolean

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

axiom
IsPossible2?(P = -1/g(u,u)*(u+u'/gamma(u)))
LatexWiki Image(15)
Type: Boolean
axiom
IsPossible2?(Q = -1/g(u,u)*(u'+u/gamma(u)))
LatexWiki Image(16)
Type: Boolean

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

axiom
IsPossible?(g(u,u)=g(u',u'))
LatexWiki Image(17)
Type: Boolean

Collinear Velocities

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

LatexWiki Image 

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

Composition of collinear velocities

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

axiom
Is2?(w(P,L)=(u-alpha*u)/(1-alpha*g(u,u)))
LatexWiki Image(19)
Type: Boolean

General addition of relative velocities (Oziewicz)

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

axiom
Is2?(w(P,L)=addition(v,u,u'))
axiom
Compiling function addition with type (Matrix Expression Integer,
      Matrix Expression Integer,Matrix Expression Integer) -> Matrix 
      Expression Integer
LatexWiki Image(20)
Type: Boolean
axiom
IsPossible2?(w(P,L)=addition(w(Q,L),w(P,Q),w(Q,P)))
LatexWiki Image(21)
Type: Boolean

Associativity

Unlike Einstein addition of velocities, addition of relative velocities is associative:

LatexWiki Image 

axiom
R:=vect [sqrt(r1^2+r2^2+r3^2+1),r1,r2,r3];
Type: Matrix Expression Integer
axiom
g(R,R)
LatexWiki Image(22)
Type: Expression Integer
axiom
S:=vect [sqrt(s1^2+s2^2+s3^2+1),s1,s2,s3];
Type: Matrix Expression Integer
axiom
g(S,S)
LatexWiki Image(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).

axiom
--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)))
LatexWiki Image(24)
Type: Boolean

axiom
--IsPossible2?(w(P,S)=addition(w(Q,S),w(P,Q),w(Q,P)))
--IsPossible2?(w(P,S)=addition(w(R,S),w(P,R),w(R,P)))
0
LatexWiki Image(25)
Type: NonNegativeInteger?