\( \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.4 - Polynomial
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
PolynomialTraits_d::MakeSquareFree Concept Reference

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\).