/// \defgroup PkgPolynomialRef Reference Manual
/// \defgroup PkgPolynomialConcepts Concepts
/// \ingroup PkgPolynomialRef

/// \defgroup PkgPolynomialClasses Classes
/// \ingroup PkgPolynomialRef

/// \defgroup PkgPolynomialFunctions Functions
/// \ingroup PkgPolynomialRef
/*!
\addtogroup PkgPolynomialRef
\cgalPkgDescriptionBegin{Polynomial,PkgPolynomial}
\cgalPkgPicture{Polynomial.png}
\cgalPkgSummaryBegin
\cgalPkgAuthor{Michael Hemmer}
\cgalPkgDesc{This package introduces a concept for univariate and multivariate  polynomials in \f$ d\f$ variables. Though the concept is written for an arbitrary  number of variables, the number of variables is considered as fixed for a  particular model of this concept.}
\cgalPkgManuals{Chapter_Polynomial,PkgPolynomialRef}
\cgalPkgSummaryEnd
\cgalPkgShortInfoBegin
\cgalPkgSince{3.3}
\cgalPkgBib{cgal:h-p}
\cgalPkgLicense{\ref licensesLGPL "LGPL"}
\cgalPkgShortInfoEnd
\cgalPkgDescriptionEnd

\cgalClassifedRefPages

\cgalCRPSection{Concepts}

- `Polynomial_d`
- `PolynomialTraits_d`

- `PolynomialTraits_d::ConstructPolynomial`
- `PolynomialTraits_d::GetCoefficient`
- `PolynomialTraits_d::GetInnermostCoefficient`
- `PolynomialTraits_d::MonomialRepresentation`

- `PolynomialTraits_d::ConstructCoefficientConstIteratorRange`
- `PolynomialTraits_d::ConstructInnermostCoefficientConstIteratorRange`

- `PolynomialTraits_d::Permute`
- `PolynomialTraits_d::Swap`
- `PolynomialTraits_d::Move`

- `PolynomialTraits_d::Degree`
- `PolynomialTraits_d::TotalDegree`
- `PolynomialTraits_d::DegreeVector`
- `PolynomialTraits_d::LeadingCoefficient`
- `PolynomialTraits_d::InnermostLeadingCoefficient`

- `PolynomialTraits_d::Canonicalize`
- `PolynomialTraits_d::Differentiate`

- `PolynomialTraits_d::Evaluate`
- `PolynomialTraits_d::EvaluateHomogeneous`
- `PolynomialTraits_d::Substitute`
- `PolynomialTraits_d::SubstituteHomogeneous`
- `PolynomialTraits_d::IsZeroAt`
- `PolynomialTraits_d::IsZeroAtHomogeneous`
- `PolynomialTraits_d::SignAt`
- `PolynomialTraits_d::SignAtHomogeneous`

- `PolynomialTraits_d::Compare`

- `PolynomialTraits_d::UnivariateContent`
- `PolynomialTraits_d::MultivariateContent`

- `PolynomialTraits_d::SquareFreeFactorize`
- `PolynomialTraits_d::MakeSquareFree`
- `PolynomialTraits_d::IsSquareFree`

- `PolynomialTraits_d::PseudoDivision`
- `PolynomialTraits_d::PseudoDivisionQuotient`
- `PolynomialTraits_d::PseudoDivisionRemainder`

- `PolynomialTraits_d::GcdUpToConstantFactor`
- `PolynomialTraits_d::IntegralDivisionUpToConstantFactor`
- `PolynomialTraits_d::UnivariateContentUpToConstantFactor`
- `PolynomialTraits_d::SquareFreeFactorizeUpToConstantFactor`

- `PolynomialTraits_d::Shift`
- `PolynomialTraits_d::Negate`
- `PolynomialTraits_d::Invert`
- `PolynomialTraits_d::Translate`
- `PolynomialTraits_d::TranslateHomogeneous`
- `PolynomialTraits_d::Scale`
- `PolynomialTraits_d::ScaleHomogeneous`

- `PolynomialTraits_d::Resultant`
- `PolynomialTraits_d::PolynomialSubresultants`
- `PolynomialTraits_d::PolynomialSubresultantsWithCofactors`
- `PolynomialTraits_d::PrincipalSubresultants`
- `PolynomialTraits_d::SturmHabichtSequence`
- `PolynomialTraits_d::SturmHabichtSequenceWithCofactors`
- `PolynomialTraits_d::PrincipalSturmHabichtSequence`

\cgalCRPSection{Classes}

- `CGAL::Polynomial<Coeff>`
- `CGAL::Polynomial_traits_d<Polynomial_d>`
- `CGAL::Exponent_vector`
- `CGAL::Polynomial_type_generator<T,d>`

\cgalCRPSection{Functions}

- `CGAL::get_coefficient()`
- `CGAL::get_innermost_coefficient()`

- `CGAL::permute()`
- `CGAL::swap()`
- `CGAL::move()`

- `CGAL::degree()`
- `CGAL::total_degree()`
- `CGAL::degree_vector()`
- `CGAL::leading_coefficient()`
- `CGAL::innermost_leading_coefficient()`

- `CGAL::canonicalize()`
- `CGAL::differentiate()`

- `CGAL::evaluate()`
- `CGAL::evaluate_homogeneous()`
- `CGAL::substitute()`
- `CGAL::substitute_homogeneous()`
- `CGAL::is_zero_at()`
- `CGAL::is_zero_at_homogeneous()`
- `CGAL::sign_at()`
- `CGAL::sign_at_homogeneous()`

- `CGAL::compare()`

- `CGAL::univariate_content()`
- `CGAL::multivariate_content()`

- `CGAL::square_free_factorize()`
- `CGAL::make_square_free()`

- `CGAL::pseudo_division()`
- `CGAL::pseudo_division_quotient()`
- `CGAL::pseudo_division_remainder()`

- `CGAL::gcd_up_to_constant_factor()`
- `CGAL::integral_division_up_to_constant_factor()`
- `CGAL::univariate_content_up_to_constant_factor()`
- `CGAL::square_free_factorize_up_to_constant_factor()`

- `CGAL::shift()`
- `CGAL::negate()`
- `CGAL::invert()`
- `CGAL::translate()`
- `CGAL::translate_homogeneous()`
- `CGAL::scale()`
- `CGAL::scale_homogeneous()`

- `CGAL::resultant()`
- `CGAL::polynomial_subresultants()`
- `CGAL::polynomial_subresultants_with_cofactors()`
- `CGAL::principal_subresultants()`
- `CGAL::sturm_habicht_sequence()`
- `CGAL::sturm_habicht_sequence_with_cofactors()`
- `CGAL::principal_sturm_habicht_sequence()`
- `CGAL::number_of_real_roots()`


*/

