You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@syms x, y, z
ex = x + y + z
ex.subs((x, 1), (y, pi))
should return 1 + pi + z, but it returns x + y + z. Similarly, ex.subs((x, 1)) throws an error.
If you write subs(ex, (x, 1), (y, pi)) instead, it works as expected. I think the method call doesn't dispatch to the correct implementation, so the only method call that works is ex.subs(var, replacement), but I'm not that familiar with Julia, so I'm not sure.
Thanks, that is a documentation error. The underlying sympy call would need to be
ex.subs([(x, 1), (y, PI)])
(the tuples are in some container and not just part of the variadic arguments. The subs(ex, ...) is a julia interface which makes this a bit more natural (in my opinion).
should return
1 + pi + z
, but it returnsx + y + z
. Similarly,ex.subs((x, 1))
throws an error.If you write
subs(ex, (x, 1), (y, pi))
instead, it works as expected. I think the method call doesn't dispatch to the correct implementation, so the only method call that works isex.subs(var, replacement)
, but I'm not that familiar with Julia, so I'm not sure.If it's not possible to fix this, the documentation at https://docs.juliahub.com/SymPy/KzewI/1.1.4/introduction/#Substitution-1 should be changed to use the
subs(ex, (x, 1), (y, pi))
style instead, and maybe add a note that the method-call syntax doesn't work with tuples.Thanks for working on this library, it's awesome! :)
The text was updated successfully, but these errors were encountered: