Have zeros of order 2 too, so the sign change doesn't help in general, but may work for some zeros. Thank you!...
On Saturday, June 21, 2014 1:21:06 AM UTC-7, Dima Pasechnik wrote: > > On 2014-06-21, David Ingerman <[email protected] <javascript:>> wrote: > > Thank you, that's helpful. Is there a way to get all roots of a Python > > function on an interval? > > I never heard of robust procedures for such a task, and doubt they are > even possible (think about roots of sin(1/x) on [0,1]). > Certainly you can partition the interval into pieces > and try finding root in each subinterval where the function has > different signs on its ends. > > > > scipy has a variety of root-finding methods implemented. You > can do > sage: import scipy.optimize > and then read on > sage: scipy.optimize.brentq? > (the method called by Sage's find_root) > > > > > > On Friday, June 20, 2014 2:10:38 AM UTC-7, Dima Pasechnik wrote: > >> > >> On 2014-06-20, David Ingerman <[email protected] <javascript:>> > wrote: > >> > Thank you, so what to do for Python function? Matlab had general > >> purpose > >> > 'optim(f)' if my memory is right... > >> > >> you can e.g. use find_root(); this is a numerical thing that accepts > >> Python functions. Here is an example: > >> > >> sage: def f(x): > >> return x-cos(x) > >> ....: > >> sage: find_root(f,0,1) > >> 0.7390851332151559 > >> sage: > >> > >> > > >> > On Wednesday, June 11, 2014 1:50:10 AM UTC-7, Dima Pasechnik wrote: > >> >> > >> >> On 2014-06-10, David Ingerman <[email protected] <javascript:>> > >> wrote: > >> >> > > >> >> > How to solve([f(x)==0],x) for a function "f(x)" defined in a > .sage > >> >> file? > >> >> > > >> >> > The error message: TypeError: Cannot evaluate symbolic expression > to > >> a > >> >> > numeric value. > >> >> > >> >> what is f(x) ? > >> >> solve() won't work for a Python function, it needs a symbolic > >> >> expression, e.g. > >> >> > >> >> sage: type(sin(x)) > >> >> <type 'sage.symbolic.expression.Expression'> > >> >> sage: > >> >> > >> >> > > >> >> > Thank you... > >> >> > > >> >> > >> >> > >> > > >> > >> > > > > -- You received this message because you are subscribed to the Google Groups "sage-support" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/sage-support. For more options, visit https://groups.google.com/d/optout.
