Burcin Erocal wrote:
> On Fri, 7 Nov 2008 03:26:35 -0800
> "Mike Hansen" <[EMAIL PROTECTED]> wrote:
> 
>> On Fri, Nov 7, 2008 at 3:14 AM, Jason Grout
>> <[EMAIL PROTECTED]> wrote:
>>>> plot( f(x=5), (y, -10,10))
>>>>
>>>> plot( f(x=5,y=y), (y, -10,10))
>>>>
>>>> plot( f(5,None), (y, -10,10))
>>>>
>>>> plot( f(5,y), (y, -10,10))
>>>>
>>>> g(y) = f(5,y)
>>>> plot(g, (y, -10,10))
>>>> That last one seemed too verbose
>>>
>>> I guess you could also do:
>>>
>>> plot( lambda y: f(5,y), (y, -10,10))
>>>
>>> but then you give up things like fast_float.
>> You didn't mention
>>
>> plot(f(5,y).function(y), (y, -10,10))
>>
>> which is the one that'd be compatible with non-callable expressions.
> 
> If symbolic expressions cease to be callable, plot would need to be
> changed to handle these cases:
> 
> sage: plot( x^2 )
> 
> This seems plausible, since at the moment we allow 
> 
> sage: plot( sin )
> 
> for usability.
> 
> 
> Going back to your example, f(5,y) would just return a symbolic
> expression,  so
> 
> sage: f(x,y)=2*x+3*y
> sage: plot( f(5,y), (y, -10,10))
> 
> would be equivalent to 
> 
> sage: plot( 10+3*y, (y, -10,10))
> 
> which would just work.
> 
> 
> The current syntax allows this:
> 
> sage: f(x,y) = a*x + b*y
> sage: f(5)
> b*y + 5*a
> sage: f(5)(5)
> b*y + 25
>  
> 
> I think the last line should be a syntax error.


I agree, since f was explicitly defined with variables x and y.

f(5) should return a function g(y) = b*y+5*a

I think this could be easily changed (just return a function that has 
explicit variables, rather than just a symbolic expression).

Jason


--~--~---------~--~----~------------~-------~--~----~
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