William Stein wrote: > On Sun, Dec 6, 2009 at 4:51 PM, Michel <vdbe...@gmail.com> wrote: >> Thanks for the reply. But no. The problem is not due to the fact that >> the function has a singularity. Indeed. >> >> plot(20*log(abs((1+I*x)^4),10),(x,0,3)) >> >> fails with the same error which is incomprehensible to me. >> >> On the other hand turning the expression into a lambda function made >> it possible to plot it. Thanks for this practical advice. >> >> I wish someone could explain this rationally to me. >> >> 20*log(abs((1+I*x)^4),10) >> >> seems to be a perfectly fine symbolic expression so IMHO it should be >> possible to plot it. > > This is a bug. There absolutely no reason that plotting should give the error > "float() argument must be a string or a number". > We could give an error about not being able to evaluate the function at > certain > points. However, the above error is not OK. The error in fact is > not in plotting > but in making a fast_float compiled version of the expression: > > sage: s = 20*log(abs((1+I*x)^4),10) > sage: fast_float(s,x) > Traceback (most recent call last): > ... > TypeError: float() argument must be a string or a number > > In fact, SAge *should* be using fast_callable, not fast_float. This > works just fine if you force it manually:
Yes, but there are still some issues with plotting assuming the defaults provided by fast_float that are not implemented in fast_callable. So fast_callable needs to be improved before switching to it. See http://trac.sagemath.org/sage_trac/ticket/5572 This is noted on the new ticket from this thread. Thanks, Jason -- Jason Grout -- To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support-unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org