next | previous | forward | backward | up | top | index | toc | Macaulay2 website
RealRoots :: BudanFourierBound(RingElement,Number,Number)

BudanFourierBound(RingElement,Number,Number)

Synopsis

Description

This computes a sharp upper bound for the number of real roots of a univariate polynomial f from a to b. If interval is not specified, it computes a bound for the real roots of the function from negative infinity to infinity.

i1 : R = QQ[t]

o1 = R

o1 : PolynomialRing
i2 : f = 45 - 39*t - 34*t^2+38*t^3-11*t^4+t^5

      5      4      3      2
o2 = t  - 11t  + 38t  - 34t  - 39t + 45

o2 : R
i3 : BudanFourierBound(f)

o3 = 5
i4 : g = (t-4)*(t-1)^2*(t+1)*(t+3)*(t+5)*(t-6)

      7     6      5      4       3       2
o4 = t  - 3t  - 40t  + 86t  + 357t  - 443t  - 318t + 360

o4 : R
i5 : a = -6

o5 = -6
i6 : BudanFourierBound(g,a,infinity)

o6 = 7
i7 : BudanFourierBound(g,-1,5)

o7 = 3