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