Skip to content

Using subs() with tuples doesn't work when called as a method #460

@DonSheddow

Description

@DonSheddow
@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.

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! :)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions