sturm
number of real roots of a polynomial in an interval
sturmseq
Sturm sequence of a polynomial
Calling Sequence
Parameters
Description
Examples
Compatibility
sturmseq(p, x)
sturm(s, x, a, b)
p
-
polynomial in x with rational, float, or real algebraic coefficients
x
variable in polynomial p
s
Sturm sequence for polynomial p
a, b
rationals, floats, or real algebraic numbers such that a≤b; a can be −∞ and b can be ∞
The procedure sturmseq computes a Sturm sequence for the polynomial p in x. It returns the Sturm sequence as a list of polynomials and replaces multiple roots with single roots.
The procedure sturm uses Sturm's theorem to return the number of real roots in the interval (a,b] of polynomial p in x. The first argument to sturm should be a Sturm sequence for p. This may be computed by sturmseq. Note: The interval excludes the lower endpoint a and includes the upper endpoint b (unless it is ∞).
While sturmseq uses some heuristics to detect zero when the input polynomial has floating point coefficients, the problem of computing the Sturm sequence is numerically ill-conditioned, so the result may be incorrect. Recomputing the input at a higher precision and increasing Digits, or converting all coefficients to rational numbers may help.
s≔sturmseq⁡expand⁡x−1⁢x−2⁢x−3,x
s≔x3−6⁢x2+11⁢x−6,x2−4⁢x+113,x−2,1
sturm⁡s,x,32,4
2
sturm⁡s,x,1,2
1
sturm⁡s,x,−∞,∞
3
sturmseq⁡x3−sqrt⁡2⁢x+1,x
x3−2⁢x+1,x2−23,x−3⁢24,−1
The sturm and sturmseq commands were updated in Maple 2018.
The p and a parameters were updated in Maple 2018.
See Also
realroot
RootFinding[Isolate]
roots
solve
Download Help Document