SUBSTITUTE ALL NON-POLYNOMIALS

Another way of constructing iterators is to inspect the equation top-down and force the evaluation of any subexpression which is not arithmetic.  After this is done, we are left with a rational polynomial expression, and we can proceed as with the polynomial iterators.  For example

\frac{x - \sin x}{1-x^2/2} = \frac{\tan x - x}{1+x^2/2}

for x0=1.23  is handled by evaluating the  sin x  and  tan x, obtaining
\frac{x - 0.94248...}{1-x^2/2} = \frac{2.8198... - x}{1+x^2/2}

which has the roots -3.33318..., 1.20249...  From these possible values for x1 we select the closest to x0.  The first few iterations produce:

x0 = 1.23000,   roots = -3.33319,  1.20250
x1 = 1.20250,   roots = -3.59447,  1.18245
x2 = 1.18245,   roots = -3.80126,  1.16743
x3 = 1.16743,   roots = -3.96602,  1.15596
x4 = 1.15596,   roots = -4.09802,  1.14706

Other special cases.

The technique used for polynomials can be extended to other cases, when we know how to solve some transcendental equations.  The function W(x) is the solution of W(x)eW(x) = x.  Hence many combinations of powers of x with ex and with  ln x  are invertible.  The resulting iterators have a lower number of occurrences of x, and are considered better.  For example:

equation iterator
xaebx = F(x)  x = aW(bF(x)1/a/a) / b 
a ln x + bx = F(x)  x = aW(beF(x)/a/a) / b 
xx=F(x) x = eW(ln F(x))
x ln x = F(x) x = eW(F(x))


previous next