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

Reply via email to