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

Reply via email to