Element Operations#

See also Section Generic Element Functions.

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: Create (ex-6cf97d)#

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
]

Run in calculator

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.