Last modified: Friday, 27 August 2004 01:19 AM -0700

Formulae

Before the Encyclopedia came out we had some pretty good guesses, since fewer data points existed. The most commonly quoted formula is: (all following formulae are in terms of c)


              (10/3)           M
        v =  W       + (10 - W)

Two values have been proposed for the M constant:

From the TNG Tech Manual: "Our solution was to redraw the warp curve so that the exponent of the warp factor increases gradually, then sharply as you approach Warp 10. At Warp 10, the exponent (and the speed) would be infinite..."

Note that the above formula doesn't have an increasing exponent. Here's a new formula by Pete Carr that has a rising exponent and matches exactly for the 1 <= W <= 9 range:


               ( (10/3) + ( 1 / ( 10^5 - W^5 ) ) )
        v =  W

Another new formula, this time from Alex Tahk:


          ( 3.3 + 0.1 * ( log(10-W) * ( log(10-W) - 1 ) ) )
    v = W

This one has the odd distinction of being fairly accurate for W > 9 but off for 1 <= W <= 9.

Is this it?

And now... another formula by Martin Shields (the old one has been removed to save space):


          ((10 / 3) * (1 * a(W) * b(W) * c(W)))
    v = W

Where:


              a(W) = 0.20467 * exp( -0.0058*(log10(1e4*(10-W)))^5 )

              b(W) = 1 + (1/3)*(2*cos(10*pi*log10(8/(10*(10-W))))-1) *
                                  exp(-49.369*(log10(8/(10*(10-W))))^4)

              c(W) = 1 + (1.88269/pi)*(pi/2 - atan((10^W)*log10(2000*(10-W))))

This formula match for all critical data point and it obeys the rising exponent rule. It's off at the 9.9997 data point, but well within reasonable bounds given the accuracy with which the 9.9997 data point was computed anyway.


Here's how the formulae stack up against each other, and the known values from just the Encyclopedia:

  Warp |  Actual  Collicutt       Carr    Shields       Tahk   Original
-------------------------------------------------------------------------------
1.0000 |       1       1.0*       1.0*       1.0*       1.0*       1.0*
2.0000 |      10      10.1*      10.1*      10.1*       9.8*      10.1*
3.0000 |      39      39.0*      38.9*      38.9*      37.0-      38.9*
4.0000 |     102     101.7*     101.6*     101.6*      94.7-     101.6*
5.0000 |     214     213.8*     213.8*     213.7*     195.8-     213.7*
6.0000 |     392     392.6*     392.5*     392.5*     354.2-     392.5*
7.0000 |     656     656.3*     656.2*     656.2*     585.8-     656.2*
8.0000 |    1024    1024.4*    1024.0*    1024.3*     914.5-    1024.1*
9.0000 |    1516    1517.4+    1516.5*    1516.4*    1409.3-    1517.4+
9.2000 |    1649    1633.0-    1631.8-    1649.0*    1551.5-    1633.9-
9.6000 |    1909    1884.3-    1880.6-    1909.3*    1977.6+    1909.1*
9.9000 |    3053    2115.2-    2084.4-    3052.9*    3053.0*    6725.0+
9.9900 |    7912    3156.5-    2157.2-    7912.4*    7912.3* 21546494.2+
9.9997 |  198696  197752.0-    2511.7-  199365.3+   78215.3- 8264604324226.9+
9.9999 |  199516 1020745.8+    3414.5-  199515.9*  199515.7* 464158883367398.1+

   * indicates the value is within 1 of the known value
   - indicates the value is more than 1 less than the known value
   + indicates the value is more than 1 greater than the known value

So Martin Shields wins the big prize, the 1995 Zeffie - that's the "Zefram Cochrane Award for Advancements in Warp Mechanics" to you.

However, the formula is still a bit gross. Want to usurp Martin from his throne? Have a go at coming up with something cleaner; the fewer constants the better.

Here's my suggestion:

   x         f(x)
--------------------
  -> 0       -> INF
  0.0001     1.967
  0.01       0.567
  0.1        0.167
  0.4        0.007
  0.8        0.005
  > 1        < 0.003
  -> INF     -> 0

Find the function f(x) and then you can plug it into the formula:


            ( 3.333 + f( 10 - W ) )
      v = W

Fame and fortune await!