# SturmHabichtPackage(R, UP)¶

This package provides functions for counting real roots of univariate polynomials over an OrderedIntegralDomain.

countRealRoots: UP -> Integer

countRealRoots(p) says how many real roots p has

countRealRootsMultiple: UP -> Integer if R has GcdDomain

countRealRootsMultiple(p) says how many real roots p has, counted with multiplicity

SturmHabicht: (UP, UP) -> Integer

SturmHabicht(p1, p2) computes c_{+}-c_{-} where c_{+} is the number of real roots of p1 with p2>0 and c_{-} is the number of real roots of p1 with p2<0. If p2=1 what you get is the number of real roots of p1.

SturmHabichtCoefficients: (UP, UP) -> List R

SturmHabichtCoefficients(p1, p2) computes the principal Sturm-Habicht coefficients of p1 and p2

SturmHabichtMultiple: (UP, UP) -> Integer if R has GcdDomain

SturmHabichtMultiple(p1, p2) computes c_{+}-c_{-} where c_{+} is the number of real roots of p1 with p2>0 and c_{-} is the number of real roots of p1 with p2<0. If p2=1 what you get is the number of real roots of p1.

SturmHabichtSequence: (UP, UP) -> List UP

SturmHabichtSequence(p1, p2) computes the Sturm-Habicht sequence of p1 and p2