
To frame the problem, let us try to solve the equation x ** 2 == 1/2 using sympy:
>>> from sympy import Eq, solve, symbols, S >>> x = symbols("x") >>> solve(Eq(x**2, S(1)/2)) [-sqrt(2)/2, sqrt(2)/2]
that worked well, but actually we would like to write the last line simply as
>>> solve(x**2 == 1/2)
This is essentially how this would be written in sagemath (a CAS exposing various FOSS math software behind a unified python-based interface). More about sagemath can be found at https://www.sagemath.org/ In sage, this would be written solve([x**2 == 1/2], x) The additional "x" is because sage also accepts things like y = var('y') solve([x**2 == y], x) # solve for x in terms of other variables Large amounts of sage are written in python, including essentially the whole symbolic mathematics stack. I'm personally content with using a CAS like sage when I want to manipulate mathematics and keeping symbolic math separate from my default python interpreter. - DLD