CGAL 5.0.2 - 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:

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.

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

## ◆ 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