** Next:** Algorithm of partial inversion
** Up:** Introduction
** Previous:** Witness problems and new

When the user does not supply a starting value but supplies a range
(or a range is implicit), selecting the starting value is a problem
in itself.
Ideally we would like to try several starting points in the valid
interval, because the iterator may fail for any
of the reasons listed above.
This suggests the following strategy for all iterators.
starting_points := {};
x[0] := most_isolated_valid_point( starting_points );
for i do
x[i] := F(x[i-1]);
starting_points := starting_points union {x[i-1]};
if computation_failed or outside_domain(x[i]) then
start_again
else if convergence_achieved then
successful_finish
else if i>3 and diverging then
start_again
else if acceleration_possible then
x[i] := acceleration(x[i], x[i-1], ...)
end if
end do;

*Gaston Gonnet*

*1998-07-08*