Element Operations

See also Section Generic Element Functions.

Contents

Arithmetic Operators

+ a : RngGalElt -> RngGalElt
- a : RngGalElt -> RngGalElt
a + b : RngGalElt, RngGalElt -> RngGalElt
a - b : RngGalElt, RngGalElt -> RngGalElt
a * b : RngGalElt, RngGalElt -> RngGalElt
a ^ k : RngGalElt, RngIntElt -> RngGalElt
a +:= b : RngGalElt, RngGalElt -> RngGalElt
a -:= b : RngGalElt, RngGalElt -> RngGalElt
a *:= b : RngGalElt, RngGalElt -> RngGalElt

Euclidean Operations

a div b : RngGalElt, RngGalElt -> RngGalElt
a mod b : RngGalElt, RngGalElt -> RngGalElt
Quotrem(a, b) : RngGalElt, RngGalElt -> RngGalElt
GCD(a, b) : RngGalElt, RngGalElt -> RngGalElt
LCM(a, b) : RngGalElt, RngGalElt -> RngGalElt
XGCD(a, b) : RngGalElt, RngGalElt -> RngGalElt, RngGalElt, RngGalElt

Equality and Membership

a eq b : RngGalElt, RngGalElt -> BoolElt
a ne b : RngGalElt, RngGalElt -> BoolElt
a in R : RngGalElt, Rng -> BoolElt
a notin R : RngGalElt, Rng -> BoolElt

Parent and Category

Parent(a) : RngGalElt -> RngGal
Category(a) : RngGalElt -> Cat

Predicates on Ring Elements

IsZero(a) : RngGalElt -> BoolElt
IsOne(a) : RngGalElt -> BoolElt
IsMinusOne(a) : RngGalElt -> BoolElt
IsNilpotent(a) : RngGalElt -> BoolElt
IsIdempotent(a) : RngGalElt -> BoolElt
IsUnit(a) : RngGalElt -> BoolElt
IsZeroDivisor(a) : RngGalElt -> BoolElt

Example RngGal_Create (H54E2)

This simple example shows how one can compute Gröbner bases over Galois rings. We create an ideal in 3 variables over a Galois ring and compute its Gröbner basis.
> R<w> := GaloisRing(3, 3, 2);
> #R;
729
> P<x,y,z> := PolynomialRing(R, 3);
> I := ideal<P | [x^2 - w*y, 3*y^3 - 3*w*x*z, 9*z^5 - 9*w]>;
> GroebnerBasis(I);
[
    x^2 + 26*w*y,
    3*x*y^3 + (6*w + 6)*y*z,
    3*x*z + (15*w + 3)*y^3,
    9*x + (9*w + 9)*y^3*z^4,
    3*y^6 + (21*w + 15)*y*z^2,
    9*z^5 + 18*w
]
Notice that the leading coefficients include 3 and 9, which are not units in the ring. See Chapter GRÖBNER BASES for much more information on such Gröbner bases.
V2.28, 13 July 2023