On Jun 14, 2009, at 3:45 PM, John Cremona wrote:
> > 2009/6/14 Burcin Erocal <bur...@erocal.org>: >> >> Hi again, >> >> There were long discussion about the typesetting of partial >> derivatives >> in the new system, but I don't think we got to a conclusion yet. The >> previous thread is here: >> >> http://groups.google.com/group/sage-devel/browse_thread/thread/7479c3eeb96348a2 >> >> >> I agree that this is annoying and trivial to typeset better: >> >> sage: version() >> 'Sage Version 4.0.1, Release Date: 2009-06-06' >> sage: f = function('f') >> sage: f(x).derivative(x,5) >> D[0, 0, 0, 0, 0](f)(x) >> >> >> However, how to typeset these is not so clear: >> >> sage: f(x+2*y).derivative(x,2) >> D[0, 0](f)(x + 2*y) >> sage: f(x+2*y).derivative(y,2) >> 4*D[0, 0](f)(x + 2*y) >> >> In these examples, keep in mind that we did not define what the first >> argument of the function is called, so we can't just replace D[0, 0] >> with d/dx. >> >> The power of this notation is seen mainly with more than one >> argument: >> >> sage: f(x+y, x-y).derivative(y) >> D[0](f)(x + y, x - y) - D[1](f)(x + y, x - y) >> >> >> Here is what MMA does: >> >> In[1]:= D[F[x], x] >> >> Out[1]= F'[x] >> >> In[2]:= TeXForm[%] >> >> Out[2]//TeXForm= F'(x) >> >> In[3]:= D[F[x], x, x, x, x, x] >> >> (5) >> Out[3]= F [x] >> >> In[4]:= TeXForm[%] >> >> Out[4]//TeXForm= F^{(5)}(x) >> >> In[5]:= D[F[x+2*y], x, x] >> >> Out[5]= F''[x + 2 y] >> >> In[6]:= TeXForm[%] >> >> Out[6]//TeXForm= F''(x+2 y) >> >> In[7]:= D[F[x+2*y], y, y] >> >> Out[7]= 4 F''[x + 2 y] >> >> In[8]:= TeXForm[%] >> >> Out[8]//TeXForm= 4 F''(x+2 y) >> >> In[9]:= D[F[x+y, x-y], y] >> >> (0,1) (1,0) >> Out[9]= -F [x + y, x - y] + F [x + y, x - y] >> >> In[10]:= TeXForm[%] >> >> Out[10]//TeXForm= F^{(1,0)}(x+y,x-y)-F^{(0,1)}(x+y,x-y) >> >> >> And Maple: >> >>> diff(f(x),x); >> d >> -- f(x) >> dx >> >>> diff(f(x),x$5); >> 5 >> d >> --- f(x) >> 5 >> dx >> >>> diff(f(x+2*y), y$2); >> (2) >> 4 (D )(f)(x + 2 y) >> >>> convert(%, diff); >> / 2 \| >> | d || >> 4 |---- f(t1)|| >> | 2 || >> \dt1 /|t1 = x + 2 y >> >>> diff(f(x+y, x-y), y); >> D[1](f)(x + y, x - y) - D[2](f)(x + y, x - y) >> >>> convert(%, diff); >> D[1](f)(x + y, x - y) - D[2](f)(x + y, x - y) >> >> >> >> I like the way MMA handles this. It's compact and consistent. So I >> suggest we change things to use the MMA convention. > > The MMA convention seems to include as a special case a prime (') for > derivatives of functions of one variable Is that right? Seems good > to me. > > John > My preference is the Maple diff way because that reduces to traditional partial derivatives when you have f(x,y). Cheers, Tim. --- Tim Lahey PhD Candidate, Systems Design Engineering University of Waterloo http://www.linkedin.com/in/timlahey --~--~---------~--~----~------------~-------~--~----~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to sage-devel-unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~----------~----~----~----~------~----~------~--~---