mirror of https://github.com/CGAL/cgal
114 lines
4.7 KiB
TeX
114 lines
4.7 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.
|
|
The number of variables is denoted as the dimension of the polynomial,
|
|
it is arbitrary but fixed for a certain model of this concept.
|
|
|
|
Note: That this concept does not exclude univariate polynomial.
|
|
|
|
|
|
\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_1,\dots,x_{d-1}][x_d]$. In this view, the polynomial is handled as
|
|
an univariate polynomial over the ring $R[x_1,\dots,x_{d-1}]$.
|
|
\item A symmetric view, which is symmetric with respect to all variables,
|
|
seeing the polynomials as element of $R[x_1,\dots,x_d]$.
|
|
\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_1,\dots,x_{d}]$.}\ccGlue
|
|
\ccNestedType{Coefficient }{ Type representing $R[x_1,\dots,x_{d-1}]$.}\ccGlue
|
|
\ccNestedType{Innermost_coefficient}{ Type representing the base ring $R$.}
|
|
|
|
\ccHeading{Functors}
|
|
|
|
\ccSetTwoColumns{xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx}{}
|
|
\ccNestedType{Construct_polynomial_d}{ A model of \ccc{PolynomialTraits_d::ConstructPolynomial_d}}
|
|
|
|
%Properties
|
|
\ccNestedType{Degree}{ A model of \ccc{PolynomialTraits_d::Degree}}
|
|
\ccNestedType{Total_degree}{ A model of \ccc{PolynomialTraits_d::TotalDegree}}
|
|
\ccNestedType{Leading_coefficient}{ A model of \ccc{PolynomialTraits_d::LeadingCoefficient}}
|
|
|
|
\ccNestedType{Univariate_content}{
|
|
In case \ccc{PolynomialTraits_d::Coefficient} is {\bf not} a model of
|
|
\ccc{UFDomain}, this is \ccc{CGAL::Null_type}, otherwise this is
|
|
a model of \ccc{PolynomialTraits_d::UnivariateContent}}
|
|
\begin{ccAdvanced}
|
|
\ccNestedType{Multivariate_content}{
|
|
In case \ccc{PolynomialTraits_d::Innermost_coefficient} is {\bf not}
|
|
a model of \ccc{UFDomain}, this is \ccc{CGAL::Null_type},
|
|
otherwise this is a model of
|
|
\ccc{PolynomialTraits_d::MultivariateContent}}
|
|
\end{ccAdvanced}
|
|
|
|
%Manipulation
|
|
\ccNestedType{Shift}{ A model of \ccc{PolynomialTraits_d::Shift}}
|
|
\ccNestedType{Negate}{ A model of \ccc{PolynomialTraits_d::Negate}}
|
|
\ccNestedType{Invert}{ A model of \ccc{PolynomialTraits_d::Invert}}
|
|
|
|
\ccNestedType{Translate}{ A model of \ccc{PolynomialTraits_d::Translate}}
|
|
\ccNestedType{Translate_homogeneous}{ A model of \ccc{PolynomialTraits_d::TranslateHomogeneous}}
|
|
|
|
\ccNestedType{Scale}{ A model of \ccc{PolynomialTraits_d::Scale}}
|
|
\ccNestedType{Scale_homogeneous}{ A model of \ccc{PolynomialTraits_d::ScaleHomogeneous}}
|
|
\begin{ccAdvanced}
|
|
//\ccNestedType{Scale_up}{ A model of \ccc{PolynomialTraits_d::ScaleUp, return $p(a*x)$}}
|
|
//\ccNestedType{Scale_down}{ A model of \ccc{PolynomialTraits_d::ScaleDown, return $b^{degree}*p(x/b)$}}
|
|
\end{ccAdvanced}
|
|
|
|
%unary operations
|
|
\ccNestedType{Differentiate}{ A model of \ccc{PolynomialTraits_d::Differentiate}}
|
|
\ccNestedType{Make_square_free}{ A model of \ccc{PolynomialTraits_d::MakeSquareFree}}
|
|
|
|
\ccNestedType{Square_free_factorization}{ In case \ccc{PolynomialTraits::Polynomial_d}
|
|
is not a model of \ccc{UFDomain}, this is of type \ccc{CGAL::Null_type},
|
|
otherwise this is a model of \ccc{PolynomialTraits_d::SquareFreeFactorization}}
|
|
|
|
|
|
%pseudo division
|
|
\ccNestedType{Pseudo_division }{ A model of \ccc{PolynomialTraits_d::Pseudo_division}}
|
|
\ccNestedType{Pseudo_division_remainder}{ A model of \ccc{PolynomialTraits_d::Pseudo_division_remainder}}
|
|
\ccNestedType{Pseudo_division_quotient }{ A model of \ccc{PolynomialTraits_d::Pseudo_division_quotient}}
|
|
|
|
%utcf
|
|
\ccNestedType{Gcd_up_to_constant_factor}{ A model of \ccc{PolynomialTraits_d::GcdUpToConstantFactor}}
|
|
\ccNestedType{Integral_division_up_to_constant_factor}{ A model of \ccc{PolynomialTraits_d::IntegralDivisionUpToConstantFactor}}
|
|
\ccNestedType{Content_up_to_constant_factor}{ A model of \ccc{PolynomialTraits_d::ContentUpToConstantFactor}}
|
|
\ccNestedType{Square_free_factorization_up_to_constant_factor}{ A model of \ccc{PolynomialTraits_d::SquareFreeFactorizationUpToConstantFactor}}
|
|
|
|
%Evaluation
|
|
\ccNestedType{Evaluate}{ A model of \ccc{PolynomialTraits_d::Evaluate}}
|
|
\ccNestedType{Evaluate_homogeneous}{ A model of \ccc{PolynomialTraits_d::EvaluateHomogeneous}}
|
|
%\ccNestedType{Sign_at}{ A model of \ccc{PolynomialTraits_d::SignAt}}
|
|
|
|
|
|
%resultant
|
|
\ccNestedType{Resultant}{ A model of \ccc{PolynomialTraits_d::Resultant}}
|
|
|
|
|
|
|
|
|
|
\ccSeeAlso
|
|
|
|
\ccRefIdfierPage{AlgebraicStructureTraits}\\
|
|
\ccRefIdfierPage{Polynomial_d}\\
|
|
|
|
\end{ccRefConcept} |