Fast Inverse Square Root - Newton's Method

Newton's Method

After performing those integer operations, the algorithm once again treats the longword as a floating point number (x = *(float*)&i;) and performs a floating point multiplication operation (x = x*(1.5f - xhalf*x*x);). The floating point operation represents a single iteration of Newton's method of finding roots for a given equation. For this example,

is the inverse square root, or, as a function of y,
.
As represents a general expression of Newton's method with as the first approximation,
is the particularized expression where and .
Hence x = x*(1.5f - xhalf*x*x); is the same as

The first approximation is generated above through the integer operations and input into the last two lines of the function. Repeated iterations of the algorithm, using the output of the function as the input of the next iteration, cause the algorithm to converge on the root with increasing precision. For the purposes of the Quake III engine, only one iteration was used. A second iteration remained in the code but was commented out.

Read more about this topic:  Fast Inverse Square Root

Famous quotes containing the words newton and/or method:

    I frame no hypotheses; for whatever is not deduced from the phenomena is to be called a hypothesis; and hypotheses, whether metaphysical or physical, whether of occult qualities or mechanical, have no place in experimental philosophy.
    —Isaac Newton (1642–1727)

    Methinks the human method of expression by sound of tongue is very elementary, & ought to be substituted for some ingenious invention which should be able to give vent to at least six coherent sentences at once.
    Virginia Woolf (1882–1941)