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.

Reply via email to