On Wed, Dec 06, 2006 at 11:21:39AM -0800, William Stein wrote:
> It is very clarifying to distinguish between functions that one calls(in  
> the
> sense of computer programs) and symbolic functions that are elements of  
> some
> formal algebra.   This is what is done in Maple/Mathematica/Maxima and  
> PARI,
> and I don't see why SAGE should do things differently, given that this  
> approach
> has been very successful.

But the point is that you CAN do calculus with the functions defined in 
mathematica.  Obviously, you can write functions in the mathematica language 
for 
which calculus makes no sense (a loop perhaps), but as long as you define 
something entirely in terms of analytic functions you can do calculus with it.

What I'm suggesting with defining these functions does not need to supplant the 
idea of expressions.  I think they can work very nicely together (using my 
previous syntax):

sage: f=Function((x,y),x^n)  # an expression involving another constant n
sage: f(2,3)
2^n
sage: f.subst((n,3))  # n is not in the official argument list
(x,y) -> x^3

You can do (and I've done many times) something entirely analogous to this in 
mathematica.

>  Average beginning students can
> quickly do problems in calculus books using Maple/Mathematica... so their
> approach is very likely practicle.  Also, my impression is that among
> us Alex C. is one of the only people who has actual signficant experience  
> with
> this sort of computer algebra/calculus, and he is all for just using  
> Python's
> def and lambda for defining functions.

I, for one, and I've been asking around with some of my colleagues, know and 
dislike the substitution method in mathematica.  We find it very awkward to 
use.  
To be sure, it's somewhat the choice of syntax (involving / and . and -> in a 
strange juxtaposition), but I think it's only natural to want to use functional 
notation when doing calculus.

Again, I don't think these have to be competing notions.  In mathematica you 
really can work entirely in either paradigm or mix and match.

--
Joel

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