5.29 Ring Records

A ring R is represented by a record with the following entries.

isDomain:

is of course always the value true.

isRing:

is of course always the value true.

isCommutativeRing:

is true if the multiplication is known to be commutative, false if the multiplication is known to be noncommutative, and unbound otherwise.

isIntegralRing:

is true if R is known to be a commutative domain with 1 without zero divisor, false if R is known to lack one of these properties, and unbound otherwise.

isUniqueFactorizationRing:

is true if R is known to be a domain with unique factorization into primes, false if R is known to have a nonunique factorization, and unbound otherwise.

isEuclideanRing:

is true if R is known to be a Euclidean domain, false if it is known not to be a Euclidean domain, and unbound otherwise.

zero:

is the additive neutral element.

units:

is the list of units of the ring if it is known.

size:

is the size of the ring if it is known. If the ring is not finite this is the string "infinity".

one:

is the multiplicative neutral element, if the ring has one.

integralBase:

if the ring is, as additive group, isomorphic to the direct product of a finite number of copies of Z this contains a base.

As an example of a ring record, here is the definition of the ring record Integers.

    rec(

# category components isDomain := true, isRing := true,

# identity components generators := [ 1 ], zero := 0, one := 1, name := "Integers",

# knowledge components size := "infinity", isFinite := false, isCommutativeRing := true, isIntegralRing := true, isUniqueFactorizationRing := true, isEuclideanRing := true, units := [ -1, 1 ],

# operations record operations := rec( ... IsPrime := function ( Integers, n ) return IsPrimeInt( n ); end, ... 'mod' := function ( Integers, n, m ) return n mod m; end, ... ) )

Previous Up Top
Index

GAP 3.4.4
April 1997