mirror of https://github.com/CGAL/cgal
110 lines
4.0 KiB
TeX
110 lines
4.0 KiB
TeX
\begin{ccRefConcept}{PolynomialTraits_d}
|
|
|
|
\ccDefinition
|
|
A model of \ccc{PolynomialTraits_d} is associated to an type
|
|
\ccc{Polynomial_d}, representing a multivariate polynomial
|
|
\footnote{Univariate polynomials are not excluded by this concept.}.
|
|
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.
|
|
|
|
\ccc{PolynomialTraits_d} provides two different views on the
|
|
multivariate polynomial.
|
|
|
|
\begin{itemize}
|
|
\item A recursive view, that sees the polynomial as an element of
|
|
$R[x_0,\dots,x_{d-2}][x_{d-1}]$. In this view, the polynomial is handled as
|
|
an univariate polynomial over the ring $R[x_0,\dots,x_{d-2}]$.
|
|
\item A symmetric view, which is symmetric with respect to all variables,
|
|
seeing the polynomials as element of $R[x_0,\dots,x_{d-1}]$.
|
|
\end{itemize}
|
|
|
|
|
|
The default view is the recursive view, therefore all functors are
|
|
designed such that there default version performs the operation
|
|
with respect to this view.
|
|
|
|
\ccRefines
|
|
|
|
\ccConstants
|
|
|
|
\ccVariable{const int d;}{The dimension and the number of variables respectively.}
|
|
|
|
\ccTypes
|
|
|
|
\ccNestedType{Polynomial_d}{ Type representing $R[x_0,\dots,x_{d-1}]$.}\ccGlue
|
|
\ccNestedType{Coefficient }{ Type representing $R[x_0,\dots,x_{d-2}]$.}\ccGlue
|
|
\ccNestedType{Innermost_coefficient}{ Type representing the base ring $R$.}
|
|
|
|
\ccNestedType{template <typename T, int d> struct Rebind}
|
|
{This nested template class has to define a type \ccc{Other} which is a model
|
|
of the concept \ccc{PolynomialTraits_d}, where \ccc{d} is the number of variables
|
|
and \ccc{T} the \ccc{Innermost_coefficient_type}.}
|
|
|
|
\ccHeading{Functors}
|
|
|
|
In case a functor is not provided it is set to \ccc{CGAL::Null_functor}.
|
|
%,e.g., \ccc{Sign_at} if \ccc{Innermost_coefficient} is not \ccc{RealEmbeddable}.
|
|
\ccSetTwoColumns{xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx}{}
|
|
|
|
\ccNestedType{Construct_polynomial}
|
|
{A model of \ccc{PolynomialTraits_d::ConstructPolynomial}.}
|
|
\ccNestedType{Get_coefficient}
|
|
{A model of \ccc{PolynomialTraits_d::GetCoefficient}.}
|
|
\ccNestedType{Get_innermost_coefficient}
|
|
{A model of \ccc{PolynomialTraits_d::GetInnermostCoefficient}.}
|
|
|
|
\ccNestedType{Swap}
|
|
{ A model of \ccc{PolynomialTraits_d::Swap}.}
|
|
\ccNestedType{Move}
|
|
{ A model of \ccc{PolynomialTraits_d::Move}.}
|
|
|
|
|
|
\ccNestedType{Degree}
|
|
{ A model of \ccc{PolynomialTraits_d::Degree}.}
|
|
\ccNestedType{Total_degree}
|
|
{ A model of \ccc{PolynomialTraits_d::TotalDegree}.}
|
|
\ccNestedType{Degree_vector}
|
|
{ A model of \ccc{PolynomialTraits_d::DegreeVector}.}
|
|
\ccNestedType{Leading_coefficient}
|
|
{ A model of \ccc{PolynomialTraits_d::LeadingCoefficient}.}
|
|
\ccNestedType{Innermost_leading_coefficient}
|
|
{A model of \ccc{PolynomialTraits_d::InnermostLeadingCoefficient}.}
|
|
|
|
|
|
\ccNestedType{Canonicalize}
|
|
{ A model of \ccc{PolynomialTraits_d::Canonicalize}.}
|
|
\ccNestedType{Derive}
|
|
{ A model of \ccc{PolynomialTraits_d::Derive}.}
|
|
|
|
|
|
%Evaluation
|
|
\ccNestedType{Evaluate}
|
|
{ A model of \ccc{PolynomialTraits_d::Evaluate}.}
|
|
\ccNestedType{Evaluate_homogeneous}
|
|
{ A model of \ccc{PolynomialTraits_d::EvaluateHomogeneous}.}
|
|
|
|
\ccNestedType{Is_zero_at}
|
|
{ A model of \ccc{PolynomialTraits_d::IsZeroAt}.}
|
|
\ccNestedType{Is_zero_at_homogeneous}
|
|
{ A model of \ccc{PolynomialTraits_d::IsZeroAtHomogeneous}.}
|
|
|
|
\ccNestedType{Sign_at}{
|
|
A model of \ccc{PolynomialTraits_d::SignAt}.
|
|
In case \ccc{Innermost_coefficient} is not \ccc{RealEmbeddable} this
|
|
is \ccc{CGAL::Null_functor}.}
|
|
\ccNestedType{Sign_at_homogeneous}{
|
|
A model of \ccc{PolynomialTraits_d::SignHomogeneous}.
|
|
In case \ccc{Innermost_coefficient} is not \ccc{RealEmbeddable} this
|
|
is \ccc{CGAL::Null_functor}.}
|
|
|
|
\ccNestedType{Compare}{
|
|
A model of \ccc{PolynomialTraits_d::Compare}.
|
|
In case \ccc{Innermost_coefficient} is not \ccc{LessThanComparable} this
|
|
is \ccc{CGAL::Null_functor}.}
|
|
|
|
\ccSeeAlso
|
|
|
|
\ccRefIdfierPage{Polynomial_d}\\
|
|
\ccRefIdfierPage{PolynomialToolBox_d}\\
|
|
|
|
\end{ccRefConcept} |