In abstract algebra, a

**Euclidean domain**(also called a

**Euclidean ring**) is a type of ring in which the Euclidean algorithm can be used.

More precisely, a Euclidean domain is an integral domain *D* for which can be defined a function *v* mapping nonzero elements of *D* to non-negative integers and possessing the following properties:

- For all nonzero
*a*and*b*in*D*,*v*(*ab*) ≥*v*(*a*). - If
*a*and*b*are in*D*and*b*is nonzero, then there are*q*and*r*in*D*such that*a*=*bq*+*r*and either*r*= 0 or*v*(*r*) <*v*(*b*).

*v*is variously called a

*gauge*,

*valuation*or

*norm*. Note that some authors define the function in an inequivalent way which nonetheless still gives the same class of rings.

Examples of Euclidean domains include:

**Z**, the ring of integers. Define*v*(*n*) = |*n*|, the absolute value of*n*.**Z**[*i*], the ring of Gaussian integers. Define*v*(*z*) = |*z*|^{2}.*K*[*X*], the ring of polynomials over a field*K*. For each nonzero polynomial*f*. Define*v*(*f*) to be the degree of*f*.*K*[[*X*]], the ring of formal power series over the field*K*. For each nonzero power series*f*, define*v*(*f*) as the degree of the smallest power of*X*occurring in*f*.- Any field. Define
*v*(*x*) = 1 for all nonzero*x*.

*I*is a nonzero ideal of a Euclidean domain

*D*and a nonzero

*a*in

*I*is chosen to minimize

*g*(

*a*), then

*I*=

*aD*.

The name comes from the fact that the extended Euclidean algorithm can be carried out in any Euclidean domain.