RealZeroPackage Pol¶
realzero.spad line 1 [edit on github]
This package provides functions for finding the real zeros of univariate polynomials over the integers to arbitrary user-specified precision. The results are returned as a list of isolating intervals which are expressed as records with “left” and “right” rational number components.
- midpoint: Record(left: Fraction Integer, right: Fraction Integer) -> Fraction Integer
midpoint(int)returns the midpoint of the intervalint.
- midpoints: List Record(left: Fraction Integer, right: Fraction Integer) -> List Fraction Integer
midpoints(isolist)returns the list of midpoints for the list of intervalsisolist.
- realZeros: (Pol, Fraction Integer) -> List Record(left: Fraction Integer, right: Fraction Integer)
realZeros(pol, eps)returns a list of intervals of length less than the rational number eps for all the real roots of the polynomialpol.
- realZeros: (Pol, Record(left: Fraction Integer, right: Fraction Integer)) -> List Record(left: Fraction Integer, right: Fraction Integer)
realZeros(pol, range)returns a list of isolating intervals for all the real zeros of the univariate polynomialpolwhich lie in the interval expressed by the record range.
- realZeros: (Pol, Record(left: Fraction Integer, right: Fraction Integer), Fraction Integer) -> List Record(left: Fraction Integer, right: Fraction Integer)
realZeros(pol, int, eps)returns a list of intervals of length less than the rational number eps for all the real roots of the polynomialpolwhich lie in the interval expressed by the recordint.
- realZeros: Pol -> List Record(left: Fraction Integer, right: Fraction Integer)
realZeros(pol)returns a list of isolating intervals for all the real zeros of the univariate polynomialpol.
- refine: (Pol, Record(left: Fraction Integer, right: Fraction Integer), Fraction Integer) -> Record(left: Fraction Integer, right: Fraction Integer)
refine(pol, int, eps)refines the intervalintcontaining exactly one root of the univariate polynomialpolto size less than the rational number eps.
- refine: (Pol, Record(left: Fraction Integer, right: Fraction Integer), Record(left: Fraction Integer, right: Fraction Integer)) -> Union(Record(left: Fraction Integer, right: Fraction Integer), failed)
refine(pol, int, range)takes a univariate polynomialpoland and isolating intervalintcontaining exactly one real root ofpol; the operation returns an isolating interval which is contained within range, or “failed” if no such isolating interval exists.