Date: Jun 18, 1997 10:20 PM
Author: H.J. Wang
Subject: stop when not converge
How to stop Mma when iterations are not converging?

For example, I want to increase x in the function f[x,y] until the value

of y solved from FindRoot[ f[x,y]==0, ...] is not a real number OR

FindRoot does not converge. More specificly, I tried to do something

like the following:

g[x_,yIni_] := FindRoot[ f[x_,y_]==0, {y,yIni} ][[1,2]];

(* the Part at the end of the expression is to take out

the solution of y *)

m=0;

xV0=1; yV0=2; (* or something like that *)

While[ tem = g[xV0+m, yV0]; Im[tem]==0 && the_findroot_do_converge,

m=m+0.01 ];

( The Im[tem] is to test whether the solution of y is a real number.)

So the problem I have is how to specify the condition for

"the_findroot_do_converge", or, maybe more easily,

"the_findroot_donot_converge"? I want it stops when not converging even

though it may return a real number.

Thank you in advance for any suggestion.

-- H.J. Wang