On 12/5/06, William Stein <[EMAIL PROTECTED]> wrote: > > On Tue, 05 Dec 2006 08:56:22 -0800, Joel B. Mohler > <[EMAIL PROTECTED]> wrote: > > William, thanks for your kind hint for me to be quiet a bit. I believe > > you are > > right that I should be so. After this e-mail and a few additions to the > > wiki, I > > will be quiet on this topic. > > No, don't be quiet!! > > > However, I don't agree that the suggestion of using variables from the > > polynomial ring is doing what mathematica does. Some Examples: > > > > Exhibit 1: My understanding is that you want f(1) to be 1 in sage, but > > mathematica is not so. > > In[1]:= f=x > > Out[1]= x > > In[2]:= f(1) > > Out[2]= x > > > > Exhibit 2: Mathematica has a dummy variable. > > In[12]:= f[x_]:=Sin[x] > > In[13]:= f'[x] > > Out[13]= Cos[x] > > In[14]:= f'[y] > > Out[14]= Cos[y] > > > > Exhibit 3: Part of the expected second variable is the name of the > > independent > > variable. > > In[6]:= Plot[Sin[x]] > > Plot::argmu: Plot called with 1 argument; 2 or more arguments are > > expected. > > I was also confused about this. > > Maple and Mathematica have symbolic expressions, like Sin[x] * Cos[y], > (or sin(x)*cos(y)), which you *can not* evalaute in those systems! > You can only do a variant of "substitution". This is what we should > do too, and doesn't require the preprocessor. In order to define > a function to be evaluated, one should just use Python's def or lambda. > > Example in Maple: > > auth2-213:~/s/spkg/standard was$ maple > |\^/| Maple 10 (APPLE PPC OSX) > ._|\| |/|_. Copyright (c) Maplesoft, a division of Waterloo Maple Inc. > 2005 > \ MAPLE / All rights reserved. Maple is a trademark of > <____ ____> Waterloo Maple Inc. > | Type ? for help. > > f = sin(x); > f = sin(x) > > f(2); > f(2) > > > f; > f > > > f := sin(x); > f := sin(x) > > > f; > sin(x) > > > integrate(f, x); > -cos(x) > > > f(2); > sin(x)(2) > > > subs(x=2,f); > sin(2) > > Example in Mathematica: > > auth2-213:~/s/spkg/standard was$ math > Mathematica 5.2 for Mac OS X > Copyright 1988-2005 Wolfram Research, Inc. > -- Terminal graphics initialized -- > > In[1]:= f := Sin[x]; > > In[2]:= f[2]; > > In[3]:= f[2] > > Out[3]= Sin[x][2] > > In[4]:= Integrate[f, x]; > > In[5]:= Integrate[f,x] > > Out[5]= -Cos[x] > > OK, I forget how to subst in mathematica, but I have to go now. > > Also, PARI has this same distinction too. > > ? f = x*y > %2 = y*x > ? f(2,3) > *** unused characters: f(2,3) > ^----- > ? subst(f,x,2) > %3 > = 2*y
William, I know you're busy right now, but when you get a chance could you give an example of what a SAGE session with this type of substitution would look like? -- Bobby Moretti [EMAIL PROTECTED] --~--~---------~--~----~------------~-------~--~----~ 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/ -~----------~----~----~----~------~----~------~--~---
