Skip to main content

algebraic manipulation - How to extract expression from ConditionalExpression


p1 := y /. {First[Solve[x^2 + y^2 + x == 1, y, Reals]]}



{ConditionalExpression[-Sqrt[1 - x - x^2], 
1/2 (-1 - Sqrt[5]) < x < 1/2 (-1 + Sqrt[5])]}

I want to get the -Sqrt[1 - x - x^2] out of the conditional expression and assign it to a variable. I don't care about the conditions, I'm aware of them and need the expression for use out of the ConditionalExpression. How do I do that?


I tried list commands combinations (Flatten, First, etc.) but they don't work with this. Am I just supposed to copy-paste?



Answer



You can use Normal, ConditionalExpression is not explicitly mentioned there but documentation says it deals with special forms.


p1 = y /. {First[Solve[x^2 + y^2 + x == 1, y, Reals]]} // First



 ConditionalExpression[-Sqrt[1 - x - x^2], 1/2 (-1 - Sqrt[5]) < x < 1/2 (-1 + Sqrt[5])]

Normal @ p1


-Sqrt[1 - x - x^2]

Comments