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

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
List of all members
PolynomialTraits_d::GcdUpToConstantFactor Concept Reference
Concepts

## Definition

This `AdaptableBinaryFunction` computes the \( gcd\) up to a constant factor (utcf) of two polynomials of type `PolynomialTraits_d::Polynomial_d`.

In case the base ring \( R\) (`PolynomialTraits_d::Innermost_coefficient_type`) is not a `UniqueFactorizationDomain` or not a `Field` the polynomial ring \( R[x_0,\dots,x_{d-1}]\) (`PolynomialTraits_d::Polynomial_d`) may not possesses greatest common divisors. However, since \( R\) is an integral domain one can consider its quotient field \( Q(R)\) for which \( gcd\)s of polynomials exist.

This functor computes \( gcd\_utcf(f,g) = D * gcd(f,g)\), for some \( D \in R\) such that \( gcd\_utcf(f,g) \in R[x_0,\dots,x_{d-1}]\). Hence, \( gcd\_utcf(f,g)\) may not be a divisor of \( f\) and \( g\) in \( R[x_0,\dots,x_{d-1}]\).

Refines:

  `AdaptableBinaryFunction`

  `CopyConstructible`

  `DefaultConstructible`

See Also
  `Polynomial_d`
  `PolynomialTraits_d`
  `PolynomialTraits_d::IntegralDivisionUpToConstantFactor`
  `PolynomialTraits_d::UnivariateContentUpToConstantFactor`
  `PolynomialTraits_d::SquareFreeFactorizeUpToConstantFactor`

## Types
typedef PolynomialTraits_d::Polynomial_d | result_type
typedef PolynomialTraits_d::Polynomial_d | first_argument_type
typedef PolynomialTraits_d::Polynomial_d | second_argument_type

## Operations
result_type | operator() (first_argument_type f, second_argument_type g)
| Computes \( gcd(f,g)\) up to a constant factor.