\( \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 - Polynomial

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Polynomial_d Concept Reference
Concepts

## Definition

A model of `Polynomial_d` is representing a multivariate polynomial in \( d \geq 1\) variables over some basic ring \( R\). This type is denoted as the innermost coefficient. A model of `Polynomial_d` must be accompanied by a traits class `CGAL::Polynomial_traits_d<Polynomial_d>`, which is a model of `PolynomialTraits_d`. Please have a look at the concept `PolynomialTraits_d`, since nearly all functionality related to polynomials is provided by the traits.

Refines:
  `IntegralDomainWithoutDivision`

The algebraic structure of `Polynomial_d` depends on the algebraic structure of `PolynomialTraits_d::Innermost_coefficient_type`:

Innermost_coefficient_type | Polynomial_d
--- | ---
IntegralDomainWithoutDivision | IntegralDomainWithoutDivision
IntegralDomain | IntegralDomain
UniqueFactorizationDomain | UniqueFactorizationDomain
EuclideanRing | UniqueFactorizationDomain
Field | UniqueFactorizationDomain

Note
  In case the polynomial is univariate and the innermost coefficient is a `Field` the polynomial is model of `EuclideanRing`.

See Also
  `AlgebraicStructureTraits`
  `PolynomialTraits_d`

Has Models:
  `CGAL::Polynomial<Coeff>`