\begin{ccRefConcept}{PolynomialTraits_d::SquareFreeFactorizationUpToConstantFactor} \ccDefinition This \ccc{AdaptableFunctor} computes a square-free factorization {\em up to a constant factor (utcf)} 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$, such that $a \cdot p = g_1m_1 \cdot ... \cdot g_nm_n$, where $a$ is some constant factor. The provided operators return the number $n$, the factors $g_i$ and multiplicities $m_i$ are written through the respective output iterators. The constant factor $a$ is not computed. \ccRefines \ccTypes \ccOperations \ccSetThreeColumns{xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx}{xxx}{} \ccMethod{template int operator()(PolynomialTraits_d::PolynomialTraits_d p, OutputIterator_1 it_1, OutputIterator_2 it_2);}{computes square-free factorization of $p$ up to a constant factor.\\ \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 % 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::SquareFreeFactorization}\\ \end{ccRefConcept}