How to resolve the “Absolute values cannot be inverted in the complex domain” error in sympy… here is a solution to the problem.
How to resolve the “Absolute values cannot be inverted in the complex domain” error in sympy
I have the following equation:
Eq(5*Abs(4*x+2)+6,56).
What I want to do is solve x = -3
math problem 5 |4x+2|+6=56
, but I keep getting it
“Absolute values cannot be inverted in the complex domain”
Sympathize with mistakes.
Is there a solution?
Solution
You must specify that x
is a real-valued variable. You can do this when you define a variable as follows.
import sympy as sp
x = sp.symbols('x', real = True)
eq = sp. Eq(5*sp. Abs(4*x+2)+6,56)
sol = sp.solve(eq, x)
print(sol)
[-3, 2]
Edit: You can use the sympy.solveset function instead of sympy.solve.
In this case, you need to explicitly state that you are solving a field of real numbers. By doing this, you do not have to define the variable as a real variable.
import sympy as sp
x = sp.symbols('x') # implies that x is complex
eq = sp. Eq(5*sp. Abs(4*x+2)+6,56)
sol = sp.solveset(eq, x, domain=sp. S.Reals)
print(sol)
{-3, 2}