Does anyone know what's going on in the following example? I can't seem
to reproduce this with a simple example. Basically, I create a few
'callable symbolic expressions', and then define a lambda function that
calls a one of them. 

Ultimately, I have a function

Q = lambda x : RR(bound(15000, 15000^x))

which takes a float and returns a float. (Well, if I change 'RR' to
'float' in the above code, I get the same result.) So, as far as I can
tell, the plot() function should just see a function that takes a float
and returns a float, and it should just plot it without complaining.

Also, if I change my callable symbolic expressions to lambdas, this
still doesn't work. 

But, if I replace Q with

Q = lambda x : RR(sin(x))

the everything works fine.

I suspect that I might be doing something wrong, since I can't reproduce
this with something simpler (and I don't like sending 'what is wrong
with my code'-type emails to sage-devel instead of sage-support), but
the same thing was happening to me yesterday and I just tried rewriting
from scratch, and I don't know what's going on. Maybe there is some sort
of bug in sage.

Here's the code, and the error.

sage: M = var('M')
sage: B = .561459483
sage: C1(M) = 1/(4*pi^2) * (B/(log(M))) * (1 - 1/(2 * log(M)^2))^2
sage: C2(M) = 2/(M - 1)^(1/2) * (log(M)^2)/B * (1 - 1/(2 * log(M)))^(-1) + 
1/(M-1)
sage: bound(N,M) = N * C1(M) - N^2 * C2(M)
sage: Q = lambda x : RR(bound(15000, 15000^x))
sage: Q(10)
2.21828479338329
sage: P = plot(Q, (1, 10))
---------------------------------------------------------------------------
<type 'exceptions.TypeError'>             Traceback (most recent call last)

/home/bober/<ipython console> in <module>()

/home/bober/sage/local/lib/python2.5/site-packages/sage/plot/plot.py in 
__call__(self, funcs, *args, **kwds)
   2394             # if there is one extra arg, then it had better be a tuple
   2395             elif n == 1:
-> 2396                 G = self._call(funcs, *args, **kwds)
   2397             elif n == 2:
   2398             # if ther eare two extra args, then pull them out and pass 
them as a tuple

/home/bober/sage/local/lib/python2.5/site-packages/sage/plot/plot.py in 
_call(self, funcs, xrange, parametric, polar, label, **kwds)
   2470         del options['plot_division']
   2471         while i < len(data) - 1:
-> 2472             if abs(data[i+1][1] - data[i][1]) > max_bend:
   2473                 x = (data[i+1][0] + data[i][0])/2
   2474                 try:

<type 'exceptions.TypeError'>: 'float' object is unsubscriptable
sage: 




--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to