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

Reply via email to