\( \newcommand{\E}{\mathrm{E}} \) \( \newcommand{\A}{\mathrm{A}} \) \( \newcommand{\R}{\mathrm{R}} \) \( \newcommand{\N}{\mathrm{N}} \) \( \newcommand{\Q}{\mathrm{Q}} \) \( \newcommand{\Z}{\mathrm{Z}} \) \( \def\ccSum #1#2#3{ \sum_{#1}^{#2}{#3} } \def\ccProd #1#2#3{ \sum_{#1}^{#2}{#3} }\)

CGAL 4.8 - Polynomial

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
List of all members
PolynomialTraits_d::MakeSquareFree Concept Reference
Concepts

## Definition

This `AdaptableUnaryFunction` computes the square-free part of a polynomial of type `PolynomialTraits_d::Polynomial_d` up to a constant factor.

A polynomial \( p\) can be factored into square-free and pairwise coprime non-constant factors \( g_i\) with multiplicities \( m_i\) and a constant factor \( a\), such that \( p = a \cdot g_1^{m_1} \cdot ... \cdot g_n^{m_n}\), where all \( g_i\) are canonicalized.

Given this decomposition, the square free part is defined as the product \( g_1 \cdot ... \cdot g_n\), which is computed by this functor.

Refines:

  `AdaptableUnaryFunction`

  `CopyConstructible`

  `DefaultConstructible`

See Also
  `Polynomial_d`
  `PolynomialTraits_d`
  `PolynomialTraits_d::Canonicalize`
  `PolynomialTraits_d::SquareFreeFactorize`
  `PolynomialTraits_d::IsSquareFree`

## Types
typedef PolynomialTraits_d::Polynomial_d | result_type
typedef PolynomialTraits_d::Polynomial_d | argument_type

## Operations
result_type | operator() (argument_type p)
| Returns the square-free part of \( p\).