CGAL 6.1.1 - Algebraic Foundations

Loading...
Searching...
No Matches
Classes
Concepts
Reference Manual

##

## Concepts
concept | AlgebraicStructureTraits_::Div
| `AdaptableBinaryFunction` computes the integral quotient of division with remainder. More...
concept | AlgebraicStructureTraits_::Divides
| `AdaptableBinaryFunction`, returns true if the first argument divides the second argument. More...
concept | AlgebraicStructureTraits_::DivMod
| `AdaptableFunctor` computes both integral quotient and remainder of division with remainder. The quotient \( q\) and remainder \( r\) are computed such that \( x = q*y + r\) and \( |r| < |y|\) with respect to the proper integer norm of the represented ring. For integers this norm is the absolute value. For univariate polynomials this norm is the degree. In particular, \( r\) is chosen to be \( 0\) if possible. Moreover, we require \( q\) to be minimized with respect to the proper integer norm. More...
concept | AlgebraicStructureTraits_::Gcd
| `AdaptableBinaryFunction` providing the gcd. More...
concept | AlgebraicStructureTraits_::IntegralDivision
| `AdaptableBinaryFunction` providing an integral division. More...
concept | AlgebraicStructureTraits_::Inverse
| `AdaptableUnaryFunction` providing the inverse element with respect to multiplication of a `Field`. More...
concept | AlgebraicStructureTraits_::IsOne
| `AdaptableUnaryFunction`, returns true in case the argument is the one of the ring. More...
concept | AlgebraicStructureTraits_::IsSquare
| `AdaptableBinaryFunction` that computes whether the first argument is a square. If the first argument is a square the second argument, which is taken by reference, contains the square root. Otherwise, the content of the second argument is undefined. More...
concept | AlgebraicStructureTraits_::IsZero
| `AdaptableUnaryFunction`, returns true in case the argument is the zero element of the ring. More...
concept | AlgebraicStructureTraits_::KthRoot
| `AdaptableBinaryFunction` providing the k-th root. More...
concept | AlgebraicStructureTraits_::Mod
| `AdaptableBinaryFunction` computes the remainder of division with remainder. More...
concept | AlgebraicStructureTraits_::RootOf
| `AdaptableFunctor` computes a real root of a square-free univariate polynomial. More...
concept | AlgebraicStructureTraits_::Simplify
| This `AdaptableUnaryFunction` may simplify a given object. More...
concept | AlgebraicStructureTraits_::Sqrt
| `AdaptableUnaryFunction` providing the square root. More...
concept | AlgebraicStructureTraits_::Square
| `AdaptableUnaryFunction`, computing the square of the argument. More...
concept | AlgebraicStructureTraits_::UnitPart
| This `AdaptableUnaryFunction` computes the unit part of a given ring element. More...
concept | AlgebraicStructureTraits
| A model of `AlgebraicStructureTraits` reflects the algebraic structure of an associated type `Type`. More...
concept | EuclideanRing
| A model of `EuclideanRing` represents a Euclidean ring (or Euclidean domain). It is an `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. More...
concept | ExplicitInteroperable
| Two types `A` and `B` are a model of the `ExplicitInteroperable` concept, if it is possible to derive a superior type for `A` and `B`, such that both types are embeddable into this type. This type is `CGAL::Coercion_traits<A,B>::Type`. More...
concept | Field
| A model of `Field` is an `IntegralDomain` in which every non-zero element has a multiplicative inverse. Thus, one can divide by any non-zero element. Hence division is defined for any divisor != 0. For a Field, we require this division operation to be available through operators / and /=. More...
concept | FieldNumberType
| The concept `FieldNumberType` combines the requirements of the concepts `Field` and `RealEmbeddable`. A model of `FieldNumberType` can be used as a template parameter for Cartesian kernels. More...
concept | FieldWithKthRoot
| A model of `FieldWithKthRoot` is a `FieldWithSqrt` that has operations to take k-th roots. More...
concept | FieldWithRootOf
| A model of `FieldWithRootOf` is a `FieldWithKthRoot` with the possibility to construct it as the root of a univariate polynomial. More...
concept | FieldWithSqrt
| A model of `FieldWithSqrt` is a `Field` that has operations to take square roots. More...
concept | Fraction
| A type is considered as a `Fraction`, if there is a reasonable way to decompose it into a numerator and denominator. In this case the relevant functionality for decomposing and re-composing as well as the numerator and denominator type are provided by `CGAL::Fraction_traits`. More...
concept | FractionTraits
| A model of `FractionTraits` is associated with a type `Type`. More...
concept | FractionTraits_::Decompose
| Functor decomposing a `Fraction` into its numerator and denominator. More...
concept | FractionTraits_::Compose
| `AdaptableBinaryFunction`, returns the fraction of its arguments. More...
concept | FractionTraits_::CommonFactor
| `AdaptableBinaryFunction`, finds great common factor of denominators. More...
concept | FromDoubleConstructible
| A model of the concept `FromDoubleConstructible` is required to be constructible from the type `double`. More...
concept | FromIntConstructible
| A model of the concept `FromIntConstructible` is required to be constructible from int. More...
concept | ImplicitInteroperable
| Two types `A` and `B` are a model of the concept `ImplicitInteroperable`, if there is a superior type, such that binary arithmetic operations involving `A` and `B` result in this type. This type is `CGAL::Coercion_traits<A,B>::Type`. In case types are `RealEmbeddable` this also implies that mixed compare operators are available. More...
concept | IntegralDomain
| `IntegralDomain` refines `IntegralDomainWithoutDivision` by providing an integral division. More...
concept | IntegralDomainWithoutDivision
| This is the most basic concept for algebraic structures considered within CGAL. More...
concept | RealEmbeddable
| A model of this concepts represents numbers that are embeddable on the real axis. The type obeys the algebraic structure and compares two values according to the total order of the real numbers. More...
concept | RealEmbeddableTraits_::Abs
| `AdaptableUnaryFunction` computes the absolute value of a number. More...
concept | RealEmbeddableTraits_::Compare
| `AdaptableBinaryFunction` compares two real embeddable numbers. More...
concept | RealEmbeddableTraits_::IsNegative
| `AdaptableUnaryFunction`, returns true in case the argument is negative. More...
concept | RealEmbeddableTraits_::IsPositive
| `AdaptableUnaryFunction`, returns true in case the argument is positive. More...
concept | RealEmbeddableTraits_::IsZero
| `AdaptableUnaryFunction`, returns true in case the argument is 0. More...
concept | RealEmbeddableTraits_::Sgn
| This `AdaptableUnaryFunction` computes the sign of a real embeddable number. More...
concept | RealEmbeddableTraits_::ToDouble
| `AdaptableUnaryFunction` computes a double approximation of a real embeddable number. More...
concept | RealEmbeddableTraits_::ToInterval
| `AdaptableUnaryFunction` computes for a given real embeddable number \( x\) a double interval containing \( x\). This interval is represented by `std::pair<double,double>`. More...
concept | RealEmbeddableTraits
| A model of `RealEmbeddableTraits` is associated to a number type `Type` and reflects the properties of this type with respect to the concept `RealEmbeddable`. More...
concept | RingNumberType
| The concept `RingNumberType` combines the requirements of the concepts `IntegralDomainWithoutDivision` and `RealEmbeddable`. A model of `RingNumberType` can be used as a template parameter for homogeneous kernels. More...
concept | UniqueFactorizationDomain
| A model of `UniqueFactorizationDomain` is an `IntegralDomain` with the additional property that the ring it represents is a unique factorization domain (a.k.a. UFD or factorial ring), meaning that every non-zero non-unit element has a factorization into irreducible elements that is unique up to order and up to multiplication by invertible elements (units). (An irreducible element is a non-unit ring element that cannot be factored further into two non-unit elements. In a UFD, the irreducible elements are precisely the prime elements.) More...