Skip to main content

boost

Function boost 

Source
pub fn boost(four_vec: &FourVector, velocity: Vec3, c: f64) -> FourVector
Expand description

General Lorentz boost of a four-vector along an arbitrary velocity direction.

The time component is c t (the same units as x, y, z), matching the Minkowski product in FourVector::dot. With beta = v / c and n = v / |v|: t’ = gamma (t - beta . r) r’ = r + (gamma - 1)(r . n) n - gamma beta t

The old version mixed conventions (it divided r . v by c^2 but subtracted v t, as if t were seconds), so boosts did not preserve the interval: (10, 1, 2, 0) at 0.5c went from 95 to about -3e18.