# RelativisticKineticEnergyTest.frink

```/** This is a test to evaluate the numerical accuracy of the  relativistic     kinetic energy equation, which does not work well for small velocities.     See:     http://www.mrelativity.net/MBriefs/Relativistic%20Escape%20Velocity%20using%20Special%20Relativity.htm     A threshold seems to be about 0.0256 c.  Below this, the Taylor     series is more reliable.  Above this, the naive evaluation is more     reliable. */ use sqrtWayne.frink precision = 70 //setPrecision[precision] m0 = 1 kg //for v = 0.000 c to 0.300 c step .00005 c for v = 1 m/s to 100000 m/s step 1 m/s {    setPrecision    naive = (c^2 m0) (1/sqrt[1-v^2/c^2] - 1)    taylor = 1. * m0 ( (v^2 / 2) + (3 v^4 / (8 c^2)) + (5 v^6 / (16 c^4)) + (35 v^8 / (128 c^6)) + (63 v^10 / (256 c^8)) + (231 v^12 / (1024 c^10)) + (429 v^14 / (2048 c^12)) + (6435 v^16 / (32768 c^14)) )    setPrecision[precision]    good = (c^2 m0) (1/sqrt[1-v^2/c^2, precision] - 1)    naiveError = good-naive    taylorError = good-taylor    print[format[v, c, 9] + "\t" + format[naiveError, J, 3] + "\t" + format[taylorError, J, 3] + "\t"]    if (abs[naiveError] < abs[taylorError])       println["Naive"]    else       println["Taylor"] } ```

This is a program written in the programming language Frink.
For more information, view the Frink Documentation or see More Sample Frink Programs.

Alan Eliasen was born 18863 days, 4 hours, 24 minutes ago.