# Different interpretation of system of equations

Given the variables

q1 = Root[(48 a^2 + 16 b) #^4 - (40 a^3 + 168 a b)#^3 + (-45 a^4 + 225 a^2 b + 72 b^2) #^2 + (27a^3 b - 162 a b^2) #+ 27 b^3 &,1]
q2 = Root[(48 a^2 + 16 b) #^4 - (40 a^3 + 168 a b)#^3 + (-45 a^4 + 225 a^2 b + 72 b^2) #^2 + (27a^3 b - 162 a b^2) #+ 27 b^3 &,2]
r1 = Root[375 a^8 - 3600 a^6 # + 8088 a^4 #^2 - 6912 a^2 #^3 + 2048 #^4 &,1]
r2 = Root[375 a^8 - 3600 a^6 # + 8088 a^4 #^2 - 6912 a^2 #^3 + 2048 #^4 &,2]


My intention is to solve the inequality $q_2 < c$ for a real number $c<0$ under the conditions $0<b<a^2$ and $a<0$. I first tried

Reduce[q2 < c && b > 0 && b < a^2 && a <0 && c <0,b,Reals]


which gives me a fairly nice solution to work with. However, if I split the domain of $b$ in two parts, namely $0<b<r_1$ and $r_1<b<a^2$

Reduce[q2 < c && b > 0 && b < r1 && c <0 && a <0,b,Reals]


and

Reduce[q2 < c && b > r1 && b < a^2 && c <0 && a <0,b,Reals]


then the outcomes are more complex involving an annoying root expression that bounds $a$. Where doest this come from? I assume it has something to do with the nature of the roots of the polynomial occurring in $q_2$? When I split the domain it looks like it threats $q_2$ differently then when I don't split the domain.

• is it guaranteed 0<r1<a^2 ? Even if so Reduce might not recognise that from the root expression. – george2079 Apr 1 '16 at 3:42
• Yes, that is indeed guaranteed. This is due the fact that $r_1 \approx 0.14 a^2$. – Cavents Apr 1 '16 at 8:31

I guess I'm unsure why you would expect adding a root expression as an additional constraint would not increase the complexity of the result. Heres how I'd look at it:

For simplicity define some root expressions that end up in the Reduce results:

root1 = Root[-45 a^4 c^2 - 40 a^3 c^3 +
48 a^2 c^4 + (27 a^3 c + 225 a^2 c^2 - 168 a c^3 + 16 c^4) #1 +
(-162 a c + 72 c^2) #1^2 + 27 #1^3 &, 1];
root2 = Root[
544210944 c^8 - 3439853568 c^7 #1 + 9279799296 c^6 #1^2 -
13912793088 c^5 #1^3 +
12599076608 c^4 #1^4 - 6972768000 c^3 #1^5 +
2248633440 c^2 #1^6 - 365310000 c #1^7 + 18984375 #1^8 &, 1];


Reduce[q2 < c < 0 && 0 < b < a^2 && a < 0, b, Reals] /.
root1 -> HoldForm[root1]


c < 0 && a < (4 c)/3 && root1< b < a^2

Reduce[q2 < c < 0 && 0 < b < r1 < a^2 && a < 0, b,  Reals] /.
{root1 -> HoldForm[root1], root2 -> HoldForm[root2],
r1 -> HoldForm[r1]}


c < 0 && a < root2 && root1 < b < r1

note indeed Reduce recognized that r1<a^2. Now it turns out that root2 is linear in c:

Plot[ {(4 c)/3, root2 }, {c, -10, 0}]


where that approximate number comes from: root2/c /. c -> -1 // N You can verify you get the same numerical result for any c<0, and see that must be since every term in the expression is of the form c^(8-i)#1^i or c^8 (#1/c)^i. I was not successful at finding an exact form simpler than the RootExpression.
 Simplify[  root1 // ToRadicals ,  Assumptions -> {  c < 0 , a < root2  } ]

• the convention is to order the roots real first in increasing order. Remember c is negative so 11c < .7 c – george2079 Apr 14 '16 at 17:56