\( \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.2 - Polynomial
 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 12]
oNCGAL
|oCExponent_vectorFor a given (multivariate) monomial the vector of its exponents is called the exponent vector
|oCPolynomialAn instance of the data type Polynomial represents a polynomial \( p = a_0 + a_1*x + ...a_i*x^i\) from the ring \( \mathrm{Coeff}[x]\)
|oCPolynomial_traits_dA model of concept PolynomialTraits_d
|\CPolynomial_type_generatorThis class template provides a convenient way to obtain the type representing a multivariate polynomial with d variables, where T is the innermost coefficient type
oCPolynomial_dA 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
\CPolynomialTraits_dA model of PolynomialTraits_d is associated with a type Polynomial_d. The type Polynomial_d represents a multivariate polynomial. The number of variables is denoted as the dimension \( d\) of the polynomial, it is arbitrary but fixed for a certain model of this concept. Note that univariate polynomials are not excluded by this concept. In this case \( d\) is just set to one
 oCCanonicalizeFor a given polynomial \( p\) this AdaptableUnaryFunction computes the unique representative of the set

\[ {\cal P} := \{ q\ |\ \lambda * q = p\ for\ some\ \lambda \in R \}, \]

where \( R\) is the base of the polynomial ring

 oCCompareThis AdaptableBinaryFunction compares two polynomials, with respect to the lexicographic order with preference to the outermost variable
 oCConstructCoefficientConstIteratorRangeThis AdaptableUnaryFunction returns a const iterator range over the coefficients of the given polynomial, with respect to the outermost variable, \( x_{d-1}\). The range starts with the coefficient for \( x_{d-1}^0\)
 oCConstructInnermostCoefficientConstIteratorRangeThis AdaptableUnaryFunction returns a const iterator range over all innermost coefficients of the given polynomial
 oCConstructPolynomialThis AdaptableFunctor provides several operators to construct objects of type PolynomialTraits_d::Polynomial_d
 oCDegreeThis AdaptableUnaryFunction computes the degree of a PolynomialTraits_d::Polynomial_d with respect to a certain variable
 oCDegreeVectorFor a given PolynomialTraits_d::Polynomial_d \( p\) this AdaptableUnaryFunction returns the degree vector, that is, it returns the exponent vector of the monomial of highest order in \( p\), where the monomial order is the lexicographic order giving outer variables a higher priority. In particular, this is the monomial that belongs to the innermost leading coefficient of \( p\)
 oCDifferentiateThis AdaptableUnaryFunction computes the derivative of a PolynomialTraits_d::Polynomial_d with respect to one variable
 oCEvaluateThis AdaptableBinaryFunction evaluates PolynomialTraits_d::Polynomial_d with respect to one variable
 oCEvaluateHomogeneousThis AdaptableFunctor provides evaluation of a PolynomialTraits_d::Polynomial_d interpreted as a homogeneous polynomial in one variable
 oCGcdUpToConstantFactorThis AdaptableBinaryFunction computes the \( gcd\) up to a constant factor (utcf) of two polynomials of type PolynomialTraits_d::Polynomial_d
 oCGetCoefficientThis AdaptableBinaryFunction provides access to coefficients of a PolynomialTraits_d::Polynomial_d
 oCGetInnermostCoefficientFor the given PolynomialTraits_d::Polynomial_d this AdaptableBinaryFunction returns the coefficient of the (multivariate) monomial specified by the given CGAL::Exponent_vector
 oCInnermostLeadingCoefficientThis AdaptableUnaryFunction computes the innermost leading coefficient of a PolynomialTraits_d::Polynomial_d \( p\). The innermost leading coefficient is recursively defined as the innermost leading coefficient of the leading coefficient of \( p\). In case \( p\) is univariate it coincides with the leading coefficient
 oCIntegralDivisionUpToConstantFactorThis AdaptableBinaryFunction computes the integral division of two polynomials of type PolynomialTraits_d::Polynomial_d up to a constant factor (utcf)
 oCInvertThis AdaptableUnaryFunction inverts one variable in a given PolynomialTraits_d::Polynomial_d, that is, for a given polynomial \( p\) it computes \( x^{degree(p)}p(1/x)\)
 oCIsSquareFreeThis AdaptableUnaryFunction computes whether the given a polynomial of type PolynomialTraits_d::Polynomial_d is square free
 oCIsZeroAtThis AdaptableFunctor returns whether a PolynomialTraits_d::Polynomial_d \( p\) is zero at a given Cartesian point, which is represented as an iterator range
 oCIsZeroAtHomogeneousThis AdaptableFunctor returns whether a PolynomialTraits_d::Polynomial_d \( p\) is zero at a given homogeneous point, which is given by an iterator range
 oCLeadingCoefficientThis AdaptableUnaryFunction computes the leading coefficient of a PolynomialTraits_d::Polynomial_d
 oCMakeSquareFreeThis AdaptableUnaryFunction computes the square-free part of a polynomial of type PolynomialTraits_d::Polynomial_d up to a constant factor
 oCMonomialRepresentationThis Functor outputs the monomial representation of the given polynomial, that is, it writes all non zero terms of the polynomial as std::pair<CGAL::Exponent_vector, PolynomialTraits_d::Innermost_coefficient_type> into the given output iterator
 oCMoveThis AdaptableFunctor moves a variable at position \( i\) to a new position \( j\). The relative order of the other variables is preserved, that is, the variables between \( x_i\) and \( x_j\) (including \( x_j\)) are moved by one position while \( x_i\) is moved to the former position of \( x_j\)
 oCMultivariateContentThis AdaptableUnaryFunction computes the content of a PolynomialTraits_d::Polynomial_d with respect to the symmetric view on the polynomial, that is, it computes the gcd of all innermost coefficients
 oCNegateThis AdaptableUnaryFunction computes \( p(-x)\) for a given polynomial \( p\)
 oCPermuteThis AdaptableFunctor permutes the variables of the given polynomial with respect to a permutation \( \sigma\), that is, each monomial \( \prod x_i^{e_i}\) will be mapped to the monomial \( \prod x_{\sigma(i)}^{e_i}\). The permutation \( \sigma\) is given by the iterator range of length PolynomialTraits_d::d, which is supposed to contain the second row of the permutation
 oCPolynomialSubresultantsNote: This functor is optional!
 oCPolynomialSubresultantsWithCofactorsNote: This functor is optional!
 oCPrincipalSturmHabichtSequenceNote: This functor is optional!
 oCPrincipalSubresultantsNote: This functor is optional!
 oCPseudoDivisionThis AdaptableFunctor computes the pseudo division of two polynomials \( f\) and \( g\)
 oCPseudoDivisionQuotientThis AdaptableBinaryFunction computes the quotient of the pseudo division of two polynomials \( f\) and \( g\)
 oCPseudoDivisionRemainderThis AdaptableBinaryFunction computes the remainder of the pseudo division of two polynomials \( f\) and \( g\)
 oCResultantThis AdaptableBinaryFunction computes the resultant of two polynomials \( f\) and \( g\) of type PolynomialTraits_d::Polynomial_d with respect to a certain variable
 oCScaleGiven a constant \( c\) this AdaptableBinaryFunction scales a PolynomialTraits_d::Polynomial_d \( p\) with respect to one variable, that is, it computes \( p(c\cdot x)\)
 oCScaleHomogeneousGiven a numerator \( a\) and a denominator \( b\) this AdaptableFunctor scales a PolynomialTraits_d::Polynomial_d \( p\) with respect to one variable, that is, it computes \( b^{degree(p)}\cdot p(a/b\cdot x)\)
 oCShiftThis AdaptableBinaryFunction multiplies a PolynomialTraits_d::Polynomial_d by the given power of the specified variable
 oCSignAtThis AdaptableFunctor returns the sign of a PolynomialTraits_d::Polynomial_d \( p\) at given Cartesian point represented as an iterator range
 oCSignAtHomogeneousThis AdaptableFunctor returns the sign of a PolynomialTraits_d::Polynomial_d \( p\) at a given homogeneous point, which is given by an iterator range
 oCSquareFreeFactorizeThis Functor computes a square-free factorization of a PolynomialTraits_d::Polynomial_d
 oCSquareFreeFactorizeUpToConstantFactorThis AdaptableFunctor computes a square-free factorization up to a constant factor (utcf) of a PolynomialTraits_d::Polynomial_d
 oCSturmHabichtSequenceNote: This functor is optional!
 oCSturmHabichtSequenceWithCofactorsNote: This functor is optional!
 oCSubstituteThis Functor substitutes all variables of a given multivariate PolynomialTraits_d::Polynomial_d by the values given in the iterator range, where begin refers the value for the innermost variable
 oCSubstituteHomogeneousThis Functor substitutes all variables of a given multivariate PolynomialTraits_d::Polynomial_d \( p\) by the values given in the iterator range, where begin refers the value for the innermost variable. In contrast to PolynomialTraits_d::Substitute the given polynomial \( p\) is interpreted as a homogeneous polynomial. Hence the iterator range is required to be of length PolynomialTraits_d::d+1
 oCSwapThis AdaptableFunctor swaps two variables of a multivariate polynomial
 oCTotalDegreeThis AdaptableUnaryFunction computes the total degree of a PolynomialTraits_d::Polynomial_d
 oCTranslateThis AdaptableBinaryFunction translates a PolynomialTraits_d::Polynomial_d with respect to one variable, that is, for a given polynomial \( p\) and constant \( c\) it computes \( p(x+c)\)
 oCTranslateHomogeneousGiven numerator \( a\) and denominator \( b\) this AdaptableFunctor translates a PolynomialTraits_d::Polynomial_d \( p\) with respect to one variable by \( a/b\), that is, it computes \( b^{degree(p)}\cdot p(x+a/b)\)
 oCUnivariateContentThis AdaptableUnaryFunction computes the content of a PolynomialTraits_d::Polynomial_d with respect to the univariate (recursive) view on the polynomial, that is, it computes the gcd of all coefficients with respect to one variable
 \CUnivariateContentUpToConstantFactorThis AdaptableUnaryFunction computes the content of a PolynomialTraits_d::Polynomial_d with respect to the univariate (recursive) view on the polynomial up to a constant factor (utcf), that is, it computes the \( \mathrm{gcd\_utcf}\) of all coefficients with respect to one variable