IsUniqueFactorizationRing( R )
IsUniqueFactorizationRing
returns true
if R is a unique
factorization ring and false
otherwise.
A ring R is called a unique factorization ring if it is an integral ring, and every element has a unique factorization into irreducible elements, i.e., a unique representation as product of irreducibles (see IsIrreducible). Unique in this context means unique up to permutations of the factors and up to multiplication of the factors by units (see Units).
gap> IsUniqueFactorizationRing( Integers ); true
IsUniqueFactorizationRing
tests whether R.isUniqueFactorizationRing
is bound. If the flag is bound, it returns this value. If this flag has
no assigned value it calls the function
R.operations.IsUniqueFactorizationRing( R )
, remembers the returned
value in R.isUniqueFactorizationRing
, and returns it.
The default function called this way is
RingOps.IsUniqueFactorizationRing
, which just signals an error, since
there is no generic method to test whether a ring is a unique
factorization ring. Special categories of rings thus must either have
the flag bound or overlay this default function.
GAP 3.4.4