1. Introduction
Various methods have been developed to solve polynomial equations (e.g. [1] [2]) and many authors have presented techniques to estimate the bound of the roots and the number of the real roots of a polynomial (e.g. [3] - [9]). Starting with cubic equations, despite that formulas for the roots of the equations have existed for many years, using those formulas requires taking the roots of complex numbers repeatedly which introduces significant approximations into the results. Therefore, the efficient technique to solve cubic equations has been considered to be the use of numerical algorithms. A new method for solving cubic equations was introduced in 2016 [10] that did not require the roots of complex numbers, use of complicated formulas, or graphs. By using this method, the vicinity of a real root is initially identified and then the roots of the cubic equation are found efficiently even by hand calculation within minutes. The purpose of this paper is to introduce a new approach for solving polynomial equations of order 4 and higher. For solving quartic equations that have many applications in science and technology, two options are discussed. Both options are based on the recent method presented to solve cubic equations [10]. The first option can be used to find the roots of any quartic equation while the second option can be applied if the roots of the quartic equation are not all complex. By using these options, any quartic equation with real coefficients can be solved efficiently. This paper further presents a more general approach for solving higher order polynomial equations that can be programmed as an efficient algorithm on a computer. The proposed techniques rely on initially finding the vicinities of the individual roots and proceeding to finding the roots by using algebraic and/or iterative procedures. By estimating the vicinities of the individual roots, the methods are designed to be efficient and stable. Unlike many previous techniques, the presented methods do not involve the use of complicated formulas, roots of complex numbers, or graphs. This research is structured by finding efficient techniques to solve quartic equations and proceeds to development of a general method to solve high order polynomial equations. In the next section, the methods of solving quartic equations are discussed. The section is then followed by description of a method for solving polynomial equations of order 5 or higher. Examples of applications of the proposed techniques are presented to show the effectiveness of the methods.
2. Theory
2.1. Quartic Equations
Many techniques have been proposed for solving quartic equations (e.g. [11] [12] [13] [14] [15]). In this paper, two methods for solving quartic equations are described. In the first method, the quartic equation is reduced to a cubic as first described by Descartes [16], and then the cubic equation is solved by using the method discussed in [10]. In the second method, the single variable quartic equation is differentiated and the resulting cubic equation is solved by using the method in [10]. Then the roots of the quartic equation are found by using the roots of the derivative cubic equation. The two methods are described as follows.
2.1.1. Method #1 for Solving Quartic Equations
A quartic equation can be written as:
(1)
If
, the above equation can be expressed in terms of z as a depressed quartic equation:
(2)
where:
Equation (2) can be factored into two quadratic equations as found originally by Descartes [16].
If R1 and R2 are two roots of this quartic equation:
If
and
, comparing this equation with Equation (2) yields:
and:
(3)
(4)
(5)
Rearranging Equations (3) and (4) and taking the resulting equations to power 2:
(6)
(7)
Subtracting Equation (7) from (6) and substituting qλ by c from Equation (5):
(8)
Multiplying this equation by γ2 yields:
(9)
If
, Equation (9) can be re-written as:
(10)
where:
The cubic Equation (10) has at least one real root t1. That root can be found by using the method described in [10]. That method is not described here for brevity. Since t = γ2, substituting t1 in Equation (3):
and q = c/λ from Equation (5). Therefore:
, hence:
(11)
which can be solved for λ.
After having found t1 and finding
:
These equations can be solved for R1 and R2 which are two roots of Equation (2). The remaining roots of that equation, R3, and R4, can be found by solving:
(12)
Then the roots of Equation (1) can be found by subtracting α1/4 from the values of the roots of f(z).
2.1.2. Method #2 for Solving Quartic Equations
This method can be used to solve quartic equations with real roots. The minimum and maximum points of the quartic function can be found by differentiating f(x) in Equation (1) with respect to x and setting the resulting equation to zero:
(13)
The roots of this cubic equation can be found by using the method described in [10]. The roots of f(x) can then be found based on the roots of g(x). However, the root types of f(x) need to be determined first.
1) Determining the root types
Theorem 1. The quartic equation with real coefficients f(x) has real roots if
.
Proof: If
, then at
,
f(x) is a continuous function of x on (−∞, +∞). Therefore, for an
,
and
where R denotes the set of real numbers.
Theorem 2. If
at its minimum points, f(x) has no real root.
Proof:
at its minimum points, and:
There fore,
for all
.
Theorem 3. If f(x) has one minimum point, xmin, and
, f(x) has two real roots.
Proof:
,
and:
Therefore for a continuous function, f(x), there is an
, and
, so that
, and there is an
, and
, so that
.
Theorem 4. If x1min, x2min, and x3max are three real roots of g(x) as denoted above, where
, and
at x1min, and at x2min, and
at x3max, all the roots of f(x) are real.
Proof:
,
, and
and
f(x) is a continuous function of x on (−∞, +∞).
Therefore,
there is an
, and
, so that
,
there is an
, and
, so that
,
there is an
, and
, so that
,
there is an
, and
, so that
.
Table 1 shows the conditions that need to be checked to determine the root types of f(x).
After determining the type of the roots of f(x), the general procedure of finding the real roots can be followed as explained below.
2) Procedure
a) If f(x) has two real roots:
i) If α4 > 0, one real root of f(x) is between a minimum point and x = 0. The point x = 0 and the minimum point can be chosen as an upper and a lower limit for the real root r1 respectively. Successive iterations can be used to find r1 in that vicinity. f(x) is then divided by (x − r1) and the procedure described in [10] can be used to find the remaining roots of the quartic equation.
ii) If α4 < 0, a line joining a minimum point to x = 0 can be formulated and the intersection of that line with the horizontal axis may be chosen as an upper limit of the root if f(x) is positive at that point. That point and the minimum point can be chosen as an upper and a lower limit of the real root r1 respectively. Successive iterations can be used to find r1 in that vicinity. f(x) will then be divided by (x − r1) and the procedure described in [10] can be used to find the remaining roots of the quartic equation.
b) If f(x) has four real roots:
iii) The maximum and the first minimum points can be chosen as an upper and a lower limit of one real root respectively. Successive iterations can be used to find that root. Similarly, the maximum and the second minimum point can be used as an upper and a lower limit for another real root. Successive iterations can be used to find that root. Then f(x) can be divided by
where r1 and r2 are the two determined real roots, and the remaining roots of the resulting quadratic equation can be found after the factorization.
2.2. Method for Solving High Order Polynomial Equations
An nth order single variable polynomial equation with real coefficients can be written as:
(14)
where
are real numbers.
If the order of the equation is odd, it is bound to have one or more real roots. If n is even and
, the polynomial has real roots. If n is even and
, the polynomial may or may not have real roots.
The value of f(x) can be found at 0, −1, and +1 to determine whether it has any roots at these points. If such roots are found, they can be separated by factorization. The value of f(x) can also be found in the close vicinity of −1 and +1 (e.g. at −1.1, −0.9, 0, +0.9, and +1.1, etc.) to see if there are sign changes in f(x). If there are, then successive iterations can be used to find a real root. Then by factorization that root can be separated, and focus can be made on roots whose magnitudes are considerably less than or greater than 1.
Then for a root r, two conditions can hold:
1) If
1
For a high order polynomial, if a root’s magnitude is significantly less than 1, as the order is increased, the polynomial will function as a subset of a Levi-Civita field [18]. By ignoring the high order terms of the polynomial:
(15)
Setting this equation to zero, its roots are:
(16)
where
and
, and in order for r to be real,
.
As a rough estimate, if the second order term in Equation (15) can be ignored,
.
Then it can be concluded that
should be less than 1.
If this condition holds, and
, the values of f(x) at the limits given by Equation (16) and also at
can be checked. If at two of the points, f(x) has opposite signs, a real root between the points can be found by successive iterations. If
, but
, the value of the first derivative of f(x),
can be found at (
), and a line formulated at this point with the slope at the point given by
. At the intersection of that line with the x-axis, f(x) can be checked. If f(x) at this point and f(x) at (
) have opposite signs, a real root between the two points can be found.
2) If
For a high order polynomial (n ≥ 5):
(17)
The non-zero roots of this equation are at:
(18)
where
and
, and in order for r to be real,
.
If the lowest order of n in Equation (17) is ignored, as a rough approximation,
which means that under the conditions,
should be greater than 1. If this condition holds and
, f(x) can be found at the limits given by Equation (18) and also at
. If f(x) at two of the points has opposite signs, a real root between the points can be found by successive iterations. If
, but
,
at
can be found and a line formulated at
with a slope given by
at that point. If the intersection of that line with the x-axis and the point
produce f(x) with opposite signs, a real root between the points can be found by successive iterations.
Procedure
The procedure of finding the real roots of an nth order single variable polynomial with real coefficients and n ≥ 5 can be summarized as follows:
· Consider:
·
.
· Determine f(x) at 0, −1, +1. If there is a root, separate it by factorization.
· Determine f(x) in the vicinity of
(e.g. −1.1, −0.9, +0.9, and +1.1). If there are sign changes in that region, use successive iterations between two points giving opposite signs for f(x) to find a real root and separate that root by factorization.
Is
?
· If so, calculate
.
· Is
?
· If
, find f(x) at:
·
.
· where
,
· Calculate f(x) at
.
· If at two of these points, f(x) has opposite signs, find a real root between those points by successive iterations (if
, use the points
, and
).
· If
, find
at (
) and call it m1. Then find:
·
.
·
.
·
.
· Find f(x2). If f(x1) and f(x2) have opposite signs, find a real root between the points by successive iterations and separate it by factorization.
Is
?
· If so, calculate
.
· Is
?
· If
, calculate f(x) at
.
· where
,
· Calculate f(x) at
.
· If f(x) at two of these points has opposite signs, find a real root between those points by successive iterations and separate it by factorization (if
, use −α1 and −α1/2 as two points).
· If
,
· Find
at
and call it m2.
·
.
·
.
·
.
· Calculate f(x4). If f(x3) and f(x4) have opposite signs, find a real root between x3 and x4 by successive iterations and separate it by factorization.
If
and
, focus should be made on finding roots in the vicinity of
2.
When after factorizations the order of the polynomial is reduced to 4, use the procedure described in the preceding section to find the remaining roots.
3. Examples
Example 1
Assume:
Therefore,
,
,
,
,
.
It is quickly determined that the polynomial does not have a root at −1, 0, and +1.
Limits of a root = [−α1 ± s2]/2 = −2.08, 10.08
Starting successive iterations with the points at 8 and 10.08 yields r = 10 after 7 iterations.
By factorization:
To find the roots of the quartic function f1(x), one of the methods of solving quartic equations that were described above can be used. If method #1 is used:
and
.
The roots of f1(z) are found at z = ±2.5 and the roots of f1(x) are found as:
Then by factorization:
Setting:
, yields:
Therefore, the roots of the 5th order polynomial f(x) are found at:
−3, 2, 10, and (−0.5 ± 1.936i).
Figure 1 shows a graphical representation of f(x).
Example 2
Assume:
Therefore:
,
,
,
,
,
.
It is determined that f(x) has no root at −1, 0, and 1.
Following the general procedure as described above:
The limits for a root are calculated as:
and:
A root of f(x) is found between 0.497 and 0.57 at r1 = 0.5 after 4 iterations.
Following the procedure to find the other roots:
Figure 1. A graph representing f(x) of example 1.
Limits of a root = [−α1 ± s2]/2 = −3.8, 6.3
The iterations can start with the points at 2.5 and 6.3. After 8 iterations, a root is found at r2 = 6.
By factorization:
The remaining roots are the roots of the quartic function:
Following the procedure of method #2 for solving quartic equations as described above, the roots of this quartic function are found at −4, 2, and (−1 ± 1.414i). Therefore the roots of the 6th order polynomial f(x) are found at: −4, 0.5, 2, 6 and (−1 ± 1.414i).
Figure 2 shows a graphical representation of f(x).
Example 3
Assume:
Therefore,
,
,
,
,
,
.
It can be seen that
, and
. Therefore, focus should be made on finding roots with magnitudes in the vicinity of 1. It can be determined that:
f(0) = −5.1, f(1) = 4.4, f(−1) = −2.2. Searching for a root between 0 and 1 results in finding.
r = 0.746 after 11 iterations. Dividing f(x) by (x − 0.746) yields (with three decimal place accuracy):
where:
It can be seen that for f1(x),
. Following the above procedure:
Figure 2. A graph representing f(x) of example 2.
, and
,
, and
, and
.
A real root of r = −1.108 can be found between −1, and −1.25 with three decimal place accuracy after 10 iterations. Therefore f(x) has two real roots so far with magnitudes in the vicinity of
. By factorizing f1(x):
where:
To find the roots of f2(x), the procedures described above for quartic equations can be used. By using method #2, the roots of the derivative function
need to be found. The real root of
is found after 7 iterations at x = 0.333 by using the method in [10]. However, it can be seen that f2(x) at this minimum point is positive (i.e. at 5.787). Therefore, it can be determined from Table 1 that f2(x) has no real roots. Therefore, method #1 should be used to find the roots of f2(x) which are all complex.
Following the procedure of method #1 for quartic equations to find the roots of f2(x):
Table 1. A list of conditions to check the type of the roots of a quartic equation.
Therefore:
where:
If
, where R1 and R2 are two roots of f2(z), the following cubic equation will result:
A real root of f(t) is found by using the procedure in [10] at t1 = 2.646 (with three decimal place accuracy) after 10 iterations.
Therefore:
For
.
If
, by using Equation (11):
The roots of this 2nd order equation are at λ = 1.831 and λ = 3.51.
Then:
and
yield:
Then by using Equation (12):
R3 and R4 are the roots of this equation as:
The roots of f2(x) can be found by subtracting 0.1095 from the roots of f2(z) at 0.7038 ± 1.08145i, and at −0.9228 ± 1.68776i. Therefore the roots of f(x) are found at: −1.108, 0.746, −0.9228 ± 1.68776i, and 0.7038 ± 1.08145i.
Figure 3 shows a graphical representation of f(x).
4. Discussion
Two methods for solving quartic equations that use a recently presented technique for solving cubic equations [10] are described. The 1st technique that combines the method in [10] with a technique originally developed by Descartes [16] can be used to solve quartic equations regardless of whether the roots are real or complex. The second presented method offers an efficient technique to solve quartic equations with real roots. The paper further describes a general technique for solving higher order polynomial equations and providing all the real roots of those equations. Each of the methods discussed in this paper combines the use of algebraic equations with some iterative procedures. The methods rely on initially establishing reasonable boundaries for the individual roots and unlike many previous techniques, none of them requires the use of complicated
Figure 3. A graph representing f(x) of example 3.
formulas, roots of complex numbers, or graphs. The examples presented show how the methods are applied and their efficiencies.
5. Conclusions
A number of methods have been presented in the literature and are used in practice to find the roots of polynomial equations with real coefficients. A new technique was recently presented to find the roots of cubic functions [10] which is simple and yet efficient enough to provide the roots of cubic equations within a short period of time even by hand calculation. This paper describes two methods for solving quartic equations and a more general technique for solving polynomial equations of degree 5 or higher. Unlike previous methods, none of the methods presented requires finding the roots of complex numbers, or utilizing complicated formulas and procedures or graphs. In these new techniques, emphasis is placed on initially finding the vicinities of the individual real roots and then finding those roots efficiently by using algebraic and/or iterative procedures.
The next phase of this research can focus on further investigation of the efficiency of the presented method for solving high order polynomial equations when some of the coefficients are much larger/smaller than other coefficients.
NOTES
1The number of the real roots for
may be found by using other techniques [17].
2In cases where some of the coefficients are very small compared with others, the terms associated with those small coefficients can be ignored in the estimation of the root vicinities. In those cases, focus can be made on the 1st three remaining terms with highest orders for roots with large magnitudes, and on the last three remaining terms with lowest orders for roots with magnitudes significantly less than 1.