Concept

PolynomialTraits_d

Definition

A model of PolynomialTraits_d is associated with a type Polynomial_d. The type Polynomial_d represents a multivariate polynomial. 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. Note that univariate polynomials are not excluded by this concept. In this case d is just set to one.

PolynomialTraits_d provides two different views on the multivariate polynomial.

Many functors consider the polynomial as a univariate polynomial in one variable. By default this is the outermost variable xd-1. However, in general it is possible to select a certain variable.

Refines

AlgebraicStructureTraits

Constants

static const int d; The dimension and the number of variables respectively.

Types

PolynomialTraits_d::Polynomial_d
Type representing R[x0, ,xd-1].

PolynomialTraits_d::Coefficient_type
Type representing R[x0, ,xd-2].

PolynomialTraits_d::Innermost_coefficient_type
Type representing the base ring R.


PolynomialTraits_d::Coefficient_const_iterator
Const iterator used to iterate through all coefficients of the polynomial.


PolynomialTraits_d::Innermost_coefficient_const_iterator
Const iterator used to iterate through all innermost coefficients of the polynomial.


template <typename T, int d>
PolynomialTraits_d:: struct Rebind
This nested template class has to define a type Other which is a model of the concept PolynomialTraits_d, where d is the number of variables and T the Innermost_coefficient_type.

Functors

In case a functor is not provided it is set to CGAL::Null_functor.

PolynomialTraits_d::Construct_polynomial
A model of PolynomialTraits_d::ConstructPolynomial.


PolynomialTraits_d::Get_coefficient
A model of PolynomialTraits_d::GetCoefficient.


PolynomialTraits_d::Get_innermost_coefficient
A model of PolynomialTraits_d::GetInnermostCoefficient.


PolynomialTraits_d::Construct_coefficient_const_iterator_range
A model of PolynomialTraits_d::ConstructCoefficientConstIteratorRange.


PolynomialTraits_d::Construct_innermost_coefficient_const_iterator_range
A model of PolynomialTraits_d::ConstructInnermostCoefficientConstIteratorRange.


PolynomialTraits_d::Swap
A model of PolynomialTraits_d::Swap.


PolynomialTraits_d::Move
A model of PolynomialTraits_d::Move.


PolynomialTraits_d::Degree
A model of PolynomialTraits_d::Degree.


PolynomialTraits_d::Total_degree
A model of PolynomialTraits_d::TotalDegree.


PolynomialTraits_d::Degree_vector
A model of PolynomialTraits_d::DegreeVector.


PolynomialTraits_d::Leading_coefficient
A model of PolynomialTraits_d::LeadingCoefficient.


PolynomialTraits_d::Innermost_leading_coefficient
A model of PolynomialTraits_d::InnermostLeadingCoefficient.


PolynomialTraits_d::Canonicalize
A model of PolynomialTraits_d::Canonicalize.


PolynomialTraits_d::Differentiate
A model of PolynomialTraits_d::Differentiate.


PolynomialTraits_d::Evaluate
A model of PolynomialTraits_d::Evaluate.


PolynomialTraits_d::Evaluate_homogeneous
A model of PolynomialTraits_d::EvaluateHomogeneous.


PolynomialTraits_d::Substitute
A model of PolynomialTraits_d::Substitute.


PolynomialTraits_d::Substitute_homogeneous
A model of PolynomialTraits_d::SubstituteHomogeneous.


PolynomialTraits_d::Is_zero_at
A model of PolynomialTraits_d::IsZeroAt.


PolynomialTraits_d::Is_zero_at_homogeneous
A model of PolynomialTraits_d::IsZeroAtHomogeneous.


PolynomialTraits_d::Sign_at
A model of PolynomialTraits_d::SignAt.
In case Innermost_coefficient_type is not RealEmbeddable this is CGAL::Null_functor.


PolynomialTraits_d::Sign_at_homogeneous
A model of PolynomialTraits_d::SignAtHomogeneous.
In case Innermost_coefficient_type is not RealEmbeddable this is CGAL::Null_functor.


PolynomialTraits_d::Compare
A model of PolynomialTraits_d::Compare.
In case Innermost_coefficient_type is not RealEmbeddable this is CGAL::Null_functor.


PolynomialTraits_d::Univariate_content
In case PolynomialTraits_d::Coefficient_type is not a model of UniqueFactorizationDomain, this is CGAL::Null_functor, otherwise this is a model of PolynomialTraits_d::UnivariateContent.


PolynomialTraits_d::Multivariate_content
In case PolynomialTraits_d::Innermost_coefficient_type is not a model of UniqueFactorizationDomain, this is CGAL::Null_functor, otherwise this is a model of PolynomialTraits_d::MultivariateContent.


PolynomialTraits_d::Shift
A model of PolynomialTraits_d::Shift.

PolynomialTraits_d::Negate
A model of PolynomialTraits_d::Negate.

PolynomialTraits_d::Invert
A model of PolynomialTraits_d::Invert.


PolynomialTraits_d::Translate
A model of PolynomialTraits_d::Translate.

PolynomialTraits_d::Translate_homogeneous
A model of PolynomialTraits_d::TranslateHomogeneous.


PolynomialTraits_d::Scale
A model of PolynomialTraits_d::Scale.

PolynomialTraits_d::Scale_homogeneous
A model of PolynomialTraits_d::ScaleHomogeneous.


PolynomialTraits_d::Make_square_free
A model of PolynomialTraits_d::MakeSquareFree.

PolynomialTraits_d::Square_free_factorize
In case PolynomialTraits::Polynomial_d is not a model of UniqueFactorizationDomain, this is of type CGAL::Null_functor, otherwise this is a model of PolynomialTraits_d::SquareFreeFactorize.


PolynomialTraits_d::Pseudo_division
A model of PolynomialTraits_d::PseudoDivision.

PolynomialTraits_d::Pseudo_division_remainder
A model of PolynomialTraits_d::PseudoDivisionRemainder.

PolynomialTraits_d::Pseudo_division_quotient
A model of PolynomialTraits_d::PseudoDivisionQuotient.


PolynomialTraits_d::Gcd_up_to_constant_factor
A model of PolynomialTraits_d::GcdUpToConstantFactor.

PolynomialTraits_d::Integral_division_up_to_constant_factor
A model of PolynomialTraits_d::IntegralDivisionUpToConstantFactor.

PolynomialTraits_d::Content_up_to_constant_factor
A model of PolynomialTraits_d::UnivariateContentUpToConstantFactor.

PolynomialTraits_d::Square_free_factorize_up_to_constant_factor
A model of PolynomialTraits_d::SquareFreeFactorizeUpToConstantFactor.


PolynomialTraits_d::Resultant
A model of PolynomialTraits_d::Resultant.


PolynomialTraits_d::Polynomial_subresultants
Either CGAL::Null_functor or a model of PolynomialTraits_d::PolynomialSubresultants.


PolynomialTraits_d::Polynomial_subresultants_with_cofactors
Either CGAL::Null_functor or a model of PolynomialTraits_d::PolynomialSubresultants_with_cofactors.


PolynomialTraits_d::Principal_subresultants
Either CGAL::Null_functor or a model of PolynomialTraits_d::PrincipalSubresultants.


PolynomialTraits_d::Sturm_habicht_sequence
Either CGAL::Null_functor or a model of PolynomialTraits_d::SturmHabichtSequence.


PolynomialTraits_d::Sturm_habicht_sequence_with_cofactors
Either CGAL::Null_functor or a model of PolynomialTraits_d::SturmHabichtSequenceWithCofactors.


PolynomialTraits_d::Principal_sturm_habicht_sequence
Either CGAL::Null_functor or a model of PolynomialTraits_d::PrincipalSturmHabichtSequence.

See Also

Polynomial_d

Has Models

CGAL::Polynomial_traits_d<Polynomial_d>