Givaro
Poly1FactorDom< Domain, Tag, RandomIterator > Class Template Reference

Poly1FactorDom. More...

#include <givpoly1factor.h>

+ Inheritance diagram for Poly1FactorDom< Domain, Tag, RandomIterator >:
+ Collaboration diagram for Poly1FactorDom< Domain, Tag, RandomIterator >:

Public Member Functions

 Poly1FactorDom (const Domain &d, const Indeter &X=Indeter(), const RandomIterator &g=RandomIterator())
 
Element & random_irreducible (Element &P, Degree n) const
 random irreducible polynomial
 
Element & creux_random_irreducible (Element &P, Degree n) const
 random irreducible polynomial tries to be sparse
 
Element & ixe_irreducible (Element &R, Degree n) const
 random irreducible polynomial with X as primitive root
 
Element & ixe_irreducible2 (Element &R, Degree n) const
 random irreducible polynomial with X as primitive root
 
Rep & setdegree (Rep &P) const
 Compute the degree of P.
 
size_t & sqrfree (size_t &Nfact, Rep *Fact, const Rep &P) const
 Sqrfree decomposition.
 

Detailed Description

template<class Domain, class Tag = Dense, class RandomIterator = GivRandom>
class Givaro::Poly1FactorDom< Domain, Tag, RandomIterator >

Poly1FactorDom.

Examples
examples/Integer/ModularSquareRoot.C, examples/Polynomial/isirred.C, examples/Polynomial/isprimitive.C, examples/Polynomial/pol_eval.C, and examples/Polynomial/pol_factor.C.

Constructor & Destructor Documentation

◆ Poly1FactorDom()

template<class Domain , class Tag = Dense, class RandomIterator = GivRandom>
Poly1FactorDom ( const Domain & d,
const Indeter & X = Indeter(),
const RandomIterator & g = RandomIterator() )
inline
Warning
there is a copy of the random Iterator ...

Member Function Documentation

◆ setdegree()

template<class Domain >
Poly1Dom< Domain, Dense >::Rep & setdegree ( Rep & P) const
inlineinherited

Compute the degree of P.

Warning
this is an infamous function that may not leave P constant !!
Parameters
Ppolynomial

◆ sqrfree()

template<class Domain >
size_t & sqrfree ( size_t & Nfact,
Rep * Fact,
const Rep & P ) const
inherited

Sqrfree decomposition.

Decompose P such that: P = Fact[0]^0 * Fact[1]^1 * ... * Fact[P.degree()]^(P.degree()), with Fact[0] the leading coefficient. The array Fact must be allocated before calling the function. The size of Fact must be degP+1 is all factors should be computed. For more readeable version of the algorithm, see Geddes, p342.

Parameters
Nfact[in] the size of Fact
Fact[in] an array of dimension Nfact
Nfact[out] is the number of factor in the sqrfree decomposition
Fact[out] contains at most Nfact factors of the decomposition.
Prep.

The documentation for this class was generated from the following files: