\( \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.12.1 - Algebraic Kernel
AlgebraicKernel_d_1::MakeCoprime_1 Concept Reference

Definition

Computes for a given pair of univariate polynomials \( p_1\), \( p_2\) their common part \( g\) up to a constant factor and coprime parts \( q_1\), \( q_2\) respectively.

That is, it computes \( g, q_1, q_2\) such that:

\( c_1 \cdot p_1 = g \cdot q_1\) for some constant \( c_1\) and

\( c_2 \cdot p_2 = g \cdot q_2\) for some constant \( c_2\), such that \( q_1\) and \( q_2\) are coprime.

It returns true if \( p_1\) and \( p_2\) are already coprime.

Refines:
AdaptableFunctor with five arguments
See also
AlgebraicKernel_d_1::IsCoprime_1

Types

typedef bool result_type
 

Operations

result_type operator() (const AlgebraicKernel_d_1::Polynomial_1 &p1, const AlgebraicKernel_d_1::Polynomial_1 &p2, AlgebraicKernel_d_1::Polynomial_1 &g, AlgebraicKernel_d_1::Polynomial_1 &q1, AlgebraicKernel_d_1::Polynomial_1 &q2)
 Computes \( g, q_1, q_2\) as described above. More...
 

Member Function Documentation

◆ operator()()

Computes \( g, q_1, q_2\) as described above.

Returns whether \( p_1\) and \( p_2\) where already coprime.