|

Composition of collinear velocities
For velocity v collinear with reciprocal velocity u' we have Matolcsi (4.3.3)
![]()
General addition of relative velocities (Oziewicz)
![]()
![]()
Associativity
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).

Some or all expressions may not have rendered properly, because Axiom returned the following error:
Error: export AXIOM=/usr/local/lib/axiom/target/x86_64-unknown-linux; ALDORROOT=/usr/local/aldor/linux/1.1.0; export PATH=PATH; export HOME=/var/zope2/var/LatexWiki; ulimit -t 240; $AXIOM/bin/AXIOMsys < /var/zope2/var/LatexWiki/3933104534659023437-25px.axm
GCL (GNU Common Lisp) 2.6.8 CLtL1 Nov 9 2007 07:47:56 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (READLINE BFD UNEXEC) Modifications of this banner must retain notice of a compatible license Dedicated to the memory of W. Schelter
Use (help) to get some basic information on how to use GCL. Temporary directory for compiler files set to /tmp/ FriCAS (AXIOM fork) Computer Algebra System Version: FriCAS 2007-10-02 Timestamp: Friday November 9, 2007 at 19:35:06 ----------------------------------------------------------------------------- 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)))
The AlgebraicNumber domain can test for numerical equality of complicated
expressions involving 
Associated with each such vector is the orthogonal 3-d Euclidean subspace



