Special Relativity

We begin at the level of Modern Physics extensions to first-year Physics texts (around page 1000).

The Galilean transformations dominated physics until the beginning of the 20th century. They were based on the universality of time and simple additivity of velocities between inertial (non-accelerated) reference frames. Albert Einstein proposed to substitute the following two principles for this transformation in order to resolve the difficulties with understanding the Michelson-Morley experiment, which demonstrated that the speed of light was the same in inertial reference frames:

1. The laws of physics are the same for all observers situated in inertial frames;

2. The speed of light in vacuum is the same for all observers and in all directions.

The first step to understand the implications of these principles is that the idea of simultaneity cannot be an absolute one: what appears simultaneous to observer O1, will not appear to be simultaneous for observer O2 moving with respect to O1. In fact, even the order of events can be reversed.

> restart;

The basics

We begin with a discussion of two phenomena that arise as a result of the stated two principles: time dilation and length contraction.

Time dilation

The implications are that we need to understand how two observers that have their own clocks can transform the times between their reference frames. For this purpose one introduces a so-called light clock: a flashlamp sends of a light pulse, which travels to a mirror that is a known distance L away in the y -direction. Upon return the pulse is recorded by a photocell, and another pulse is triggered to leave the flashlamp. We assume that there is no delay between registering at the photocell and emitting the next pulse from the flashlamp. The clock sends pulses at a known time inerval of [Maple Math] for an observer O1 stationary with respect to the clock. The subscript makes it clear that it is the time observed by someone with zero speed with respect to the clock.

Now consider an observer O2 moving with a known velocity with respect to O1, such that the direction of travel is perpendicular to the light path, i.e., he moves in the horizontal x -direction. He has such a clock in his moving frame. Suppose a light pulse is bouncing off the mirror just at the x -position of O1. This means that the flashlamp released the pulse at some x- distance prior to passage of O1, and the photocell will register at an x -distance of equal magnitude after passing O1.

What does O2 notice? O2 notices a flash released from the moving clock prior to passage, and another flash after the passage. This means that the light has travelled a longer distance, namely 2 D . The time interval for an observer in a moving reference frame (speed V ) with respect to the clock is, therefore, [Maple Math] .

The task is now to find the relationship between the times. The Pythagorean theorem allows one to relate D and L . The constancy of the speed of light then implies a relationship between the time intervals.

The distance along x that the moving clock travels between emitting the flash and passing O2, as measured by O2 is [Maple Math] .

We begin with the time intervals between flashes for the stationary and moving observers (O1 and O2):

> eq1:=Dt[0]=2*L/c;

[Maple Math]

> eq2:=Dt[V]=2*D/c;

[Maple Math]

Now we use the Pythagorean theorem with the statement about O2's measurement of the distance between flashes occuring:

> eq3:=D^2=L^2+(V*Dt[V]/2)^2;

[Maple Math]

We square the time interval observed by O2

> eq2p:=lhs(eq2)^2=rhs(eq2)^2;

[Maple Math]

to be able to substitute the unknown distance that the light pulse must have travelled (D^2):

> eq4:=subs(D^2=solve(eq3,D^2),eq2p);

[Maple Math]

Now we eliminate L by introducing the proper time interval:

> eq5:=subs(L=solve(eq1,L),eq4);

[Maple Math]

and solve for the dilated time interval.

> sol:=solve(eq5,Dt[V]);

[Maple Math]

We are only interested in the positive root.

> eq6:=Dt[V]=sol[1];

[Maple Math]

This result is commonly expressed by cancelling the c and expressing the speed between the frames as a fraction of the speed of light.

> eq6p:=Dt[V]=Dt[0]/sqrt(1-(V/c)^2);

[Maple Math]

This looks clumsy, and thus we often use a shorthand notation:

> eq6pp:=Dt[V]=simplify(subs(V=beta*c,rhs(eq6)),symbolic);

[Maple Math]

The well-known experimental test of this relationship is the extension of the half-life of muons produced in the upper atmosphere by cosmic radiation (reported first in 1941 by Rossi and Hall). The average speed of these muons produced typically at a height of h =10 km is 0.994 c. A muon produced in a laboratory at rest has a half-life of 1.5 microseconds. If the muons produced at 10 km height and coming down with nearly the speed of light (299 792 km/s) were to decay at this rate, their population would be cut in half about every 0.45 km. Due to this exponential attenuation (executing 20 times a halving of the current sample is calculated below) a very tiny fraction of the produced muons would be observed ( [Maple Math] ).

> d_h:=1.5*10^(-6)*300000;

[Maple Math]

> 0.5^(20);

[Maple Math]

Instead we have the half-life as observed by us (who are moving with V =0.994 c with respect to the muons) of:

> t_h:=1.5*10^(-6)/sqrt(1-0.994^2);

[Maple Math]

The dilation factor is large indeed:

> 1./sqrt(1-0.994^2);

[Maple Math]

> t_h*300000;

[Maple Math]

The travel time to reach the surface of the Earth from a height of 10 km is a modest multiple of the half-life

> t_tr:=(10/300000);

[Maple Math]

> t_tr/t_h;

[Maple Math]

This means that less than a quarter of the muons produced at 10 km height do reach the surface of the Earth (and more of we stand on top of a high mountain).

We can visualize the time dilation factor by a simple graph as a function of the speed, expressed as a fraction of the speed of light ( beta ):

> plot(1/sqrt(1-beta^2),beta=0..1);

[Maple Plot]

The graph shows that time dilation becomes appreciable for particle speeds exceeding a quarter of the speed of light, and that it is unbounded for particles whose speed approaches c.

> restart;

Length Contraction

Now that we understand that simultaneity of events is non-universal phenomenon, and that the rate at which clocks tick depends on the velocity of the observer with respect to the clock, we have to assess the question of measuring the length of an object. In Newtonian mechanics the length of an object is determined by a simultaneous measurement of the position of its endpoints. We know that simultaneity is not universal, i.e., there will be no universal length for any object!

The thought experiment to investigate the phenomenon involves two observers O1 and O2 carrying rods of equal length L (as measured in their respective reference frame). Suppose O1 is stationary and O2 moves with velocity V =[ V ,0,0] with respect to O1. If the rods are held in the y or z directions the length measurements are not affected. The assumption of contraction or expansion in these circumstances lead to a contradiction with the first principle of relativity: the relative motion cannot lead to an observation of expansion in one frame vs contraction in the other: O1 and O2 have agreed that while at rest with respect to each other rods R1 and R2 are of equal length. Now suppose the O2 moves by with velocity V and both hold their rods in the y direction. Suppose O2 observes rod R1 to be contracted, and marks off the contracted length on his rod. Now observer O1 sees from the mark that rod R2 is longer, since from his point of view R1 is at rest and unaffected. Thus, we have supposed that O2 observes a contraction, while O1 observes an expansion. Yet physics has to be symmetrical with respect to the interchange of O1 and O2, as there is nothing absolute about one or the other. The contradiction is only avoided if no contraction or expansion is observed under these circumstances.

Mathematically this is formulated in the following way: if O1 uses [ x , y , z ], and O2 uses [ x ', y ', z '] as their Cartesian coordinates, then we found that for the given choice of relative velocity V =[ V ,0,0] the coordinates orthogonal to the direction of the velocity transform as y ' = y and z ' = z .

Now we are ready for the interesting case: O1 and O2 hold their rods in the x -direction, i.e., the direction of relative motion. Observers O1 and O2 measure the length of the rod to be L 0 (the proper length in the frame where the rod is stationary). Now O2 takes a rod held along x (or x ', as these directions coincide) and moves with velocity [ V ,0,0] past O1. O1 has a light clock and counts the number of pulses that pass between the passage of the beginning and the end of the rod (suppose the light clock has a start-stop trigger, and counts many pulses during the passage so that the result is accurate. O1 measures a time of Dt[0] for the passage of the rod.

The length of the moving rod is then to be calculated from

> eq1:=L[V]=V*Dt[0];

[Maple Math]

Now suppose that the moving observer O2 can read the clock pulses in O1's reference frame. The clock is moving with respect to O2 with speed V (remember that the time dilation is independent of the direction of the velocity, it depends on V ^2). The observed time is therefore Dt[V] .From this perspective the rod is stationary and has length L 0.

> eq2:=L[0]=V*Dt[V];

[Maple Math]

Observer O2 now converts the the time measured from O1's clock to his proper time. We lift from the previous section:

> eq6p:=Dt[V]=Dt[0]/sqrt(1-(beta)^2);

[Maple Math]

and substitute into eq2 to eliminate Dt[V] .

> eq3:=subs(Dt[V]=solve(eq6p,Dt[V]),eq2);

[Maple Math]

Now we eliminate Dt[0] from eq1 , and arrive at the desired result which relates the two length measurements:

> eq4:=subs(Dt[0]=solve(eq3,Dt[0]),eq1);

[Maple Math]

The length of a rod (length L[0] for a stationary observer) is measured to be of a shorter length L[V] when observed by someone moving with speed V in the direction of the rod. This length contraction was hypothesized independently in the 1890ies by FitzGerald and Lorentz.

The length contraction factor is illustrated in the graph below:

> plot(sqrt(1-beta^2),beta=0..1);

[Maple Plot]

As with time dilation we observe that the effect becomes noticable for speeds exceeding a fifth to a quarter of the speed of light, and becomes really strong for highly relativistic objects.

The length contraction can be used to explain the extended half-life of the muons from another perspective. Suppose an observer travels with the muons produced in the upper atmosphere (10 km height), i.e., with their speed (about 0.994 c; this known speed is the result of energy balancing in a particle physics reaction). From this observer's point of view the muons have a half-life as observed in a laboratory (where they are essentially at rest), namely 1.5 microseconds. From the graph above one can infer that the vertical flight path of 10 km to be followed by the muons is contracted substantially, namely to about 1/9 th of the proper length. It becomes clear that there is no contradiction but complete consistency between the observations in the two reference frames: from the muon's perspective it is about 1.1 km that have to be traversed. The time it takes to do this is essentially L[V]/c or 3.7 microseconds. Therefore, a sizeable fraction of the muons makes it to the ground.

> restart;

Lorentz transformation

We are now ready to formalize the observations of dilated time and contracted length. As stated before, we need to know how the coordinates transform from one reference frame to another so that we can formulate the laws of physics for observers O1 and O2, and make sure that they agree. We have learned that time is not universal, i.e., that we need to transform [ x , y , z , t ] into [ x ', y ', z ', t '] so that O1 and O2 can use his/her proper time when looking at the laws of physics.

Length/Position transformation

To derive the length transformation consider the following: O1 is at rest, and observes O2 to move with a velocity of V = [ V , 0, 0]. Suppose a particle P is at rest in the moving frame O2, i.e., it moves with velocity V as observed by O1. At time t =0 O1 measures particle P to be at x , and knows that this is a measurement of x[V], i.e., a contracted length. If O2 were to measure the the position x ' in the O2 frame, the proper length would be obtained for the position xp = x[0] .

Therefore, O1 can state on the basis of the length contraction result obtained above that at time t =0 the following is true ( x0 stands for x at t =0, and xp stands for x '):

> eq1:=x0=xp*sqrt(1-beta^2);

[Maple Math]

Note that the position of the particle P in the O2 reference frame does not change with time, i.e., xp is constant. Given that the particle moves with O2, observer O1 can determine the location of P at any time t by adding the displacement of the origin of O2, i.e.,

> eq2:=x=rhs(eq1)+V*t;

[Maple Math]

The transformation from x to x ' is obtained by solving this equation for x ':

> eq3:=xp=solve(eq2,xp);

[Maple Math]

Note that eq2 is not the transformation from O2 to O1, as it mixes on the RHS the primed position (O2 variable) with the unprimed time (O1 time).

The transformation obtained in eq3 reduces to the Galilei transformation in the limit of small beta=V/c :

> taylor(rhs(eq3),beta=0,3);

[Maple Math]

This is an important result, as the Newtonian physics relies on this transformation, and represents a very good approximation to the correct physics when the particles are moving at small fractions of the speed of light.

An important property of the position transformation is the fact that the position in the moving frame O2 is obtained from a linear combination of position and time in the stationary frame. The important question is: how does it look the other way around, i.e., how would we obtain x from x ' and t '?

How can we obtain the inverse transformation for the position?

One needs to repeat the reasoning carried out here from the other perspective. It is incorrect to substitute the time t for t ' in eq2 under the assumption that they are related by a time dilation ( t is not a time interval observed by O2 as t '):

> WRONGeq4:=subs(t=tp/sqrt(1-beta^2),eq2);

[Maple Math]

The repeated reasoning to obtain the correct inverse transformation goes as follows:

The particle is located at position xp for all times tp . O2 observes the origin O1 to move with velocity -V t'. He realizes that he is observing the coordinate x in contracted form and then concludes:

> eq4:=x*sqrt(1-beta^2)=xp+V*tp;

[Maple Math]

The displacement x grows with time as O2 zooms by O1, which explains why V t ' is added to x '.

> eq4:=x=solve(eq4,x);

[Maple Math]

This result teaches us that we have to be careful in special relativity. Blind substitution of equations will not lead to the correct results.

Time transformation

Now that we know how the position transforms between the two reference frames, we proceed with the correct time transformation.

We can achieve the goal of relating t and t ' by simply combining the two transformation obtained above. If we eliminate x ' by combining eq4 and eq3 , we arrive at the following equation:

> eq5:=rhs(eq3)=solve(eq4,xp);

[Maple Math]

> eq6:=tp=expand(solve(eq5,tp));

[Maple Math]

We observe that t ', i.e., the proper time in the boosted frame is obtained by a linear combination of x and t in the stationary frame.

We can check that in the non-relativistic limit ( beta=V/c=0 ) the time becomes universal (as assumed by Galilei and Newton):

> taylor(rhs(eq6),beta=0,3);

[Maple Math]

How can we obtain the inverse transformation?

Following the same ideas, we should seek to eliminate x from the transformations that go from the boosted to the stationary frame and vice versa.

> eq7:=x=solve(eq3,x);

[Maple Math]

> eq8:=rhs(eq7)=rhs(eq4);

[Maple Math]

> eq9:=t=expand(solve(eq8,t));

[Maple Math]

Carry out the Taylor expansion of this result to verify the Galilean limit as done before for the inverse transformation. The definition of beta=V/c should be remebered.

We complete the section with a graphical representation of our results. To understand special relativity one introduces a so-called space-time diagram. This is a two-dimensional graph for particles moving in one spatial dimension. To have consistent axes, one plots c t on the vertical axis, and the particle position on the horizontal axis. Particles moving with constant speeds follow straight lines in this diagram. It is convenient to express their speeds as a fraction of the speed of light: the slope of the line for a particle is given by the inverse of the speed ratio, i.e., by c/ V . We start the particles at the origin. Obviously no slopes less than one are allowed (unless we were to consider hypothetical tachyons). We draw space trajectories for particles moving with c/2, c/3, -c/4 and c/5 in the form of parametric plots:

> with(plots):

> x1:=1/2*ct: x2:=1/3*ct: x3:=-1/4*ct: x4:=1/5*ct: x5:=ct: x6:=-ct:

> Tr:=[[x1,ct],[x2,ct],[x3,ct],[x4,ct],[x5,ct],[x6,ct]]: coltable:=[red,blue,green,black,magenta,magenta]:

> Ptr:=i->plot([op(Tr[i]),ct=0..1],color=coltable[i]):

> display([seq(Ptr(i),i=1..6)],labels=[x,ct],scaling=constrained,title="spacetime: 1+1 dim");

[Maple Plot]

For accelerating particles moving with variable speeds the trajectories become curves, and the slope at any point along the trajectory allows one to deduce the instantaneous speed of the particle. The diagram shows only forward propagation in time, but it can be extended to negative times. The lines displayed using the magenta color represent photon trajectories (the muons discussed above would practically follow these) moving to the left and to the right.

If more space dimensions were added to the diagram (e.g., one more, i.e., the y-axis coming out of the plane), the limit imposed by all allowed photon trajectories becomes a surface (a hypersurface in three spatial dimensions) called the lightcone. A particle trajectory is called a worldline when one refers to the spacetime diagram. The particle's worldline has to remain inside the lightcone centered at the origin (we assume that at t =0 we have x =0 for the particle).

Exercise 1:

Extend the spacetime diagram to two spatial dimensions. Use the help page ?spacecurve to find out how to generate some worldlines. Find worldlines that trace out the lightcone in 2+1 dimensions. Draw world lines for accelerating particles.

We can use the spacetime diagram to illustrate the concept of simultaneity in special relativity. Imagine a stationary reference frame that we consider to be the platform of a train station. At t =0 a rocket train moving with V =c/2 passes through the station, and at the same time light flashes are emitted from light clocks located at opposite ends of the platform (the clocks are synchronized at t = t '=0). In the stationary reference frame the flashes correspond to the points [ A ,0] and [ B ,0] in spacetime (called events), where B =- A if the platform extends symmetrically about x =0.

It is straightforward to figure out to which spacetime points the two events which are simultaneous to observer O1 (located in the middle of the platform, i.e., at x =0) are transformed for observer O2 travelling with the rocket train. The transformation is given as

> eq3,eq6;

[Maple Math]

> subs(beta=V/c,V=c/2,t=0,x=A,eq3);

[Maple Math]

> subs(beta=V/c,V=c/2,t=0,x=-A,eq3);

[Maple Math]

More importantly we wish to know the times:

> subs(beta=V/c,V=c/2,t=0,x=A,eq6);

[Maple Math]

> subs(beta=V/c,V=c/2,t=0,x=-A,eq6);

[Maple Math]

Clearly the two light flashes are not simultaneous from O2's point of view. O2 observes the clock at the entrance to the station ([ B , 0]=[- A , 0]) flashing much later (as it flashes at the time when O2 passes the center of the platform and has to catch up with him; meanwhile O2 races towards the clock at the end of the platform ([ A , 0]), and encounters the pulse from the clock located there at an earlier time; in fact, a time that predates the passage of the center of the platform ( t = t '=0) and the flash from [ B , 0]. (Example from Paul Tipler and Ralph Llewellyn: Modern Physics , 3rd ed., Freeman 1999).

We can ask which curves are traced out by the transformation to the moving reference frame. We pick the chosen velocity V =c/2 and draw the result for xp and tp :

Each point [ x , c t ] is mapped to a new point [ x ', c t ']. Let us first define a map that carries out the transformation for the given choice of beta .

We choose units sich that c=1, i.e., c t = t .

> eq3,eq6;

[Maple Math]

> LT:=unapply([rhs(subs(beta=V/c,V=c/2,c=1,eq3)),rhs(subs(beta=V/c,V=c/2,c=1,eq6))],x,t);

[Maple Math]

> LT(A,0);

[Maple Math]

> evalf(LT(1,0));

[Maple Math]

> evalf(LT(0,1));

[Maple Math]

We can illustrate the correspondence of ( x , t ) points to ( x ', t ') points by graphing them:

> PtO11:=[seq([i*0.5,0],i=-6..6)];

[Maple Math]

> PtO21:=[seq(map(evalf,LT(op(PtO11[i]))),i=1..nops(PtO11))];

[Maple Math]
[Maple Math]
[Maple Math]

> PO11:=plot(PtO11,style=point,symbol=diamond,color=red):

> PO21:=plot(PtO21,style=point,symbol=diamond,color=blue):

> PtO12:=[seq([0,i*0.5],i=-6..6)];

[Maple Math]

> PtO22:=[seq(map(evalf,LT(op(PtO12[i]))),i=1..nops(PtO12))];

[Maple Math]
[Maple Math]
[Maple Math]

> PO12:=plot(PtO12,style=point,symbol=cross,color=red):

> PO22:=plot(PtO22,style=point,symbol=cross,color=blue):

> display([PO11,PO21,PO12,PO22],axes=boxed,scaling=constrained,labels=[x,ct],title="spacetime 1+1 dim");

[Maple Plot]

We have constructed a graph that displays how sequences of events along the position axis and along the time axis respectively are mapped under the transformation law for the case of V =c/2. The x -axis is apparently mapped onto a line with slope - V /2, and the t -axis into a line with slope -1/ V . We can check out this observation by calculating the parametric representation of the two lines in question. We begin with the general case (mapping of any point [ x , t ]), and then specify our two lines.

> evalf(LT(x,t));

[Maple Math]

> evalf(LT(x,0));

[Maple Math]

> slope:=%[2]/%[1];

[Maple Math]

> evalf(LT(0,t));

[Maple Math]

> slope:=%[2]/%[1];

[Maple Math]

An important observation is that the transformation represents a shear: we start with orthogonal x and c t axes we wind up after the transformation with x ' and c t ' axes that are non-orthogonal, and the length interval ds=sqrt(dx^2+ c^2*dt^2) is not preserved (this is demonstrated by the stretch of the axes). These circumstances will require some further explorations in transformation theory (beyond the well-known rotations in n -dimensional space).

It is worth to examine the transformed events in the spacetime diagram in some detail: the points along the original x -axis represent a set of simultaneous events ( t =0) in the stationary reference frame. These get transformed into a set of points that form a line along which the transformed time t ' varies from point to point (blue diamonds), i.e., they are not simultaneous in the boosted frame. This demonstrates that this line cannot represent the x ' axis in the boosted frame.

Exercise 2:

Repeat the above steps for different choices of boost velocity V .

The diagram produced above is not what is usually shown, i.e., it does not show the ( x ', c t ') coordinate axes (e.g., in fig. 1-22 in Tipler and Llewellyn). We have transformed the points along the x -axis (which correspond to t =0) and the points along the c t -axis (which correspond to x =0) according to the transformation law. We notice from the points used for graphing the transformed axes that they do not correspond to the axes which defined the ( x ', c t ') coordinate system. The ( x ')-axis should have the property that t '=0 for all points along it and vice versa for the (c t ')-axis.

We now calculate for the boosted frame the location of the axes which are specified as follows: for the x ' axis it is the locus of all points where c t '=0; for the c t ' axis it is the locus where x ' vanishes. This is consistent with the definition of the x and c t axes.

> eq3,eq6;

[Maple Math]

We find the axes for the case of V =1/2 from setting x ' and t ' to zero respectively, and graphing t versus x for the two cases.

> PO11:=plot(PtO11,style=point,symbol=diamond,color=red):

> tpeq0:=solve(subs(beta=V/c,V=c/2,c=1,rhs(eq6)),t);

[Maple Math]

> PO21:=plot(tpeq0,x=-4..4,color=red,thickness=2):

> PO12:=plot(PtO12,style=point,symbol=cross,color=blue):

> xpeq0:=solve(subs(beta=V/c,V=c/2,c=1,rhs(eq3)),t);

[Maple Math]

> PO22:=plot(xpeq0,x=-4..4,color=blue,thickness=2):

> display([PO11,PO12,PO21,PO22],axes=boxed,scaling=constrained,labels=[x,ct],title="spacetime 1+1 dim",view=[-3.5..3.5,-3.5..3.5]);

[Maple Plot]

To illustrate further the new coordinate system (which represents the ( x ')- and (c t ')-axes, i.e., the coordinate axes in the boosted refernce frame for V =c/2) we can draw the lines of constant x ' and c t ', e.g., for a spacing of one unit along either axis.

> tpeq1:=solve(subs(beta=V/c,V=c/2,c=1,rhs(eq6)=1),t);

> Ptpeq1:=plot(tpeq1,x=-4..4,color=red,thickness=1):

[Maple Math]

> tpeq2:=solve(subs(beta=V/c,V=c/2,c=1,rhs(eq6)=2),t);

> Ptpeq2:=plot(tpeq2,x=-4..4,color=red,thickness=1):

[Maple Math]

> tpeq3:=solve(subs(beta=V/c,V=c/2,c=1,rhs(eq6)=3),t);

> Ptpeq3:=plot(tpeq3,x=-4..4,color=red,thickness=1):

[Maple Math]

> xpeq1:=solve(subs(beta=V/c,V=c/2,c=1,rhs(eq3)=1),t);

> Pxpeq1:=plot(xpeq1,x=-4..4,color=blue,thickness=1):

[Maple Math]

> xpeq2:=solve(subs(beta=V/c,V=c/2,c=1,rhs(eq3)=2),t);

> Pxpeq2:=plot(xpeq2,x=-4..4,color=blue,thickness=1):

[Maple Math]

> xpeq3:=solve(subs(beta=V/c,V=c/2,c=1,rhs(eq3)=3),t);

> Pxpeq3:=plot(xpeq3,x=-4..4,color=blue,thickness=1):

[Maple Math]

> display([PO21,PO22,Ptpeq1,Ptpeq2,Ptpeq3,Pxpeq1,Pxpeq2,Pxpeq3],scaling=constrained,labels=[x,ct],title="spacetime 1+1 dim",view=[-4.5..4.5,-4.5..4.5]);

[Maple Plot]

Now we have a coordinate grid in the boosted frame. It can be used to understand the passage of events (such as the problem of light pulses flashing simultaneously at the two ends of a platform, and how this is perceived by an observer on the rocket train). Points along the red lines are simultaeous in the boosted frame. They are clearly not simultaneous for the stationary observer, since they are not parallel to the x -axis.

The previously discussed phenomena of time dilation and length contraction can be easily demonstrated on the diagram. Let us construct the worldline for a light flash emitted in the boosted frame at x '=0, and then reflected back by a mirror located at x '=1 m. The worldline for such a light flash is represented by a straight line starting at the origin with a slope of 1. It reaches the mirror at the intercept of the grid lines c t '=1 and x '=1. We find this point in the stationary frame as:

> eq3,eq6;

[Maple Math]

> sol:=solve({subs(beta=V/c,V=c/2,c=1,rhs(eq3)=1),subs(beta=V/c,V=c/2,c=1,rhs(eq6)=1)},{x,t});

[Maple Math]

> eq6;

[Maple Math]

> xM1:=subs(sol,x); tM1:=subs(sol,t);

[Maple Math]

[Maple Math]

> Pflash1:=plot([[0,0],[xM1,tM1]],style=line,color=green,thickness=3):

Now we consider the reflected flash: it is going backwards, i.e., has to arrive at a final location x ' =0, t '=2 (in the moving reference frame we ignore the motion of the reference frame and use the constancy of the speed of light c). In the stationary frame this looks as follows:

> sol:=solve({subs(beta=V/c,V=c/2,c=1,rhs(eq3)=0),subs(beta=V/c,V=c/2,c=1,rhs(eq6)=2)},{x,t});

[Maple Math]

> xM2:=subs(sol,x); tM2:=subs(sol,t);

[Maple Math]

[Maple Math]

> Pflash2:=plot([[xM1,tM1],[xM2,tM2]],style=line,color=magenta,thickness=3):

> display([PO21,PO22,Ptpeq1,Ptpeq2,Ptpeq3,Pxpeq1,Pxpeq2,Pxpeq3,Pflash1,Pflash2],scaling=constrained,labels=[x,ct],title="spacetime 1+1 dim",view=[0..4.5,0..4.5]);

[Maple Plot]

Exercise 3:

Repeat the calculation and graph for other mirror distances than 1 m. Repeat the whole section for reference frames with different boosts: from less relativistic to more relativistic situations.

Exercise 4:

In the problem discussed above the worldlines were constructed for a light pulse, i.e., the speed in the moving frame was given as c (with reversed direction for the second half). Consider another textbook problem: an impregnated elephant is sent off in a spaceship at time t=t'=0 travelling at a given speed of V =0.75c. The gestation period is known to be 21 months. At the time of birth a radiosignal is sent back toward Earth to announce the birth. When will the radiosignal arrive?

This is a two-step problem: in step 1 one determines the time dilation, i.e., one determines at what point in time on Earth the elephant will give birth; in step 2 one calculates the distance the spaceship has travelled during this time; in step 3 one finds out how long it takes for the radiosignal to travel (the two times are 31.7 and 23.8 months respectively). Determine these times from the relevant formulae. Draw the worldlines for the two processes (why does the worldline for the elephant lie along the (c t ')-axis?).

Exercise 5:

Illustrate length contraction using the spacetime diagram. Draw a meterstick at rest in a moving frame ( V = 0.75 c, or some other choice) extending from

x 1'=1 m to x 2'=2 m. A measurement of the meterstick in both frames implies that it is to be drawn along the x '-axis (choice of c t '=0 to determine its length), and that one is interested in the projection onto the x -axis in the rest frame (or any parallel axis to use some other time t , nevertheless the same time for both ends).

Construct the relevant spacetimediagram and use the point-and-click interface to read off the length in the rest frame. Carry out the length contraction calculation and compare.

Appearance of rapidly moving objects

An interesting problem concerns the question of appearance of solid objects to a moving observer. Length contraction occurs only in the direction of motion. Therefore the shape of a two-dimensional object (e.g., a profile) is distorted.

Suppose a square which is rotated by 30 degrees resides in a reference frame that moves with some speed along the x -direction.

>

> with(plottools):
c := rectangle([1,1], [3,3], color=red):
cr:=rotate(c,Pi/6,[1,1]):

> display(cr, scaling=constrained,view=[0..5,0..5],labels=[xp,yp]);

[Maple Plot]

A stationary observer ( x , y )-coordinate system notices the length contraction of the x -coordinates, while the y -coordinates remain the same ( y = y '). The two sides that determine the shape can be determined relative to the vertex [1,1]. Let us first find the other vertices in the moving reference frame.

A rotation matrix that rotates with respect to the origin by 30 degrees is given by:

> R30:=[[cos(Pi/6),-sin(Pi/6)],[sin(Pi/6),cos(Pi/6)]];

[Maple Math]

To transform the vertices, we have to remove the dispalcement of the first vertex, apply the rotation, and then add the displacement again:

> with(linalg):

> Pt2p:=evalm([1,1] + R30 &* ([3,1]-[1,1]));

[Maple Math]

> Pt3p:=evalm([1,1] + R30 &* ([3,3]-[1,1]));

[Maple Math]

> Pt4p:=evalm([1,1] + R30 &* ([1,3]-[1,1]));

[Maple Math]

We pick a boost velocity as a fraction of the speed of light c:

> beta:=8/10;

[Maple Math]

Let us apply a Lorentz transformation to the observer's reference frame. The x -ccordinates are contracted according the beta-dependent factor.

We need to unprotect the variable gamma in Maple if we wish to use it for our own purposes (instead of referring to the Euler-Mascheroni constant):

> unprotect(gamma);

> gamma:=1/sqrt(1-beta^2);

[Maple Math]

> Pt1:=[1/gamma,1];

[Maple Math]

> Pt2:=[Pt2p[1]/gamma,Pt2p[2]];

[Maple Math]

> Pt3:=[Pt3p[1]/gamma,Pt3p[2]];

[Maple Math]

> Pt4:=[Pt4p[1]/gamma,Pt4p[2]];

[Maple Math]

> display(polygon([Pt1,Pt2,Pt3,Pt4], color=red, linestyle=3, thickness=2),view=[0..5,0..5],scaling=constrained,labels=[x,y]);

[Maple Plot]

It is evident that the rotated square profile has turned into a parallelogram for the stationary observer who sees the profile whiz by.

Exercise 6:

Explore the appearance of the rotated square shape for different orientations. What happens as the boost velocity approaches c?

The observation of three-dimensional objects requires an additional consideration: the time when the light left the observed object has to be taken into account. The photons which arrive simultaneously at the moving observer's eye: the ones arriving from the more deeply located parts ( z -direction) must have left at an earlier time when the observer was at a previous x -location. As a result the observer sees a tilted object (or rather sees the side face that would be hidden to a stationary observer of the solid object).

Velocity transformation

An interesting remaining question is the transformation property of velocities. Remember that our main goal is to understand the constancy of the speed of light, i.e., to understand how the simple additivity of velocities in the Galilei transformation is modified for high speeds.

In the reference frames O1 and O2 (the latter denoted by primed coordinates), we can define the velocities as the derivatives of proper length with respect to proper time. The posed question then is how to relate the two measurements of these quantities. This can be achieved by differentiating the transformations for position and time.

First we summarize the main results:

> LT1:=eq3;

[Maple Math]

> LT2:=eq6;

[Maple Math]

> LT1p:=eq4;

[Maple Math]

> LT2p:=eq9;

[Maple Math]

The differentiation is accomplished by replacing the variables by differentials. This we do by a substitution:

> LT1d:=subs(xp=dxp,x=dx,t=dt,LT1);

[Maple Math]

> LT2d:=subs(tp=dtp,x=dx,t=dt,LT2);

[Maple Math]

We form the velocity expression in the boosted frame (think of dxp and dtp as finite differences, and do not worry about mathematical rigour for a moment):

> VT1:=vp=rhs(LT1d)/rhs(LT2d);

[Maple Math]

To introduce the velocity in the stationary (unprimed, O1) frame we make the substitution:

> VT1:=expand(simplify(subs(dx=v*dt,VT1)));

[Maple Math]

> taylor(rhs(VT1),beta=0,3);

[Maple Math]

This allows us to transform the velocity of a particle in the O1 frame, i.e., v to a boosted frame O2. Since the boosted frame moves with V =[ V , 0, 0] , the Galilei transformation (obtained in the beta=0 limit) shows a velocity of v ' = v - V .

We can display for fixed boost velocity ( beta , V determined) how the transformed velocity depends on the velocity in the original reference frame. Suppose we pick beta=1/2 , i.e., V =c/2.

> VT1_1:=simplify(subs(beta=1/3,V=c/3,c=1,VT1));

[Maple Math]

> VT1_2:=simplify(subs(beta=1/2,V=c/2,c=1,VT1)):

> VT1_3:=simplify(subs(beta=2/3,V=c*2/3,c=1,VT1)):

> PL1:=plot([rhs(VT1_1),rhs(VT1_2),rhs(VT1_3)],v=-1..1,color=[red,blue,green],title="Lorentz velocity transformation",labels=[v,vp],scaling=constrained,thickness=3): display(PL1);

[Maple Plot]

We can observe how the transformation allows for a small range of boost and particle velocity values for which additivity works: the y intercepts allow one to read off the chosen boost velocities (the crossings list the v' values for which result in v =0 in the rest frame for boost velocities of V =c/3, c/2 and 2c/3); the x intercepts correspond to the points where the boost is offset by particle motion with v = V .

Let us plot for comparison the Galilei result:

> PL2:=plot([v-1/3,v-1/2,v-2/3],v=-1..1,color=[red,blue,green],title="Galilei velocity transformation",labels=[v,vp],scaling=constrained,view=[-1..1,-1..1],thickness=2): display(PL2);

[Maple Plot]

> display(PL1,PL2,title="Galilei-Lorentz comparison",axes=boxed);

[Maple Plot]

The diagram shows that the Galilei transformation is only adequate for the smallest boost velocity shown ( V =c/3), when the particle velocity is restricted to 0 < v < c/3 (which results in -c/3 > v ' > 0). For the cases of larger boosts of the reference frame the Galilei transformation never works (not even for small v !), apart from the crossings which correspond to the cases where the particle velocity is zero, or where the boost velocity and particle velocity add up to zero (these are trivial cases for which adding velocities represent the only option).

On the other hand the graphs show that for particle velocities in the range -c < v < c the transformed velocities remain in the range -c < v ' < c irrespective of the boost velocity V .

Exercise 7:

Observe the behaviour of the transformation in the limit as the boost velocity V approaches c. What result does one obtain for V < 0?

The discussion of the velocity transformation is not complete yet. We have to consider the transformation of the velocity components that are orthogonal to the direction of the boost. They are affected due to the time transformation. Let us derive the velocity transformation for the y -component:

> LT3:=yp=y;

[Maple Math]

> LT2;

[Maple Math]

The differentiation is accomplished by replacing the variables by differentials. This we do by a substitution:

> LT3d:=subs(yp=dyp,y=dy,LT3);

[Maple Math]

> LT2d;

[Maple Math]

> VT2:=vyp=simplify(subs(dy=vy*dt,dx=vx*dt,rhs(LT3d)/rhs(LT2d)));

[Maple Math]

An analogous result is obtained for the relationship between the z components of the velocity vector. Physically the meaning of this result is the following: a particle moves with some velocity v = [ vx , vy , 0] in a stationary rest frame. An observer in a boosted frame with boost velocity V = [ V , 0, 0] observes a velocity vector v ' = [ vx ', vy ', 0] with the transformed velocity components given by the equations VT1 and VT2 .

The non-vanishing component perpendicular to the boost direction depends in its transformation properties on the boost velocity and the particle's velocity in this direction in the rest frame.

> R1:=subs(beta=V/c,V=c/2,c=1,rhs(VT2));

[Maple Math]

> plot3d(R1,vx=-1..1,vy=-1..1,axes=boxed,shading=zhue,style=patchnogrid,orientation=[160,40]);

[Maple Plot]

At first sight one might think that there is a problem with the resulting velocity component vy ' exceeding the speed of light. One has to bear in mind, however, that the range of vy is restricted for a given choice of vx (the magnitude of the velocity vector is limited by the speed of light).

> vx0:=0.7; plot(subs(vx=vx0,R1),vy=-evalf(sqrt(1-vx0^2))..evalf(sqrt(1-vx0^2)),labels=[vy,vyp],title=cat("transformation of vy to vy' for vx= ",convert(vx0,string)));

[Maple Math]

[Maple Plot]

Exercise 8:

Check whether the resulting components in the transformed frame vx ' and vy ' together result in speeds limited by c. Use equation VT1 to obtain vx '.

The spacetime interval

The length and time elements do not remain constant under Lorentz boosts. The length interval is contracted by a factor of gamma, while the time interval is dilated by the same factor. The question that arises is whether there is an interval involving space and time that remains invariant under a Lorentz transformation.

The answer is that such an interval can be found, although it looks unnatural at first. We specify it for a case of one spatial dimension.

> c:='c':

> STi:=ds^2=(c*dt)^2-dx^2;

[Maple Math]

The separation ds^2 can be positive, negative or zero. The interval ds in spacetime denotes the separation between two events. The claim is that it is invariant under Lorentz transformations; this is of interest as it will allow to make statements that are valid for all observers. The interval is called lightlike when ds=0, as it represents the position-time relationship of a particle moving with c. For ds>0 the time separation dominates, and the interval is called timelike; for ds<0 the space separation dominates, and the interval is called spacelike.

Material particles have been observed only to travel with speeds smaller than c. They follow timelike worldlines. We can use example 4 to illustrate the invariance of ds as follows: consider a freshly impregnated elephant in a spaceship travelling at some value of beta. In the elephant's reference frame birth is given after a 21-month gestation time (d t ') with no distance traversed in this frame (d x '=0); we denote the two increments in Maple by dtp and dxp respectively. Thus the interval in spacetime is dsp=c*dtp . From the point of view of the stationary observer the elephant is travelling during this time a distance dx , which is determined by the speed of the spaceship times the dilated time dt=gamma*dtp

The invariance holds for any spaceship speed, i.e., we keep it symbolic:

> beta:=V/c;

[Maple Math]

> gamma:=1/sqrt(1-beta^2);

[Maple Math]

Given the time interval in the elephant's (spaceship) frame ( dtp ) we compute the time passed in the stationary observer frame ( dt ):

> dtp:=21*c*_months;

[Maple Math]

> dt:=dtp*gamma;

[Maple Math]

Now we calculate the distance travelled by the elephant in the observer's frame until the elephant gives birth:

> dx:=dt*beta*c;

[Maple Math]

> ds2:=simplify((c*dt)^2-dx^2);

[Maple Math]

Evidently this agrees with the spacetime interval in the spaceship frame:

> dsp2:=(c*dtp)^2;

[Maple Math]

Relativistic Doppler effect

We assume familiarity with the Doppler effect for sound waves, i.e., the change in the frequency of a monochromatic sound source that is moving towards or away from an observer. For light waves we do expect a difference, as the light waves are not being created in a medium as in the case of sound. Let us consider a light source moving with respect to a stationary frame with speed V , and emitting monochromatic light in two directions: one stationary observer is behind the light source (we call that one B), while the other sits in its flight path (A).

Consider a spacetime diagram where the two reference frames (moving and stationary) coincide at t = t ' = 0 when a finite train of N waves is emitted at x = x ' = 0.

Observer A: consider d t to be the time interval during which N waves are emitted: the source moves a distamce ( V d t ), while the first wave travels (c d t ) in the stationary frame. The wavetrain is observed to have a distance (c- V ) d t , and the wavelength is determined by dividing this distance by N . The frequency follows from the usual relationship with the wavelength and the propagation speed.

> dt:='dt': dx:='dx': beta:='beta':

> lambda:=(c*dt-V*dt)/N;

[Maple Math]

> f:=c/lambda;

[Maple Math]

> f:=simplify(subs(V=beta*c,c/lambda),symbolic);

[Maple Math]

In the moving reference frame of the light source the so-called proper frequency and wavelength are determined as (fp=c/lambda'):

> dtp:='dtp':

> fp:=N/dtp;

[Maple Math]

The time interval dtp is the proper time tau , as all light waves are emitted at x '=0, and thus, dxp=0 between the emission of the first and N th wave. Therefore, dtp and dt are related by time dilation.

> gamma:=1/sqrt(1-beta^2);

[Maple Math]

> dt:=gamma*dtp;

[Maple Math]

> fp:='fp':

> fA:=simplify(algsubs(N=dtp*fp,f));

[Maple Math]

> plot(fA/fp,beta=0..1,title="blueshift factor");

[Maple Plot]

The frequency shift is quite appreciable even for moderate speeds. This is caused by a series expansion with additive contributions:

> taylor(fA/fp,beta=0,5);

[Maple Math]

In complete analogy the redshift (frequency reduction compared to the proper frequency) can be calculated for observer B from whom the light source recedes.

> lambda:=(c*dt+V*dt)/N;

[Maple Math]

> f:=c/lambda;

[Maple Math]

> f:=simplify(subs(V=beta*c,c/lambda),symbolic);

[Maple Math]

> fB:=simplify(algsubs(N=dtp*fp,f));

[Maple Math]

> plot(fB/fp,beta=0..1,title="redshift factor");

[Maple Plot]

> taylor(fB/fp,beta=0);

[Maple Math]

We note that while the graphs for the two expressions look quite different, the first order terms in the frequency shifts are symmetrical, i.e., to first order the magnitude of the frequency shift is proportional to beta for either red or blueshift.

An example where redshifts and blueshifts are relevant to astronomers is the estimation of the orbiting motion of stars and distant galaxies.

Astronomers deal with redshifts all the time as the galaxies recede from each other according to the expansion of the universe (Hubble's law). They express the redshift as a fractional frequency shift:

> z:='z': eq:=z=simplify((fp-fB)/fB);

[Maple Math]

> beta=solve(eq,beta);

[Maple Math]

Transverse Doppler effect:

Naively one might think that in a direction perpendicular to the direction of motion of the source no frequency shifts will be observed. This is not correct. One has to generalize the above arguments in one dimension for an observer who looks at waves arriving at an angle theta to the x -axis, assuming that the source still moves only in the x -direction. When one carries out the analysis one obtains an expression in which even for theta=Pi/2 a time dilation factor survives.

The general expression is given as

> f:=fp/gamma/(1-beta*cos(theta));

[Maple Math]

> eval(f,theta=Pi/2);

[Maple Math]

Twin (or clock) paradox

This famous paradox is a good example for both the time dilation and the Doppler effect. Twins A and B are separated at t = t ' = 0 with A remaining stationary on Earth, and B travelling on a spaceship for n years with some beta-value. Then B turns around and comes back to visit A on Earth again after another n years. To B's dismay, A has aged more than B. To keep track as to how this happens they repeat the experiment, and agree to send light pulses (perhaps even videoimages of their faces) to each other with a frequency of 1/year. They do conclude that their observation is consistent with special relativity.

How does one illustrate the situation with a spacetime diagram?

The spaceship with B has a worldline that starts at the origin with slope 1/beta (somewhat higher than the slope of 1 for a light worldline through the origin).

Observer A sits at x =0 and fires off videopulses once a year: the worldlines go off at c t = j , j =1,2,... as lines with slope 1, and intersect B's worldline.

B sends off videoimages which form worldlines of slope -1, and reach A (the c t axis) at certain intervals.

Initially, while the twins are receding from each other both have to wait long times for the transmissions to arrive! The frequency of the 1/year transmission clock is dramatically reduced, and the situation is symmetric.

It is when B turns around that matters begin to change dramatically: out of a sudden B is receiving the videoimages that travelled from A at a fast rate; shortly before B arrives A will see a rapid succession of videopulses from B, but they will not make up entirely for the difference. A net difference remains between the ageing processes for A and B! A had to send more images than B, and therefore has lost out.

The reason why B manages to beat A when it comes to extend life is that B changes directions, while A remains in a rest frame. To understand the details of changing directions one needs to consult the general theory of relativity, but the conclusions remain the same. So it seems that to extend life one has to move fast, rather than sit at rest!

To generate the spacetime diagram we need to find the intercepts between the worldlines for the spaceship and the worldlines of the light signals.

We have to decide for how long B travels away from the Earth. We use the (ct_A, x_A) and (ct_B, and x_B) coordinates (or unprimed and primed ones).

> beta:='beta': V:='V':

We re-derive equations 3 and 6 that were used several times before

> eq1:=x0=xB*sqrt(1-beta^2);

[Maple Math]

> eq2:=xA=rhs(eq1)+V*tA;

[Maple Math]

> eq3:=xB=solve(eq2,xB);

[Maple Math]

> eq4:=xA*sqrt(1-beta^2)=xB+V*tB;

[Maple Math]

> eq4:=xA=solve(eq4,xA);

[Maple Math]

> eq5:=rhs(eq3)=solve(eq4,xB);

[Maple Math]

> eq6:=tB=expand(solve(eq5,tB));

[Maple Math]

To find the turnaround point for the worldline of the traveller (B) we solve:

> tB_turn:=3;

[Maple Math]

> beta:=0.8; V:=0.8; c:=1; gamma:=1/sqrt(1-beta^2);

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

> tA_turn:=tB_turn*gamma;

[Maple Math]

> xA_turn:=V*tA_turn;

[Maple Math]

> P1:=plot([[0,0],[xA_turn,tA_turn],[0,2*tA_turn]],style=line,color=red,thickness=3): P2:=plot([[-1,1],[0,0],[6,6]],style=line,color=green,linestyle=2,thickness=2):

> P3:=plot([seq(i+x,i=1..9)],x=0..6,color=blue,linestyle=2,thickness=2):

To graph the worldline of the traveller B and the worldlines of the transmissions from A in the stationary frame was easy; we also included a broadcast at t =0 from both A and B.

> display(P1,P2,P3,scaling=constrained,view=[-1..6,0..10],labels=[x,ct]);

[Maple Plot]

To figure out the broadcasts from the travelling spaceship we need to figure out how equal time spacings in B's frame translate into the A frame.

First we work on the years while B is moving away from A.

> tA_WL:=tA=tA_turn/xA_turn*xA;

[Maple Math]

We wish to intersect the worldline at times tB=1,2,3... with worldlines of photons moving to the left.

> for i from 1 to 3 do:

> sol:=solve({rhs(eq6)=i,tA_WL},{xA,tA});

> tA1:=subs(sol,tA): xA1:=subs(sol,xA): signalB[i]:=[xA1+p,tA1-p,p=0..-5]: od:

> P4:=plot([seq(signalB[i],i=1..3)],color=orange,linestyle=1,thickness=2):

> display(P1,P2,P3,P4,scaling=constrained,view=[-1..6,0..10],labels=[x,ct]);

[Maple Plot]

Observe how in the first half matters are symmetric: At the end of three years in B's frame the first videosignal arrives from A showing that A aged by one year. Similarly, A waits for three years for the first videosignal to arrive from B (showing B aged by one year). Both A and B are surprised that their twin partner appears to be younger, but then they can both figure out that the signal travelled for a long time...

Now what happens? B turns around the ship, and races back to Earth. Within a year B will to receive a bunch of signals, while not much changes for A for a while!

> tA_WL:=tA=2*tA_turn-tA_turn/xA_turn*xA;

[Maple Math]

Clearly B will travel back for as long as it took to get to [xA_turn, tA_turn] , i.e., 3 years. We use time dilation to translate tB into tA , and calculate xA on the worldline. Then we generate the worldline for the photon going to Earth (crossing A's worldline, i.e., the (c t )-axis).

> for i from 4 to 6 do:

> tA1:=tA_turn+(i-3)*gamma;

> xA1:=solve(subs(tA=tA1,tA_WL),xA): signalB[i]:=[xA1+p,tA1-p,p=0..-5]: od:

> P5:=plot([seq(signalB[i],i=4..6)],color=orange,linestyle=1,thickness=2):

> display(P1,P2,P3,P4,P5,scaling=constrained,view=[-1..6,0..10],labels=[x,ct]);

[Maple Plot]

We see that B transmits his videopicture in yearly intervals while receiving three images per year from A after the turnaround. Shortly before B's arrival A receives also a rapid succession of transmissions (three images within one year), but A cannot catch up, and 10 years have passed for A, while only 6 years went by for B.

We can appreciate the symmetry from the point of view of Doppler shifts of the frequencies: both observers see the pulses redshifted initially by the same rate (factor of 3 slowdown), and later blueshifted by the same amount (factor of 3 increase). Nevertheless, the outcome of the ageing process is non-symmetric. As mentioned above, there is really no paradox, as the situation is not completely symmetric: observer A whose worldline follows the (c t )-axis remains in a rest frame without change, while B undergoes qualitatively different motion. It is the turnaround that makes the whole difference.

Exercise 9:

Construct the spacetime diagram for another situation, such as: B moves with beta=0.9 for 5 years, and then turns around to reach back to Earth in another 5 years.

>