On Jul 19, 2009, at 12:08 PM, Golam Mortuza Hossain wrote:
>
> Hi,
>
> I have spent considerable amount of time in last one month
> working with new symbolics. Overall, I am impressed with
> it.
>
> However, my experience with new derivative makes me
> wonder whether the pynac "fderivative" construct is really
> worth the efforts!
>
> While implementing functional derivative and integration
> algorithm for generalized function using new symbolics, I
> have been brought to near a dead end because of new
> derivative.
>
> It....
>
> (1) Breaks substitution:
>
> Arguments of derivative can't be substituted
>
> http://trac.sagemath.org/sage_trac/ticket/6480
>
This is a really big problem. I know I need to be able to
do this all the time.
>
>
> (2) Nightmare for writing integration algorithm:
>
> If h = f(g(x)).diff(x) then integrate(h, x) is trivial. However, in
> new symbolics to do so, one needs compute
>
> integrate( D[0](f)(g(x, y))*D[0](g)(x, y), x)
>
> Let me claim: Integrating an expression involving new symbolic
> derivative
> is at best EQUAL and often MORE computationally EXPENSIVE than its
> "diff"
> counterpart.
>
>
It's also a mess.
>
> (4) Causes Maxima interface to break:
>
> http://trac.sagemath.org/sage_trac/ticket/6376
>
Since there are many useful calculus-related routines, that's a problem.
>
>
> (4) Gives mathematically non-sensical results:
>
> http://trac.sagemath.org/sage_trac/ticket/6465
>
That's more of a problem that it doesn't know about integration, which
is
quite annoying.
>
>
> (5) Looses information irrecoverably:
>
> From "D[0](f)(x-a)" its not possible to decide whether original
> variable of differentiation was "x" as in f(x-a).diff(x) or "a"
> as in -f(x-a).diff(a). This again affects integration algorithm.
>
This is one of the reasons I hate this notation. It may be compact,
but it hides information that may be useful and makes it difficult to
unravel.
>
> (6) Compact?
>
> It is true that this format is sometime compact but consider
> the counter example:
> ------
> sage: f( g(x) + h(x) ).diff(x)
> (D[0](g)(x) + D[0](h)(x))*D[0](f)(g(x) + h(x))
> ------
>
> In old symbolics it takes less space to print
> -----
> sage: f( g(x) + h(x) ).diff(x)
> diff(f(h(x) + g(x)), x, 1)
> -----
>
The first appears to be an expansion. I'd much rather see the second.
>
> (7) Printing issues:
>
> We are still debating on this in separate thread.
I need to have standard partial derivative notation as an option at
least
in LaTeX form. There is no way I'm going to re-write the from this
notation
to standard notation hundreds of equations.
I've basically stopped working with Sage because of this notation. I
can see
what's going on much simpler with something like
\left.\frac{\partial f}{\partial x}(x,y)\right_{x=x-a}
than the equivalent in the D notation. Sure, it isn't as compact, but
from long
experience, I know exactly what it means. More importantly, my
supervisor and my
committee members know what it means. I thought there was going to be an
option of not using the D notation?
Note that I've been discussing specifically the LaTeX output. That's
what's most
important for me, but I'd prefer using notation that's consistent.
This D notation
may be internally consistent, but it doesn't work with the rest of Sage.
>
>
> My question now is it really worth solving all of the
> above issue to keep working with fderivative of pynac?
>
> Or should we just restore old "diff" by simply sub-classing it
> from SFunction like what is being done for "integration"
> and others?
>
> Cheers,
> Golam
>
Also, Maple has a useful feature of letting you present partial
derivatives in
the form f,x,x,x for a triple partial derivative with respect to x.
Note the variables
of f aren't show. They're implicit. However, this is just a nice
display feature, but they
do have a similar input feature. See PDETools and DETools.
Like I said above, this D notation has basically guaranteed I won't
use Sage
for my work.
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
-~----------~----~----~----~------~----~------~--~---