
Calling Sequence


PolynomialRing(X)
PolynomialRing(X, U)
PolynomialRing(X, p)
PolynomialRing(X, U, p)


Parameters


X



list of variables by decreasing order

U



set of parameters (optional)

p



positive prime integer (optional)





Description


•

The function call PolynomialRing(X,U,p) creates a data structure representing the ring $R$ of polynomials with variables in X and coefficients in the field K defined as follows. If $p=0$ then K is the field of rational functions with variables in U and with coefficients in the field $Q$ of rational numbers. If $p\ne 0$ then it must be a prime and K is the field of rational functions with variables in U and with coefficients in the prime field ${F}_{p}$ of characteristic $p$. If U is empty, then K is simply $Q$ or ${F}_{p}$ depending whether $p$ is zero or not.

•

If U is omitted, then U is assumed to be the empty set.

•

If p is omitted, then p is assumed to be $0$.

•

The elements of R are multivariate polynomials with multivariate rational functions as coefficients. However, internally, the RegularChains package clears up denominators as often as possible. This is why the results provided by the RegularChains package are generally polynomials without any fractions. But this is not always possible. For instance, the operation NormalForm often needs to introduce fractions in its results.

•

In the description of all the other functions of the RegularChains library, we shall call a polynomial ring the output of a function call to PolynomialRing.

•

In the polynomial ring returned by PolynomialRing(X,U,p) the elements of X are called the variables, those of U are the parameters and p is called the characteristic.

•

Typically, but not always, the variables are the unknowns of some system of equations, inequations and inequalities. whereas the parameters do not satisfy any constraints.

•

The command DisplayPolynomialRing returns the contents of a polynomial_ring data structure, that is, its list of variables, its list of parameters and its characteristic.

•

This command is part of the RegularChains package, so it can be used in the form PolynomialRing(..) only after executing the command with(RegularChains). However, it can always be accessed through the long form of the command by using RegularChains[PolynomialRing](..).



Examples


>

R := PolynomialRing([x, y, z]);

${R}{\u2254}{\mathrm{polynomial\_ring}}$
 (1) 
>

DisplayPolynomialRing(R);

Variables : [x, y, z]
Parameters : {}
Characteristic : 0
 
>

R := PolynomialRing([x, y, z], 5);

${R}{\u2254}{\mathrm{polynomial\_ring}}$
 (2) 
>

DisplayPolynomialRing(R);

Variables : [x, y, z]
Parameters : {}
Characteristic : 5
 
>

R := PolynomialRing([x, y, z],{a, b, c});

${R}{\u2254}{\mathrm{polynomial\_ring}}$
 (3) 
>

DisplayPolynomialRing(R);

Variables : [x, y, z]
Parameters : {a, b, c}
Characteristic : 0
 
>

R := PolynomialRing([x, y, z],{a, b, c}, 5);

${R}{\u2254}{\mathrm{polynomial\_ring}}$
 (4) 
>

DisplayPolynomialRing(R);

Variables : [x, y, z]
Parameters : {a, b, c}
Characteristic : 5
 


