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=2 arctanh(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.