Hi All, I have used Mathematica for several years, and for Symbolic computation, IMO, it just *by far the best*, so I totally agree with what is said here:
> > You know, honestly, the problem of how to express do Calculus with > > a computer algebra system is not exactly a new one. It's been > > to some degree completely and totally solved by Mathematica. I also agree with what Bobby has said here, about maxima and first impressions: >Also, having an easy-to-use calculus package that displays its output prettily is a must for any self-respecting CAS. >With jsMath and Maxima, we have a real potential to blow away the competition here. And finally, calculus is kind of >a lowest common denominator among people who are using a CAS. It's probably the first thing that any >non-mathematician would try... first impressions are important. So we need to: 1) Study the details of how Mathematica (Maple?) does symbolic computation. 2) Implement it in Python using Maxima (While not breaking Python *at all* !, semantics, preparser,etc!) It seems that a lot of discussion in this thread has to do with the semantics of defining a function. In python one can use either: def or lambda In SAGE one can use either: def, lambda, or existing 'sage.functions.functions.Function_arith' types In Mathematica, one must use the "Blank" _, "BlankSequence" __, or "BlankNullSequence" ___, pattern objects to specify replacement rules. i.e: (* Using a "Blank" pattern *) In[5]:= f[x_]:=x*Sin[x] (* Replace with y *) In[6]:=f[y] Out[6]=y Sin[y] (* Replace with Integer *) In[9]:=f[1] Out[9]=Sin[1] (* Replace with Real *) In[10]:=f[1.0] Out[10]=0.841471 (* Explicitly do Rule substitution *) In[11]:=f[x]/.x->1.0 Out[11]=0.841471 (* Now with NO Blank Rule object *) In[1]:=g[x]=x*Sin[x] Out[1]=x Sin[x] (* NO substitution occurs *) In[2]:=g[y] Out[2]=g[y] (* The object "g[x]" is exactly "x Sin[x]" *) In[4]:=g[x] Out[4]=x Sin[x] So more discussion is needed about all this, I think making symbolic computation from SAGE very usable is an great challenge that we should embrace. -Alex --~--~---------~--~----~------------~-------~--~----~ 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/ -~----------~----~----~----~------~----~------~--~---
