5.19 EuclideanDegree

EuclideanDegree( r )
EuclideanDegree( R, r )

In the first form EuclideanDegree returns the Euclidean degree of the ring element r in its default ring. In the second form EuclideanDegree returns the Euclidean degree of the ring element in the ring R. R must of course be an Euclidean ring (see IsEuclideanRing).

A ring R is called a Euclidean ring, if it is an integral ring, and there exists a function delta, called the Euclidean degree, from R-{0_R} to the nonnegative integers, such that for every pair r in R and s in R-{0_R} there exists an element q such that either r - q s = 0_R or delta(r - q s) < delta( s ). The existence of this division with remainder implies that the Euclidean algorithm can be applied to compute a greatest common divisors of two elements, which in turn implies that R is a unique factorization ring.

    gap> EuclideanDegree( Integers, 17 );
    17
    gap> EuclideanDegree( Integers, -17 );
    17 

EuclideanDegree calls R.operations.EuclideanDegree( R, r ) and returns the value.

The default function called this way is RingOps.EuclideanDegree, which justs signals an error, because there is no default way to compute the Euclidean degree of an element. Thus Euclidean rings must overlay this default function with other functions.

Previous Up Top Next
Index

GAP 3.4.4
April 1997