|
|
last edited 10 years ago by Bill Page |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | ||
Editor: Bill Page
Time: 2013/09/22 02:14:21 GMT+0 |
||
Note: |
changed: - Lorentz transformations. Book by T. Matolcsi - "Space-time without reference frames":http://axiom-wiki.newsynthesis.org/uploads/matolcsi.pdf Mathematical Preliminaries A vector is represented as a nx1 matrix (column vector) \begin{axiom} vect(x:List Expression Integer):Matrix Expression Integer == matrix map(y+->[y],x) vect [a1,a2,a3] \end{axiom} Then a row vector is \begin{axiom} transpose(vect [a1,a2,a3]) \end{axiom} Tensor product is \begin{axiom} tensor(v,w) == v*transpose(w) tensor(vect [a1,a2,a3], vect [b1,b2,b3]) \end{axiom} Applying the Lorentz form produces a row vector \begin{axiom} g(x)==transpose(x)*diagonalMatrix [-1,1,1,1] \end{axiom} or a scalar \begin{axiom} g(x,y)== (transpose(x)*diagonalMatrix([-1,1,1,1])*y)::EXPR INT \end{axiom} For difficult verifications it is sometimes convenient to replace symbols by random numerical values. \begin{axiom} possible(x)==subst(x, map(y+->(y=(random(100) - random(100))),variables x) ) Is?(eq:Equation EXPR INT):Boolean == (lhs(eq)-rhs(eq)=0)::Boolean 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 \end{axiom} The AlgebraicNumber domain can test for numerical equality of complicated expressions involving $\sqrt{n}$. \begin{axiom} IsPossible?(eq:Equation EXPR INT):Boolean == _ (possible(lhs(eq)-rhs(eq)) :: Expression AlgebraicNumber=0)::Boolean 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 \end{axiom} Massive Objects An object (also referred to as an obserser) is represented by a time-like 4-vector \begin{axiom} P:=vect [sqrt(p1^2+p2^2+p3^2+1),p1,p2,p3]; g(P,P) Q:=vect [sqrt(q1^2+q2^2+q3^2+1),q1,q2,q3]; g(Q,Q) R:=vect [1,0,0,0] g(R,R) \end{axiom} Associated with each such vector is the orthogonal 3-d Euclidean subspace $E_P =\{x | P \cdot x = 0\}$ Relative Velocity An object Q has a unique relative velocity w(P,Q) with respect to object P given by \begin{axiom} w(P,Q)==-Q/g(P,Q)-P \end{axiom} Lorentz factor \begin{axiom} gamma(v)==1/sqrt(1-g(v,v)) \end{axiom} Binary Boost \begin{axiom} b(P,v)==gamma(v)*(P+v) \end{axiom} Observer P measures velocity u. u is space-like and in $E_P$. \begin{axiom} u:=w(P,Q); g(P,u) possible(g(u,u))::EXPR Float \end{axiom} \begin{axiom} L(P,Q) == diagonalMatrix([1,1,1,1]) + tensor(P+Q,P+Q)/g(P,Q) - 2*tensor(P,Q) L(P,R) L(P,R)*P \end{axiom}
Lorentz transformations.
A vector is represented as a nx1 matrix (column vector)
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.
vect [a1,a2, a3]
Compiling function vect with type List(Expression(Integer)) -> Matrix(Expression(Integer))
(1) |
Then a row vector is
transpose(vect [a1,a2, a3])
(2) |
Tensor product is
tensor(v,w) == v*transpose(w)
tensor(vect [a1,a2, a3], vect [b1, b2, b3])
Compiling function tensor with type (Matrix(Expression(Integer)),Matrix(Expression(Integer))) -> Matrix(Expression(Integer))
(3) |
Applying the Lorentz form produces a row vector
g(x)==transpose(x)*diagonalMatrix [-1,1, 1, 1]
or a scalar
g(x,y)== (transpose(x)*diagonalMatrix([-1, 1, 1, 1])*y)::EXPR INT
For difficult verifications it is sometimes convenient to replace symbols by random numerical values.
possible(x)==subst(x,map(y+->(y=(random(100) - random(100))), variables x) )
Is?(eq:Equation EXPR INT):Boolean == (lhs(eq)-rhs(eq)=0)::Boolean
Function declaration Is? : Equation(Expression(Integer)) -> Boolean has been added to workspace.
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.
The AlgebraicNumber? domain can test for numerical equality of complicated expressions involving .
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.
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.
An object (also referred to as an obserser) is represented by a time-like 4-vector
P:=vect [sqrt(p1^2+p2^2+p3^2+1),p1, p2, p3];
g(P,P)
Compiling function g with type (Matrix(Expression(Integer)),Matrix( Expression(Integer))) -> Expression(Integer)
(4) |
Q:=vect [sqrt(q1^2+q2^2+q3^2+1),q1, q2, q3];
g(Q,Q)
(5) |
R:=vect [1,0, 0, 0]
(6) |
g(R,R)
(7) |
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
w(P,Q)==-Q/g(P, Q)-P
Lorentz factor
gamma(v)==1/sqrt(1-g(v,v))
Binary Boost
b(P,v)==gamma(v)*(P+v)
Observer P measures velocity u. u is space-like and in .
u:=w(P,Q);
Compiling function w with type (Matrix(Expression(Integer)),Matrix( Expression(Integer))) -> Matrix(Expression(Integer))
g(P,u)
(8) |
possible(g(u,u))::EXPR Float
Compiling function possible with type Expression(Integer) -> Expression(Integer)
(9) |
L(P,Q) == diagonalMatrix([1, 1, 1, 1]) + tensor(P+Q, P+Q)/g(P, Q) - 2*tensor(P, Q)
L(P,R)
Compiling function L with type (Matrix(Expression(Integer)),Matrix( Expression(Integer))) -> Matrix(Expression(Integer))
(10) |
L(P,R)*P
(11) |