Python | sympy.subs() method
With the help of sympy.subs() method, we can substitute all instances of a variable or expression in a mathematical expression with some other variable or expression or value.
Syntax: math_expression.subs(variable, substitute)
Parameters:
variable – It is the variable or expression which will be substituted.
substitute – It is the variable or expression or value which comes as substitute.Returns: Returns the expression after the substitution.
Example #1:
In this example we can see that by using sympy.subs() method, we can find the resulting expression after substituting a variable or expression with some other variable or expression or value. Here we use symbols()
method also to declare a variable as symbol.
# import sympy from sympy import * x, y = symbols( 'x y' ) exp = x * * 2 + 1 print ( "Before Substitution : {}" . format (exp)) # Use sympy.subs() method res_exp = exp.subs(x, y) print ( "After Substitution : {}" . format (res_exp)) |
Output:
Before Substitution : x**2 + 1 After Substitution : y**2 + 1
Example #2:
In this example we see that if the substituted value is numerical then sympy.subs() returns the solution of the resulting expression.
# import sympy from sympy import * x = symbols( 'x' ) exp = cos(x) + 7 print ( "Before Substitution : {}" . format (exp)) # Use sympy.subs() method res_exp = exp.subs(x, 0 ) print ( "After Substitution : {}" . format (res_exp)) |
Output:
Before Substitution : cos(x) + 7 After Substitution : 8
Example #3:
In this example we see that we can do multiple substitutions if we pass a list of (old, new) pairs to subs.
# import sympy from sympy import * x, y, z = symbols( 'x y z' ) exp = x * * 2 + 7 * y + z print ( "Before Substitution : {}" . format (exp)) # Use sympy.subs() method res_exp = exp.subs([(x, 2 ), (y, 4 ), (z, 1 )]) print ( "After Substitution : {}" . format (res_exp)) |
Output:
Before Substitution : x**2 + 7*y + z After Substitution : 33