I'm working on an algorithm to calculate all real roots of a quartic equation.
At the moment I have a solution using the method of Descartes and Vietas substitution. My approach is:
- Normalize quartic
- Convert to depressed quartic
- Decompose into quadratic factors $\rightarrow$ yields resolvent cubic
- Convert resolvent cubic to depressed cubic
- Solve the depressed cubic (which involves calculation of a cube root)
- Reverse further previous substitutions (which involves calculation of square roots)
At the moment I'm assuming that all variables are real. If a complex number would occur (e.g. while calculating the cube root or square roots) I'm neglecting the solution at further calculations. However, I'm not sure if there could be the possibility that one of my complex immediate results could lead to a real root of the quartic.
My question: Is this possible? Or in other words: Would it be necessary to also consider complex immediate results during the calculations?
If the answer would be yes, than my second question is: Is there (another) method that allows solving the quartic equation without the need for operating with complex numbers?
If the roots are irrational, there are cases where solution "by radicals" will inevitably involve complex numbers. However, complex numbers can be avoided by using trigonometric functions. See https://en.wikipedia.org/wiki/Casus_irreducibilis for details.
(Furthermore, it is always possible to find the real roots of a polynomial through successive approximation techniques. While this sounds like "cheating", in fact, irrational numbers, such as some radicals and trig values, are in fact found by successive approximation. The question is really whether one only allows certain "canned", or "well known", approximations such as roots and/or trig functions, or whether one also allows "custom" approximations.)