 CoCalc Public Filesscratch / sympy.sagews
Author: Harald Schilly
Views : 57
Compute Environment: Ubuntu 18.04 (Deprecated)

# SymPy solveset and unevaluated expressions

This is running in Anaconda Python, in Sympy 1.0

%auto
%default_mode python3

%auto
%python3
from sympy import *
x = Symbol('x')
init_printing()

with evaluate(False):
y = x/x
y Note, ** for power in pure Python

x**2/x sympify converts a string to an expression and evaluate=False suppresses simplification

sympify('x^2 / x', evaluate=False) solveset in action (like solve, but returns all solutions or a set of solutions)

ex1 = sympify('x^2 / x', evaluate=False)
solveset(ex1) ex2 = sympify('(x+1)^2/(x+1)', evaluate=False)
solveset(ex2) ex3 = sympify('(x+1)^2', evaluate=False)
solveset(ex3) roots for polynomials shows the multiplicity

roots(ex3) ex4 = sympify('(x+1)/((x+1) * (x-1))', evaluate=False)
solveset(ex4) ex5 = sympify('(x * (x-2) * (x + 3)^2) / (x - 2)', evaluate=False)
solveset(ex5) ex6 =  Eq(x - 1, (x + 1) / (x - 1))
ex6 solveset(ex6) ex7 = Eq(x**3 - 2*x + 1, 1+x)
solveset(ex7) solveset(sympify('(x^2+2*x+1)/(x+1)', evaluate = False)) solveset(sympify('(x^2+2*x+1)/(x-1)^2', evaluate = False)) Below, 0 is not a solution

solveset(sympify('(x^3 - x^2) / x', evaluate=False)) simplify((x**3 - x**2) / x) solveset(simplify((x**3 - x**2) / x)) use root to see that $-1$ has multiplicity of 2 (only works for polynomial-like expressions)

roots(sympify('x^2+2*x+1'), x) sympify('x/x') sympify('x/x', evaluate=False) 