Givaro
Public Types | Public Member Functions | Protected Types | Protected Attributes
Poly1FactorDom< Domain, Tag, RandIter > Class Template Reference

Poly1FactorDom. More...

#include <givpoly1factor.h>

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

Public Types

typedef Poly1Dom< Domain, Tag >::Element Element
 
typedef RandIter random_generator
 
typedef Signed_Trait< typename Domain::Element >::unsigned_type Residu_t
 
typedef Signed_Trait< typename Domain::Element >::signed_type Element_t
 
typedef Poly1Dom< Domain, Tag >::Type_t Type_t
 

Public Member Functions

 Poly1FactorDom ()
 
 Poly1FactorDom (Domain &d, const Indeter &X=Indeter(), const RandIter &g=RandIter())
 
 Poly1FactorDom (const Poly1Dom< Domain, Tag > &P, const RandIter &g=RandIter())
 
template<template< class, class > class Container, template< class > class Alloc>
void SplitFactor (Container< Rep, Alloc< Rep > > &L, const Rep &G, Degree d, Residu_t MOD) const
 
template<template< class, class > class Container, template< class > class Alloc>
void SplitFactor (Container< Rep, Alloc< Rep > > &L, const Rep &G, Degree d) const
 
RepSplitFactor (Rep &R, const Rep &G, Degree d, Residu_t MOD) const
 
RepSplitFactor (Rep &R, const Rep &G, Degree d) const
 
template<template< class, class > class Container, template< class > class Alloc>
void DistinctDegreeFactor (Container< Rep, Alloc< Rep > > &L, const Rep &f, Residu_t MOD) const
 
template<template< class, class > class Container, template< class > class Alloc>
void DistinctDegreeFactor (Container< Rep, Alloc< Rep > > &L, const Rep &f) const
 
template<template< class, class > class Container, template< class > class Alloc>
void CZfactor (Container< Rep, Alloc< Rep > > &Lf, Container< uint64_t, Alloc< uint64_t > > &Le, const Rep &f, Residu_t MOD) const
 
template<template< class, class > class Container, template< class > class Alloc>
void CZfactor (Container< Rep, Alloc< Rep > > &Lf, Container< uint64_t, Alloc< uint64_t > > &Le, const Rep &f) const
 
Repfactor (Rep &W, const Rep &P, Residu_t MOD) const
 
Repfactor (Rep &W, const Rep &P) const
 
bool is_irreducible (const Rep &P, Residu_t MOD) const
 
bool is_irreducible (const Rep &P) const
 
bool is_irreducible2 (const Rep &P, Residu_t MOD) const
 
bool is_irreducible2 (const Rep &P) const
 
Elementrandom_irreducible (Element &P, Degree n) const
 random irreducible polynomial More...
 
Elementcreux_random_irreducible (Element &P, Degree n) const
 random irreducible polynomial tries to be sparse More...
 
Elementixe_irreducible (Element &R, Degree n) const
 random irreducible polynomial with X as primitive root More...
 
Elementixe_irreducible2 (Element &R, Degree n) const
 random irreducible polynomial with X as primitive root More...
 
IntegerDom::Element order (const Rep &P, const Rep &F) const
 
bool is_prim_root (const Rep &P, const Rep &F) const
 
Reprandom_prim_root (Rep &P, Rep &R, Degree n) const
 
Repgive_random_prim_root (Rep &R, const Rep &F) const
 
Repgive_prim_root (Rep &R, const Rep &F) const
 

Protected Types

typedef Poly1Dom< Domain, Tag >::Rep Rep
 

Protected Attributes

RandIter _g
 

Detailed Description

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

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.

Member Typedef Documentation

typedef Poly1Dom<Domain,Tag>::Rep Rep
protected
typedef Poly1Dom<Domain,Tag>::Element Element
typedef RandIter random_generator
typedef Signed_Trait<typename Domain::Element>::unsigned_type Residu_t
typedef Signed_Trait<typename Domain::Element>::signed_type Element_t
typedef Poly1Dom<Domain,Tag>::Type_t Type_t

Constructor & Destructor Documentation

Poly1FactorDom ( )
inline
Poly1FactorDom ( Domain d,
const Indeter X = Indeter(),
const RandIter &  g = RandIter() 
)
inline
Warning
there is a copy of the random Iterator ...
Poly1FactorDom ( const Poly1Dom< Domain, Tag > &  P,
const RandIter &  g = RandIter() 
)
inline

Member Function Documentation

void SplitFactor ( Container< Rep, Alloc< Rep > > &  L,
const Rep G,
Degree  d,
Residu_t  MOD 
) const
inline
void SplitFactor ( Container< Rep, Alloc< Rep > > &  L,
const Rep G,
Degree  d 
) const
inline
Poly1FactorDom< Domain, Tag, RandIter >::Rep & SplitFactor ( Rep R,
const Rep G,
Degree  d,
Residu_t  MOD 
) const
inline
Rep& SplitFactor ( Rep R,
const Rep G,
Degree  d 
) const
inline
void DistinctDegreeFactor ( Container< Rep, Alloc< Rep > > &  L,
const Rep f,
Residu_t  MOD 
) const
inline
void DistinctDegreeFactor ( Container< Rep, Alloc< Rep > > &  L,
const Rep f 
) const
inline
void CZfactor ( Container< Rep, Alloc< Rep > > &  Lf,
Container< uint64_t, Alloc< uint64_t > > &  Le,
const Rep f,
Residu_t  MOD 
) const
inline
void CZfactor ( Container< Rep, Alloc< Rep > > &  Lf,
Container< uint64_t, Alloc< uint64_t > > &  Le,
const Rep f 
) const
inline
Poly1FactorDom< Domain, Tag, RandIter >::Rep & factor ( Rep W,
const Rep P,
Residu_t  MOD 
) const
inline
Rep& factor ( Rep W,
const Rep P 
) const
inline
bool is_irreducible ( const Rep P,
Residu_t  MOD 
) const
inline
bool is_irreducible ( const Rep P) const
inline
bool is_irreducible2 ( const Rep P,
Residu_t  MOD 
) const
inline
bool is_irreducible2 ( const Rep P) const
inline
Poly1FactorDom< Domain, Tag, RandIter >::Element & random_irreducible ( Element P,
Degree  n 
) const
inline

random irreducible polynomial

Poly1FactorDom< Domain, Tag, RandIter >::Element & creux_random_irreducible ( Element P,
Degree  n 
) const
inline

random irreducible polynomial tries to be sparse

Poly1FactorDom< Domain, Tag, RandIter >::Element & ixe_irreducible ( Element R,
Degree  n 
) const
inline

random irreducible polynomial with X as primitive root

Poly1FactorDom< Domain, Tag, RandIter >::Element & ixe_irreducible2 ( Element R,
Degree  n 
) const
inline

random irreducible polynomial with X as primitive root

IntegerDom::Element order ( const Rep P,
const Rep F 
) const
inline
bool is_prim_root ( const Rep P,
const Rep F 
) const
Poly1FactorDom< Domain, Tag, RandIter >::Rep & random_prim_root ( Rep P,
Rep R,
Degree  n 
) const
inline
Poly1FactorDom< Domain, Tag, RandIter >::Rep & give_random_prim_root ( Rep R,
const Rep F 
) const
inline
Poly1FactorDom< Domain, Tag, RandIter >::Rep & give_prim_root ( Rep R,
const Rep F 
) const
inline

Field Documentation

RandIter _g
mutableprotected

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