I've just discovered a bug in my code which boiled down to the following,
where a symbol "y" was given the same SymPy name as an existing symbol.
import sympy as sp
x = sp.Symbol('x')
y = sp.Symbol('y')
x == y # True
x is y # True; expected False
x + y # 2*x; expected x + x (which would have made the bug in my code more
apparent)
The behaviour here is very surprising to me. I would have expected x and y
to be different Python objects with __repr__ methods which just so happen
to return the same string. Instead, x and y are apparently different
Python names for the same object (x is y).
Is this intentional? I think I must misunderstand some deep design choice
in SymPy, and I can't express my confusion well enough to Google it.
Please help!
--
You received this message because you are subscribed to the Google Groups
"sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/sympy/f0084d3b-db98-43cb-becd-020a368aec87%40googlegroups.com.