python - sympy.sympify() does not perform substitutions -
this works expected:
>>> sympy import * >>> (x, y, z) = symbols("x y z") >>> y = x >>> z = y >>> z x however sympify() not perform substitution:
>>> sympy import * >>> y = sympify('x') >>> z = sympify('y') >>> z y z should set x.
are there flags can pass sympify() substitute? i'm using sympy version 0.7.1.rc1 , python 2.7.3
you're misunderstanding difference between sympy symbols , python names.
>>> y = sympify('x') here you've created symbol x referred name y.
>>> z = sympify('y') now create symbol y referred name z. note symbol y , local name y have nothing each other. sympy not care have variable named y when sympify('y') -- it's not inspecting local namespace.
what want is:
>>> z = sympify(y) i.e. assigning z symbol pointed by y; gets expect:
>>> z x also note sympify call entirely redundant in case, should doing:
>>> z = y