Concept

PolynomialTraits_d::SquareFreeFactorize

Definition

This Functor computes a square-free factorization of a PolynomialTraits_d::Polynomial_d.

A polynomial p is factored into square-free and pairwise coprime non-constant factors gi with multiplicities mi and a constant factor a, such that p = a g1m1 ... gnmn.

The pairs (gi,mi) are written into the given output iterator.

This functor is well defined if PolynomialTraits_d::Polynomial_d is a UniqueFactorizationDomain.

Refines

Assignable
CopyConstructible
DefaultConstructible

Operations

template<class OutputIterator>
OutputIterator
fo ( PolynomialTraits_d::Polynomial_d p ,
OutputIterator it ,
PolynomialTraits_d::Innermost_coefficient_type& a )
Computes the square-free factorization of p and returns the past-the-end iterator of the written range.
Precondition:  std::iterator_traits< OutputIterator >::value_type must be constructible from std::pair<PolynomialTraits_d::Polynomial_d,int>.

template<class OutputIterator>
OutputIterator fo ( PolynomialTraits_d::Polynomial_d p , OutputIterator it )
As the first operator, just not computing the factor a.

See Also

Polynomial_d
PolynomialTraits_d
PolynomialTraits_d::SquareFreeFactorizeUpToConstantFactor
PolynomialTraits_d::MakeSquareFree
PolynomialTraits_d::IsSquareFree