Lesson 9 of 15

Rapidity

Rapidity

Velocity is a poor coordinate for relativistic motion — it is bounded by cc and the relativistic addition formula is unwieldy. Rapidity ϕ\phi is the natural alternative:

tanhϕ=β=vc,ϕ=arctanh(β)\tanh\phi = \beta = \frac{v}{c}, \quad \phi = \text{arctanh}(\beta)

Rapidity ranges from -\infty to ++\infty, has no upper bound, and makes velocity addition trivially additive:

ϕtotal=ϕ1+ϕ2\phi_\text{total} = \phi_1 + \phi_2

Converting back: v=ctanhϕv = c\tanh\phi.

Why It Works

The Lorentz transformation in rapidity form is a hyperbolic rotation — exactly like a Euclidean rotation but with cosh\cosh and sinh\sinh instead of cos\cos and sin\sin:

γ=coshϕ,γβ=sinhϕ\gamma = \cosh\phi, \quad \gamma\beta = \sinh\phi

Velocity Addition Example

Two ships each travel at 0.5c0.5c in the same direction. Classical result: v=cv = c. Relativistic result using rapidity:

ϕtotal=2arctanh(0.5)1.0986\phi_\text{total} = 2\,\text{arctanh}(0.5) \approx 1.0986

v=ctanh(1.0986)=0.8cv = c\tanh(1.0986) = 0.8c

No matter how many 0.5c0.5c boosts you stack, you never reach cc.

Your Task

Implement rapidity(v) returning ϕ=arctanh(v/c)\phi = \text{arctanh}(v/c), velocity_from_rapidity(phi) returning v=ctanhϕv = c\tanh\phi, and add_rapidities(phi1, phi2) returning the resulting velocity ctanh(ϕ1+ϕ2)c\tanh(\phi_1 + \phi_2). Use c=299792458.0c = 299792458.0 m/s defined inside each function.

Python runtime loading...
Loading...
Click "Run" to execute your code.