sturm - Maple Help

sturm

number of real roots of a polynomial in an interval

sturmseq

Sturm sequence of a polynomial

 Calling Sequence sturmseq(p, x) sturm(s, x, a, b)

Parameters

 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\le b$; a can be $-\mathrm{\infty }$ and b can be $\mathrm{\infty }$

Description

 • 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 $\mathrm{\infty }$).
 • 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.

Examples

 > $s≔\mathrm{sturmseq}\left(\mathrm{expand}\left(\left(x-1\right)\left(x-2\right)\left(x-3\right)\right),x\right)$
 ${s}{≔}\left[{{x}}^{{3}}{-}{6}{}{{x}}^{{2}}{+}{11}{}{x}{-}{6}{,}{{x}}^{{2}}{-}{4}{}{x}{+}\frac{{11}}{{3}}{,}{x}{-}{2}{,}{1}\right]$ (1)
 > $\mathrm{sturm}\left(s,x,\frac{3}{2},4\right)$
 ${2}$ (2)
 > $\mathrm{sturm}\left(s,x,1,2\right)$
 ${1}$ (3)
 > $\mathrm{sturm}\left(s,x,-\mathrm{\infty },\mathrm{\infty }\right)$
 ${3}$ (4)
 > $\mathrm{sturmseq}\left({x}^{3}-\mathrm{sqrt}\left(2\right)x+1,x\right)$
 $\left[{{x}}^{{3}}{-}\sqrt{{2}}{}{x}{+}{1}{,}{{x}}^{{2}}{-}\frac{\sqrt{{2}}}{{3}}{,}{x}{-}\frac{{3}{}\sqrt{{2}}}{{4}}{,}{-1}\right]$ (5)

Compatibility

 • The sturm and sturmseq commands were updated in Maple 2018.
 • The p and a parameters were updated in Maple 2018.