mirror of https://github.com/CGAL/cgal
69 lines
2.1 KiB
TeX
69 lines
2.1 KiB
TeX
\begin{ccRefConcept}{EuclideanRing}
|
|
|
|
|
|
\ccDefinition
|
|
|
|
A model of \ccc{EuclideanRing} represents an euclidean ring (or Euclidean domain).
|
|
It is an \ccc{UniqueFactorizationDomain} that affords a suitable notion of minimality of remainders
|
|
such that given $x$ and $y \neq 0$ we obtain an (almost) unique solution to
|
|
$ x = qy + r $ by demanding that a solution $(q,r)$ is chosen to minimize $r$.
|
|
In particular, $r$ is chosen to be $0$ if possible.
|
|
|
|
Moreover, \ccc{CGAL::Algebraic_structure_traits< EuclideanRing >} is a model of
|
|
\ccc{AlgebraicStructureTraits} providing:\\
|
|
|
|
- \ccc{CGAL::Algebraic_structure_traits< EuclideanRing >::Algebraic_type} derived from \ccc{Unique_factorization_domain_tag} \\
|
|
- \ccc{CGAL::Algebraic_structure_traits< EuclideanRing >::Mod} \\
|
|
- \ccc{CGAL::Algebraic_structure_traits< EuclideanRing >::Div} \\
|
|
- \ccc{CGAL::Algebraic_structure_traits< EuclideanRing >::Div_mod}\\
|
|
|
|
|
|
|
|
|
|
\ccHeading{Remarks}
|
|
|
|
The most prominent example of a Euclidean ring are the integers.
|
|
Whenever both $x$ and $y$ are positive, then it is conventional to choose
|
|
the smallest positive remainder $r$.
|
|
|
|
|
|
%Another important example of a Euclidean ring are univariate polynomials over a field.
|
|
%Here the degree of $r$ is to be minimized. There is no remaining ambiguity.
|
|
|
|
%Any Euclidean ring is necessarily a \ccc{UniqueFactorizationDomain}, and the ability to take remainders allows
|
|
%to use the Euclidean Algorithm to compute gcds.
|
|
|
|
\ccRefines
|
|
\ccc{UniqueFactorizationDomain}
|
|
|
|
\ccSeeAlso
|
|
|
|
\ccRefIdfierPage{IntegralDomainWithoutDivision}\\
|
|
\ccRefIdfierPage{IntegralDomain}\\
|
|
\ccRefIdfierPage{UniqueFactorizationDomain}\\
|
|
\ccRefIdfierPage{EuclideanRing}\\
|
|
\ccRefIdfierPage{Field}\\
|
|
\ccRefIdfierPage{FieldWithSqrt}\\
|
|
\ccRefIdfierPage{FieldWithKthRoot}\\
|
|
\ccRefIdfierPage{FieldWithRootOf}\\
|
|
\ccRefIdfierPage{AlgebraicStructureTraits}\\
|
|
|
|
%\ccHasModels
|
|
%\ccc{int}\\
|
|
%\ccc{long}\\
|
|
|
|
%\ccc{CGAL::Gmpz} \\
|
|
%\ccc{CGAL::Gmpzf} \\
|
|
|
|
%\ccc{mpz_class} \\
|
|
|
|
%\ccc{leda_integer} \\
|
|
|
|
%\ccc{CORE::BigInt} \\
|
|
|
|
%\ccc{CGAL::MP_Float} ( exact version )\\
|
|
%\ccc{CGAL::Lazy_exact_nt< NT > } (depends on NT) \\
|
|
|
|
%%\ccc{CGAL::Polynomial< T >} \\
|
|
|
|
\end{ccRefConcept} |