Use polynomial basis functions to estimate an interval
Better than approximating a high-order polynomial polynomial by just omitting higher-order terms
Example approx. using "1st kind of Chebyshev Polynomials":
Available Basis:
Compute weights according to where is the polynomial or function to approximate, and k is 1 for n=0 and 2 otherwise
Create polynomial approximation with computed weights
Example:
Taylor Series:
Chebyshev Polynomial Weights: ,,,,,
additional note for future reference: if evaluating over a range other than -1 to 1, then use an input mapping function to shift the center of the range to 0 and scale the range
Consider , is 32-bit UNSIGNED fractional argument,
Y can be iteratively computed as
with Y initialized to 1
One choice for implementing the iteration is to use a lookup table storing 32 precomputed entries
This requires a LU and multiply per iteration
But, there is a way to construct the iterations and LUT to make the multiplication very cheap ( scale by a scale)...
Interestingly, it involves a lookup table for instead of with a pair of coupled iteration equations
Restriction on B to simplify the multiplication:
Therefore the update requires only shift and add/sub operations
Remember, for a given input X, the particular in a given iteration is selected by and is so selected according to the desire to make
converge to :
Let x be represented by where
X : .
Therefore we can compute by augmenting the previous method with a shift:
set R = f ln 2, this is a fraction