Bill
Bill

Reputation: 11613

Sympy is not doing the substitution of a symbol with a value when it has a specified assumption

I'm using the subs method to replace certain parameters in an expression with values prior to solving the equation.

The following simple example works fine:

from sympy import Symbol

Q = Symbol("Q")
exp1 = Q + 1
print(exp1.subs({'Q': 1}))  # prints 2

However, if the symbol has an assumption such as real or positive specified this does not work:

Q = Symbol("Q", positive=True)
exp1 = Q + 1
print(exp1.subs({'Q': 1}))  # prints Q + 1

Why is this and what am I doing wrong?

Upvotes: 0

Views: 367

Answers (1)

Unmitigated
Unmitigated

Reputation: 89284

Don't use a string key.

print(exp1.subs({Q: 1}))

Upvotes: 1

Related Questions