Hi, On Sat, Jul 18, 2009 at 8:49 PM, Jason Grout<jason-s...@creativetrax.com> wrote: > OLD: > > sage: var('x,y') > sage: f = function('f') > sage: f(x).derivative(x) > D[0](f)(x) > sage: f(x,x).derivative(x,2) > D[0, 0](f)(x, x) + 2*D[0, 1](f)(x, x) + D[1, 1](f)(x, x) > > > NEW: > > sage: f(x).derivative(x) > D[1](f)(x) > sage: f(x,x).derivative(x,2) > D[2, 0](f)(x, x) + 2*D[1, 1](f)(x, x) + D[0, 2](f)(x, x)
The latex version looks good to me. Also, new text-mode output is compact compared to the previous one. My concern however is that above text mode output (like the previous one) is not recognized by Sage as valid input. Consider a user's perspective who is seeing "D[0](f)(x)" for the first time. (1) As Sage recommends, the user will try "D?" ---- sage: D? Object `D` not found. ---- (2) User thinks may be docstring is not there. He then tries to figure out what does it really do. So he tries "sin" in place of "f" ----- sage: D[0](sin)(x) ... NameError: name 'D' is not defined ----- Now you can imagine the kind of "first impression" it makes to an user. My 2 cents: (1) Text-mode output for the proposed "D[2, 0](f)(x, x)" be of the form D( f(x, x), [2, 0] ) (2) Add a new derivative function "D" which is exposed to users. This will be similar to current "diff" but instead it will act using parameters "[2,0]". Cheers, Golam --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---