Calculates the number of zeros of a given real polynomial in a real interval without determining of the values of these zeros. Details
![]() |
start is the leftmost point of the interval. The default is 0.0. |
![]() |
end is the rightmost point of the interval. The default is 0.0. |
![]() |
Polynomial is an array representing the polynomial under investigation. The first element of this array relates to the constant coefficient of the Polynomial. |
![]() |
number of zeroes is the exact number of zeros of the Polynomial in the interval (start,end). |
![]() |
error When start > end, the application interprets it as an error. |
The Sturm algorithm deals with two situations. Let p(x) be a real polynomial in x, and let p'(x) be the derivative of p(x). If d(x) denotes the greatest common divisor of p(x) and p'(x),
so p(x) has multiple zeros, if and only if d(x) is a nonconstant polynomial. In other words, the polynomial p(x)/d(x) has only single zeros.
Repeating this idea, you can combine the given polynomial p(x) as the product of simple polynomials, each of them with single real zeros. The number of zeros of p(x) is equal to the sum of all zeros of the defined simple polynomials having only single zeros.
To determine the number of zeros of a real polynomial p(x) with the single zero property, use the following Euclidean Algorithm.
The Sturm's chain
determines two values W(start) and W(end). W(x) is the number of sign changes of the chain
The number of all zeros of p(x) is exactly equal to W(end)W(start).
![]() | Note The algorithm makes extensive use of polynomial operations like multiplication, division, and greatest common divisor (gcd). You can select these subVIs and reuse them in your own projects. If you are interested in all real zeros of a real polynomial, the choices start = ![]() and end = ![]() denotes the coefficients are sufficient to determine this number. |