mirror of https://github.com/CGAL/cgal
58 lines
1.9 KiB
TeX
58 lines
1.9 KiB
TeX
\begin{ccRefConcept}{PolynomialTraits_d::SquareFreeFactorization}
|
|
|
|
\ccDefinition
|
|
|
|
This \ccc{AdaptableFunctor} computes a square-free factorization
|
|
of a \ccc{PolynomialTraits_d::Polynomial_d}.
|
|
|
|
A polynomial $p$ is 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_1m_1 \cdot ... \cdot g_nm_n$.
|
|
|
|
The provided operator returns the number of factors $n$.
|
|
The factors $g_i$ and multiplicities $m_i$ are written through
|
|
the respective output iterators.\\
|
|
|
|
|
|
\ccRefines
|
|
|
|
\ccTypes
|
|
\ccTypedef{typedef int result_type;}{}
|
|
|
|
\ccOperations
|
|
|
|
\ccSetThreeColumns{xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx}{xxx}{}
|
|
\ccCreationVariable{square_free_factorization}
|
|
|
|
\ccMethod{template<class OutputIterator_1, class OutputIterator_2>
|
|
int operator()(PolynomialTraits_d::Polynomial_d p,
|
|
OutputIterator_1 it_1,
|
|
OutputIterator_2 it_2);}
|
|
{ computes square-free factorization of $p$.\\
|
|
\ccPrecond \ccc{OutputIterator_1} must allow the value type
|
|
\ccc{PolynomialTraits_d::Polynomial_d}.
|
|
\ccPrecond \ccc{OutputIterator_2} must allow the value type int.
|
|
}
|
|
|
|
\ccMethod{template<class OutputIterator_1, class OutputIterator_2>
|
|
int operator()(PolynomialTraits_d::Polynomial_d p,
|
|
OutputIterator_1 it_1,
|
|
OutputIterator_2 it_2,
|
|
PolynomialTraits_d::Innermost_coefficient& a);}
|
|
{ computes square-free factorization of $p$.\\
|
|
\ccPrecond \ccc{OutputIterator_1} must allow the value type
|
|
\ccc{PolynomialTraits_d::Polynomial_d}.
|
|
\ccPrecond \ccc{OutputIterator_2} must allow the value type int.
|
|
}
|
|
|
|
%\ccHasModels
|
|
|
|
\ccSeeAlso
|
|
|
|
\ccRefIdfierPage{Polynomial_d}\\
|
|
\ccRefIdfierPage{PolynomialTraits_d}\\
|
|
\ccRefIdfierPage{PolynomialTraits_d::SquareFreeFactorizationUpToConstantFactor}\\
|
|
\ccRefIdfierPage{PolynomialTraits_d::MakeSquareFree}\\
|
|
|
|
\end{ccRefConcept}
|