# Reducing cubics

Posted 10 years ago
5763 Views
|
3 Replies
|
8 Total Likes
|
 In Mathematica 9, the expression Reduce[x^3 - 15 x + 2 == 0, x, Reals, Cubics -> True]produces the same output as when the Cubics option is not present. This polynomial has three real roots, and previous versions of MMA would give an expression in terms of radicals (although the number i was also present). From the Reduce help page: "With Cubics->True, Reduce solves all cubics in terms of radicals." There are no exceptions mentioned under the "Possible issues" section. Does anyone know what's going on?
3 Replies
Sort By:
Posted 10 years ago
 Simon, Sean: Thanks!
Posted 10 years ago
 With ComplexExpand you can coerce the result  you get without the Reals restriction to an expression involving only real terms:Reduce[x^3 - 15 x + 2 == 0, x, Cubics -> True] // ComplexExpand // Simplify(* x == Sqrt[5] (Cos[1/3 ArcTan[2 Sqrt[31]]] + Sqrt[3] Sin[1/3 ArcTan[2 Sqrt[31]]]) || x == -2 Sqrt[5] Cos[1/3 ArcTan[2 Sqrt[31]]] || x + Sqrt[15] Sin[1/3 ArcTan[2 Sqrt[31]]] == Sqrt[5] Cos[1/3 ArcTan[2 Sqrt[31]]]*)My guess would be it doesn't try hard enough to get rid of the complex parts of the result and falls back to Root.Note that Simplify by doesn't use ComplexExpand by default: (* Penalize expressions involving Complex *) complexity = LeafCount[#] + 1000 Count[#, _Complex, Infinity, Heads -> True] &; roots = Reduce[x^3 - 15 x + 2 == 0, x, Cubics -> True];  (* Gives Bunch of stuff with I *) Simplify[  roots,  ComplexityFunction -> complexity  ](* Same result as roots//ComplexExpand//Simplify *)Simplify[ roots, ComplexityFunction -> complexity, TransformationFunctions -> {Automatic, ComplexExpand}]
Posted 10 years ago
 Reduce[x^3 - 15 x + 2 == 0, x, Reals]  asks Reduce to express the output using Real numbers. It disallows it from using Complex or imaginary values. If you remove the "Reals" expression from your original Reduce statement, you will find that Cubics->True works fine. The radical representation of the roots makes use of imaginary numbers  - that is why it isn't showing up in your original evaluation.