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