mirror of https://github.com/CGAL/cgal
52 lines
1.9 KiB
TeX
52 lines
1.9 KiB
TeX
\begin{ccRefConcept}{PolynomialTraits_d::SubstituteHomogeneous}
|
|
\ccDefinition
|
|
|
|
This \ccc{Functor} substitutes all variables of a given multivariate
|
|
\ccc{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 \ccc{PolynomialTraits_d::Substitute} the given polynomial $p$
|
|
is interpreted as a homogeneous polynomial.
|
|
Hence the iterator range is required to be of length \ccc{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$.
|
|
|
|
\ccRefines
|
|
|
|
Assignable\\
|
|
CopyConstructible\\
|
|
DefaultConstructible\\
|
|
|
|
\ccTypes
|
|
Note that the \ccc{result_type} is the coercion type of the value type of the
|
|
given iterator range and \ccc{PolynomialTraits_d::Innermost_coefficient_type}.
|
|
In particular \ccc{std::iterator_traits<Input_iterator>::value_type} must be
|
|
\ccc{ExplicitInteroperable} with \ccc{PolynomialTraits_d::Innermost_coefficient_type}.
|
|
Hence, it can not be provided as a public type in advance.
|
|
% no public types
|
|
|
|
\ccSetThreeColumns{xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx}{xxx}{}
|
|
\ccCreationVariable{fo}
|
|
|
|
\ccOperations
|
|
\ccMethod{
|
|
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.
|
|
The begin iterator refers to the innermost variable $x_0$.
|
|
%The homogeneous degree is considered as equal to the total degree of $p$.
|
|
\ccPrecond{(end-begin == \ccc{PolynomialTraits_d::d})+1}
|
|
}
|
|
|
|
%\ccHasModels
|
|
|
|
\ccSeeAlso
|
|
|
|
\ccRefIdfierPage{Polynomial_d}\\
|
|
\ccRefIdfierPage{PolynomialTraits_d}\\
|
|
\ccRefIdfierPage{PolynomialTraits_d::Substitute}\\
|
|
\ccRefIdfierPage{CoercionTraits}\\
|
|
|
|
\end{ccRefConcept}
|