On Mon, Jun 8, 2009 at 17:04, David Goldsmith<d_l_goldsm...@yahoo.com> wrote: > > I look forward to an instructive reply: the "Pythonic" way to do it would be > to take advantage of the facts that Numpy is "pre-vectorized" and uses > broadcasting, but so far I haven't been able to figure out (though I haven't > yet really buckled down and tried real hard) how to broadcast a > conditionally-terminated iteration where the number of iterations will vary > among the array elements. Hopefully someone else already has. :-)
You can't, really. What you can do is just keep iterating with the whole data set and ignore the parts that have already converged. Here is an example: z = np.zeros((201,201), dtype=complex) Y, X = np.mgrid[1:-1:-201j, -1.5:0.5:201j] c = np.empty_like(z) c.real = X c.imag = Y N = np.zeros(z.shape, dtype=int) while ((N<30) | (abs(z)<2)).all(): N += abs(z) < 2 z = z ** 2 + c N[N>=30] = 0 -- Robert Kern "I have come to believe that the whole world is an enigma, a harmless enigma that is made terrible by our own mad attempt to interpret it as though it had an underlying truth." -- Umberto Eco _______________________________________________ Numpy-discussion mailing list Numpy-discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion