Hi, Le jeudi 30 avril 2015 17:44:39 UTC+2, Nils Bruin a écrit : > > > This is probably just a nameclash, since pickling symbolic expressions. > Pickling symbolic expressions rather directly depends on pynac's > serialization, so we're restricted by the limitations that has. >
Thanks for your answer. There is no predefined 'H' function in Sage, so do you mean a nameclash with a predefined function 'H' in Pynac ? Which function is it ? It seems to be (x,y) |--> - x ln(1-xy), but I don't see why this function is special and would deserve a predefined name... In any case, the symbolic function 'H' has to have two arguments (so it excludes the Heaviside function), because with a single one or three of them, it is OK. Changing the names of the arguments does not help: loads(dumps(function('H', u, v))) still returns -u*log(-u*v + 1). Note the following: > > sage: function('sin')(x).diff() > D[0](sin)(x) > sage: loads(dumps(function('sin')(x))).diff() > cos(x) > > As you can see, pickling a fresh symbolic function that happens to clash > with an existing one doesn't work properly. > Thanks for this example. It's clear that naming a fresh function 'sin' may lead to some trouble. However, as mentionned above, I don't see the problem with 'H' (nor 'G')... Eric. -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.