There are polynomials with roots not expressible with radicals but expressible as trigonometric or other functions, for which Solve[]
only returns Root[]
-form punt results. Example:
a = 1 + 6*x - 12*x^2 - 32*x^3 + 16*x^4 + 32*x^5
b = Expand[(y^5)*a/.x->(y+1/y)/2
Solve[]
fails to find roots of a
but does find roots of b
, so if you happen to know to do that substitution, you can show that $x=\cos(2n\pi/11)$ where $n={1,2,3,4,5}$ are roots of a
.
This issue and some related Galois Theory are discussed HERE and and HERE, and some piecemeal methods to find very specific types of exactly-expressible solutions are offered.
Does anyone have a package or Module that extends Solve[]
to rigorously search for all those exact solutions that can be expressed exactly but not with radicals? I'm attempting to do this myself, but my Galois Theory game is weak so I'm not sure how to cover all bases.
I'm a little surprised Wolfram hasn't already done this. Or have they?
ToRadicals
does exist, but according to the documentation, "there are some cases in which expressions involving radicals can in principle be given, butToRadicals
cannot find them." (I'm also not sure that $\cos(2 n \pi/11)$ can be expressed in terms of radicals.) $\endgroup$Root
objects inferior? They are better behaved than radicals, and can express all roots of any polynomial with rational coefficients exactly. Embrace them. $\endgroup$Cos[something]
more informative in general. You can't count on your special forms to exist, so unless you like codes that sometimes fail, they're not effective. Even when special forms exist, they are usually rather complicated. Numerical instability and branch cuts can bite you. But algebraicRoot
objects are well behaved, and with a little "pretty please" through functions likeRootReduce
can be manipulated as the perfectly well-defined numbers they are. $\endgroup$Root
in terms of trig. $\endgroup$