Structure Operations

Contents

Related Structures

The main structure related to a polynomial ring is its coefficient ring. Multivariate polynomial rings belong to the Magma category RngMPol.

Category(P) : RngMPol -> Cat
Parent(P) : RngMPol -> Pow
PrimeRing(P) : RngMPol -> Rng
BaseRing(P) : RngMPol -> Rng
CoefficientRing(P) : RngMPol -> Rng
Return the coefficient ring of polynomial ring P.

Numerical Invariants

Note that the # operator only returns a value for finite (quotients of) polynomial rings.

Characteristic(P) : RngMPol -> RngIntElt
#P : RngMPol -> RngIntElt
Rank(P) : RngMPol -> RngIntElt
Return the number of indeterminates of polynomial ring P over its coefficient ring.

Ring Predicates and Booleans

The usual ring functions returning Boolean values are available on polynomial rings.

IsCommutative(P) : RngMPol -> BoolElt
IsUnitary(P) : RngMPol -> BoolElt
IsFinite(P) : RngMPol -> BoolElt
IsOrdered(P) : RngMPol -> BoolElt
IsField(P) : RngMPol -> BoolElt
IsEuclideanDomain(P) : RngMPol -> BoolElt
IsPID(P) : RngMPol -> BoolElt
IsUFD(P) : RngMPol -> BoolElt
IsDivisionRing(P) : RngMPol -> BoolElt
IsEuclideanRing(P) : RngMPol -> BoolElt
IsDomain(P) : RngMPol -> BoolElt
IsPrincipalIdealRing(P) : RngMPol -> BoolElt
P eq Q : RngMPol, RngMPol -> BoolElt
P ne Q : RngMPol, RngMPol -> BoolElt

Changing Coefficient Ring

The ChangeRing function enables the changing of the coefficient ring of a polynomial ring.

ChangeRing(P, S) : RngMPol, Rng -> RngMPol
Given a polynomial ring P=R[x1, ..., xn] of rank n with coefficient ring R, together with a ring S, construct the polynomial ring Q=S[x1, ..., xn]. It is necessary that all elements of the old coefficient ring R can be automatically coerced into the new coefficient ring S.

Homomorphisms

In its general form, a ring homomorphism taking a polynomial ring R[x1, ..., xn] as domain requires n + 1 pieces of information, namely, a map (homomorphism) telling how to map the coefficient ring R together with the images of the n indeterminates.

hom< P -> S | f, y1, ..., yn > : RngMPol, Rng -> Map
hom< P -> S | y1, ..., yn > : RngMPol, Rng -> Map
Given a polynomial ring P=R[x1, ..., xn], a ring S, a map f : R -> S and n elements y1, ..., yn∈S, create the homomorphism g : P -> S by applying the rules that g(rx1a1 ... xnan)=f(r)y1a1 ... ynan for monomials and linearity, that is, g(M + N)=g(M) + g(N).

The coefficient ring map may be omitted, in which case the coefficients are mapped into S by the unitary homomorphism sending 1R to 1S. Also, the images yi are allowed to be from a structure that allows automatic coercion into S.

Example RngMPol_Homomorphism (H25E3)

In this example we map Q[x, y] into the number field Q(root 3 of 2, Sqrt(5)) by sending x to root 3 of 2 and y to Sqrt(5) and the identity map on the coefficients (which we omit).
> Q := RationalField();
> R<x, y> := PolynomialRing(Q, 2);
> A<a> := PolynomialRing(IntegerRing());
> N<z, w> := NumberField([a^3-2, a^2+5]);
> h := hom< R -> N | z, w >;
> h(x^11*y^3-x+4/5*y-13/4);
-40*w*z^2 - z + 4/5*w - 13/4
V2.28, 13 July 2023