\( \newcommand{\E}{\mathrm{E}} \) \( \newcommand{\A}{\mathrm{A}} \) \( \newcommand{\R}{\mathrm{R}} \) \( \newcommand{\N}{\mathrm{N}} \) \( \newcommand{\Q}{\mathrm{Q}} \) \( \newcommand{\Z}{\mathrm{Z}} \) \( \def\ccSum #1#2#3{ \sum_{#1}^{#2}{#3} } \def\ccProd #1#2#3{ \sum_{#1}^{#2}{#3} }\)

CGAL 4.8 - Modular Arithmetic

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Class and Concept List
Here is the list of all concepts and classes of this package. Classes are inside the namespace CGAL. Concepts are in the global namespace.
[detail level 1 2]

CGAL |
Modular_traits | An instance of `Modular_traits` is a model of `ModularTraits`, where T is the associated type
Residue | The class `Residue` represents a finite field \( \mathbb{Z}{/p\mathbb{Z}}\), for some prime number \( p\)
Modularizable | An algebraic structure is called `Modularizable`, if there is a suitable mapping into an algebraic structure which is based on the type `CGAL::Residue`. For scalar types, e.g. Integers, this mapping is just the canonical homomorphism into the type `CGAL::Residue` with respect to the current prime. For compound types, e.g. Polynomials, the mapping is applied to the coefficients of the compound type
ModularTraits | A model of `ModularTraits` is associated to a specific `Type`. In case this associated type is a model of `Modularizable`, this is indicated by the Boolean tag `ModularTraits::Is_modularizable`. The mapping into the `Residue_type` is provided by the functor `ModularTraits::Modular_image`
ModularImage | This `AdaptableUnaryFunction` computes the modular image of the given value with respect to a homomorphism \( \varphi\) from the `ModularTraits::Type` into the `ModularTraits::Residue_type`
ModularImageRepresentative | This `AdaptableUnaryFunction` returns a representative in the original type of a given modular image. More precisely, it implements the right inverse of a proper restriction of the homomorphism \( \varphi\), which is implemented by `ModularTraits::ModularImage`