\( \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.12 - Polynomial
PolynomialTraits_d::SubstituteHomogeneous Concept Reference

Definition

This 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.

For instance the polynomial \( p(x_0,x_1) = x_0^2x_1^3+x_1^4\) is interpreted as the homogeneous polynomial \( p(x_0,x_1,w) = x_0^2x_1^3+x_1^4w^1\).

Refines:

Assignable

CopyConstructible

DefaultConstructible

Types

Note that the result_type is the coercion type of the value type of the given iterator range and PolynomialTraits_d::Innermost_coefficient_type. In particular std::iterator_traits<Input_iterator>::value_type must be ExplicitInteroperable with PolynomialTraits_d::Innermost_coefficient_type. Hence, it can not be provided as a public type in advance.

See also
Polynomial_d
PolynomialTraits_d
PolynomialTraits_d::Substitute
CGAL::Coercion_traits

Operations

template<class Input_iterator >
result_type operator() (PolynomialTraits_d::Polynomial_d p, Input_iterator begin, Input_iterator end)
 Substitutes each variable of \( p\) by the values given in the iterator range, where \( p\) is interpreted as a homogeneous polynomial in all variables. More...
 

Member Function Documentation

◆ operator()()

template<class Input_iterator >
result_type PolynomialTraits_d::SubstituteHomogeneous::operator() ( PolynomialTraits_d::Polynomial_d  p,
Input_iterator  begin,
Input_iterator  end 
)

Substitutes each variable of \( p\) by the values given in the iterator range, where \( p\) is interpreted as a homogeneous polynomial in all variables.

The begin iterator refers to the innermost variable \( x_0\).

Precondition
(end-begin == PolynomialTraits_d::d)+1