2009/5/16 Ondrej Certik <ond...@certik.cz> > > On Sat, May 16, 2009 at 2:51 AM, Vinzent Steinberg > <vinzent.steinb...@googlemail.com> wrote: > > 2009/5/15 Ondrej Certik <ond...@certik.cz> > >> > >> On Fri, May 15, 2009 at 3:16 AM, Priit Laes <plaes...@gmail.com> wrote: > >> > > >> > Ühel kenal päeval, N, 2009-05-14 kell 23:32, kirjutas Ondrej Certik: > >> >> Hi, > >> >> > >> >> please review my spherical bessel patches: > >> >> > >> > I didn't check the math part, but in the jn_zeros() docstring there's > >> > method = "sympy" instead of "scipy" in one place. > >> > >> Ah, thanks for noticing: > >> > >> + method = "sympy": uses the scipy's sph_jn and newton to find all > >> roots, > >> + which if faster than method="sympy", but it requires scipy > >> and only > >> > >> this should be scipy. > >> > >> Apart from that, are there any other objections? > > > >> # The findroot() is fragile, it sometimes returns complex numbers, > >> # so we chop all complex parts (that are small anyway). Also we > >> # need to set the tolerance, as it sometimes fail without it. > >> def f_real(x): > >> return f(complex(x).real) > >> root = findroot(f_real, x, solver="muller", tol=1e-9) > >> root = complex(root).real > > > > As mentioned in my other post, I don't get the point of using > > method='muller', especially if you are not interested in complex roots. > > > > I recommend to just use the default (secant), it won't give complex > results > > for real starting points. Or you might want to use an intersection > method, > > it would be more reliable and faster. > > Unfortunately, it didn't converge for me at all. Any ideas why? I'll > try to write my own newton method and then see if it works.
That's interesting. Could you please post the test case where it fails? Maybe there's just a bug in mpmath's secant or findroot. > > > > > > Do you think some of the functions should be rather implemented in > mpmath? > > which functions do you mean exactly? The jn_zeros? I don't mind. But > mpmath is sometimes very slow, e.g. I want to be able to use scipy > optionally. It can be in mpmath, I have no problems with that. But > then you would need the jn() function too in there, but that one uses > sympy a lot, so I don't think it's that easy. > > Well, Fredrik should decide this. Vinzent --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "sympy-patches" group. To post to this group, send email to sympy-patches@googlegroups.com To unsubscribe from this group, send email to sympy-patches+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sympy-patches?hl=en -~----------~----~----~----~------~----~------~--~---