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