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



(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.



(4) Causes Maxima interface to break:

http://trac.sagemath.org/sage_trac/ticket/6376



(4) Gives mathematically non-sensical results:

http://trac.sagemath.org/sage_trac/ticket/6465



(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.


(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)
-----


(7) Printing issues:

 We are still debating on this in separate thread.


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

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