Message Boards Message Boards

0
|
5053 Views
|
1 Reply
|
0 Total Likes
View groups...
Share
Share this post:

Interpreting Root Objects

Posted 8 years ago

Hello!

I have solved this system of equations (see below) in Mathematica for $x$ where the coefficients of the equations/inequalities are functions of $a,b$ and $c$. Mathematica then displays real solutions $x$ with constraints on $a,\,b$ and $c$.

The constraints for $c$ (for example) are written in function of roots objects $\mbox{Root}[,k]$. In the output, I see for instance $\mbox{Root}[,1] < c \leq \mbox{Root}[,2]$. On the other hand, I also see the condition $0<c<\mbox{Root}[,3]$.

I assume that $\mbox{Root}[,1] < \mbox{Root}[,2]$? However, can I also assume that $\mbox{Root}[,2] < \mbox{Root}[,3]$? Moreover, given that Mathematica displays the output like this, I can assume these roots are all real? Otherwise, it would be quite meaningless?

The Mathematica code for the system is:

Reduce[
     16 x^4 - 40 a x^3 + (15 a^2 + 24 b) x^2 - 18 a b x + 3 b^2 == 0 
  && 5 a x - 4 x^2 - b > 0 
  && 15 a x - 20 x^2 - 3 b < 0 
  && 4 x^3 - 8 c x^2 + 5 c a x - c b > 0 
  && c > 0 && x > 0, 
     x, Reals]

I also asked the question somewhere else but it seems that most people do not really prefer these Root Objects. Indeed, it's much easier to work with analytical expression, but since I know the numerical values of $(a,b,c)$ these roots can be computed quite easily with a numerical solver. I just need to be sure that I interpret them correctly.

Many thanks! Cheers

POSTED BY: Cédric Cavents
Posted 8 years ago

If there is a < between two terms you can assume both are Real because < is undefined over complex numbers. If a<b<=c then you can assume a<c, as with any number. If the output doesn't tell you that Root[,2]<Root[,3] then I don't believe you can assume that. I don't believe you can assume any Root is real unless there is some < involved.

You can try Simplify on the output of Reduce. Sometimes that can make things simpler. You can try ToRadicals on the output of Reduce which contains Root. Often that makes much larger expressions in terms of radicals.

You can also try

Simplify[ToRadicals[Reduce[your system]],a==rational1 && b==rational2 && c==rational3]

where rational1,... are your known exact values and see what the result looks like. You can also do that with a subset of your known values.

POSTED BY: Bill Simpson
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard

Group Abstract Group Abstract