SymPy – Substitution

One of the most basic operations to be performed on a mathematical expression is substitution. The subs() function in SymPy replaces all occurrences of first parameter with second.

>>> from sympy.abc import x,a 
>>> expr=sin(x)*sin(x)+cos(x)*cos(x) 
>>> expr

The above code snippet gives an output equivalent to the below expression −

sin2(x)+cos2(x)sin2⁡(x)+cos2⁡(x)

>>> expr.subs(x,a)

The above code snippet gives an output equivalent to the below expression −

sin2(a)+cos2(a)sin2⁡(a)+cos2⁡(a)

This function is useful if we want to evaluate a certain expression. For example, we want to calculate values of following expression by substituting a with 5.

>>> expr=a*a+2*a+5 
>>> expr

The above code snippet gives an output equivalent to the below expression −

a2+2a+5a2+2a+5

expr.subs(a,5)

The above code snippet gives the following output −

40

>>> from sympy.abc import x 
>>> from sympy import sin, pi 
>>> expr=sin(x) 
>>> expr1=expr.subs(x,pi) 
>>> expr1

The above code snippet gives the following output −

0

This function is also used to replace a subexpression with another subexpression. In following example, b is replaced by a+b.

>>> from sympy.abc import a,b 
>>> expr=(a+b)**2 
>>> expr1=expr.subs(b,a+b) 
>>> expr1

The above code snippet gives an output equivalent to the below expression −

(2a+b)2

Leave a Reply