Possible bug when a symbolic function is declared twice
I don't understand the output of the following code:
sage: f = function('f')
sage: f(x).operator() is f
True
sage: f = function('f')
sage: f(x).operator() is f
False
Is that the intended behavior?
It seems that operator returns the first symbolic function defined with this name, not the actual operator. This is problematic for me because it means there are some cells in my notebook I can only run once, so I have to restart the kernel everytime I want to press "run all".
At the very least, there is some inconsistency between
varandfunction: both of them inject names in the global namespace, butfunctioncreates a new object at each call: