mirror of https://github.com/CGAL/cgal
68 lines
2.7 KiB
TeX
68 lines
2.7 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,
|
|
$a$ is a constant factor of type \ccc{PolynomialTraits_d::Innermost_coefficient}
|
|
|
|
\ccRefines
|
|
|
|
\ccTypes
|
|
\ccTypedef{typedef int result_type;}{}
|
|
|
|
\ccOperations
|
|
|
|
\ccSetThreeColumns{xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx}{xxx}{}
|
|
\ccCreationVariable{sqaure_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,
|
|
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.}
|
|
|
|
% This is the original documentation, but the manual tools are not able to handle this part:
|
|
|
|
%\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);}
|
|
% { factor the polynomial $p$ by multiplicities.
|
|
% That means: factor it into square-free and pairwise coprime non-constant factors $g_i$
|
|
% with multiplicities $m_i$ such that $p = a \cdot g_1m_1 \cdot ... \cdot g_nm_n$.
|
|
%
|
|
% This is known as square-free factorization in the literature.
|
|
% The number n is returned. The factors $g_i$ and multiplicities $m_i$ are written through
|
|
% the respective output iterators.\\
|
|
%
|
|
% \ccPrecond \ccc{OutputIterator_1} must allow the value type \ccc{PolynomialTraits_d:.Polynomial_d}. \\
|
|
% \ccPrecond \ccc{OutputIterator_1} must allow the value type int.
|
|
% }
|
|
|
|
|
|
|
|
%\ccHasModels
|
|
|
|
\ccSeeAlso
|
|
|
|
\ccRefIdfierPage{Polynomial_d}\\
|
|
\ccRefIdfierPage{PolynomialTraits_d}\\
|
|
\ccRefIdfierPage{PolynomialTraits_d::SquareFreeFactorizationUpToConstantFactor}\\
|
|
\ccRefIdfierPage{PolynomialTraits_d::MakeSquareFree}\\
|
|
|
|
\end{ccRefConcept}
|