CGAL 6.2 - Polynomial

Loading...
Searching...
No Matches
List of all members
PolynomialTraits_d::SubstituteHomogeneous Concept Reference
Reference Manual » Concepts

## 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
  `CopyConstructible`
  `Assignable`
  `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.

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