# RationalUnivariateRepresentationPackage(R, ls)ΒΆ

- R: Join(EuclideanDomain, CharacteristicZero)
- ls: List Symbol

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)`