RationalUnivariateRepresentationPackage(R, ls)ΒΆ

zerodim.spad line 519 [edit on github]

A package for computing the rational univariate representation of a zero-dimensional algebraic variety given by a regular triangular set. This package is essentially an interface for the InternalRationalUnivariateRepresentationPackage constructor. It is used in the ZeroDimensionalSolvePackage for solving polynomial systems with finitely many solutions.

rur: (List Polynomial R, Boolean) -> List Record(complexRoots: SparseUnivariatePolynomial R, coordinates: List Polynomial R)

rur(lp, univ?) returns a rational univariate representation of lp. This assumes that lp defines a regular triangular ts whose associated variety is zero-dimensional over R. rur(lp, univ?) returns a list of items [u, lc] where u is an irreducible univariate polynomial and each c in lc involves two variables: one from ls, called the coordinate of c, and an extra variable which represents any root of u. Every root of u leads to a tuple of values for the coordinates of lc. Moreover, a point x belongs to the variety associated with lp iff there exists an item [u, lc] in rur(lp, univ?) and a root r of u such that x is given by the tuple of values for the coordinates of lc evaluated at r. If univ? is true then each polynomial c will have a constant leading coefficient w.r.t. its coordinate. See the example which illustrates the ZeroDimensionalSolvePackage package constructor.

rur: (List Polynomial R, Boolean, Boolean) -> List Record(complexRoots: SparseUnivariatePolynomial R, coordinates: List Polynomial R)

rur(lp, univ?, check?) returns the same as rur(lp, true). Moreover, if check? is true then the result is checked.

rur: List Polynomial R -> List Record(complexRoots: SparseUnivariatePolynomial R, coordinates: List Polynomial R)

rur(lp) returns the same as rur(lp, true)