First, let me say that I like this proposal.

On Dec 6, 2006, at 5:03 PM, William Stein wrote:

> Sage calculus
> f = alg expr
>
> f.subs(var, val, ...)
> f.subs(dict)
> f.subs(list of pairs)
> implement recursively, with base case functions of 1 var and vars and
> constants being clear.

I would vote for f.subs(var=val, ...) as well.

> f.function(*args) - returns a callable version of f, which otherwise
> works in same way.  Output is result of subs.
> this just another formal function, but with a call method.
> Also, function((vars...),expr) makes an evaluatable function.

The motivation for not providing a call function to begin with is  
that the arguments have not been specified yet? I still think f(x,y)  
= sin(x)*cos(x+y+3) is the most "natural" syntax, but alas it  
requires the preprocessor.

> f.derivative(var) - we completely implement.

Even if we implement this (which should be relatively easy), should  
we pass the results to maxima to try and simplify it? On that note,  
should we have a f.simplify(), etc. method?

> f.integral(var, optional endpoints) - feed expr to maxima (or maple or
> mathematica or mathomatic or yaccas or??) and let it compute integral
> symbolically.  Sage_eval the result (if possible - if that fails,
> maybe wrap the external object formally).
>
> Basic functions: all functions like  sin, cos, exp, special funcs,
> etc, will be defined as formal functions - a lot of this is already
> done.
>
> 



--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to [email protected]
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://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/
-~----------~----~----~----~------~----~------~--~---

Reply via email to