Givaro
Public Types | Public Member Functions | Data Fields | Protected Types | Protected Member Functions | Protected Attributes
NewtonInterpGeom< Domain, REDUCE > Struct Template Reference

Newton. More...

#include <givinterpgeom.h>

+ Inheritance diagram for NewtonInterpGeom< Domain, REDUCE >:
+ Collaboration diagram for NewtonInterpGeom< Domain, REDUCE >:

Public Types

typedef std::vector< typename
Domain::Element > 
Vect_t
typedef TruncDom< Domain >
::Polynomial_t 
Polynomial
typedef Polynomial Element
typedef TruncDom< Domain >::Element Truncated
typedef TruncDom< Domain >::Type_t Type_t
typedef TruncDom< Domain > Self_t
typedef Poly1Dom< Domain, Dense > Father_t
typedef Domain Domain_t
typedef Father_t::Storage_t Polynomial_t
typedef std::pair
< Polynomial_t, Degree > 
Storage_t
typedef Storage_t Rep
typedef const Storage_t constRep

Public Member Functions

 NewtonInterpGeom (const Domain &d, const Indeter &X=Indeter())
template<typename BlackBox >
void initialize (const BlackBox &bb)
template<typename BlackBox >
void operator() (const BlackBox &bb)
Polynomial & Newton (Polynomial &inter)
Polynomial & interpolator (Polynomial &inter)
const Father_t & getpoldomain () const
Rep & init (Rep &p) const
template<class XXX >
Rep & init (Rep &p, const XXX &cste) const
template<class XXX >
Rep & init (Rep &p, const Degree deg, const XXX &lcoeff) const
Rep & init (Rep &r, const Degree deg) const
Polynomial_t & convert (Polynomial_t &r, const Rep &P) const
template<class XXX >
XXX & convert (XXX &r, const Rep &P) const
Type_t & convert (Type_t &, const Rep &) const
template<class UU , template< class XX > class Vect>
Vect< UU > & convert (Vect< UU > &, const Rep &P) const
template<class Domain >
Poly1Dom< Domain, Dense >::Type_t & convert (typename Poly1Dom< Domain, Dense >::Type_t &Val, const typename Poly1Dom< Domain, Dense >::Rep &P) const
template<class XXX >
XXX & convert (XXX &Val, const typename Poly1Dom< Domain, Dense >::Rep &P) const
template<class UU , template< class XX > class Vect>
Vect< UU > & convert (Vect< UU > &Val, const typename Poly1Dom< Domain, Dense >::Rep &P) const
Rep & assign (Rep &p, const Degree deg, const Type_t &lcoeff) const
Rep & assign (Rep &p, const Type_t &cste) const
Rep & assign (Rep &p, const Rep &q) const
Rep & assign (Rep &p, const Polynomial_t &r) const
Rep & assign (Rep &p, const Polynomial_t &r, const Degree v, const Degree d) const
Rep & mulin (Rep &p, const Degree &s) const
Rep & mulin (Rep &P, const Rep &Q) const
Rep & mulin (Rep &r, const Rep &v, const Degree &Val, const Degree &deg) const
Rep & mulin (Rep &q, const Type_t &a) const
Rep & divin (Rep &p, const Degree &s) const
Rep & divin (Rep &q, const Rep &a) const
Rep & divin (Rep &q, const Type_t &a) const
Rep & setdegree (Rep &P) const
 Compute the degree of P.
Rep & setval (Rep &P) const
Degree & degree (Degree &d, const Rep &P) const
Degree degree (const Rep &P) const
Degree & val (Degree &d, const Rep &P) const
int isZero (const Rep &P) const
int isOne (const Rep &P) const
int areEqual (const Rep &P, const Rep &Q) const
int areNEqual (const Rep &P, const Rep &Q) const
Rep & shift (Rep &p, const Degree &s) const
Rep & shift (Rep &, const Rep &, int) const
Rep & truncin (Rep &p, const Degree &v, const Degree &d) const
Rep & trunc (Rep &p, const Rep &R, const Degree &v, const Degree &d) const
std::istream & read (std::istream &i)
std::istream & read (std::istream &i, Rep &n) const
std::ostream & write (std::ostream &o) const
std::ostream & write (std::ostream &o, const Rep &n) const
Rep & expand (Rep &P, const Degree &d) const
Rep & addin (Rep &R, const Rep &P) const
Rep & addin (Rep &R, const Rep &P, const Degree &v, const Degree &d) const
Rep & addin (Rep &res, const Type_t &val) const
Rep & add (Rep &res, const Rep &u, const Rep &v) const
Rep & add (Rep &res, const Rep &u, const Rep &v, const Degree &Val, const Degree &deg) const
Rep & add (Rep &res, const Rep &u, const Type_t &val) const
Rep & add (Rep &res, const Type_t &val, const Rep &v) const
Rep & neg (Rep &R, const Rep &P) const
Rep & negin (Rep &R) const
Rep & sub (Rep &res, const Rep &u, const Rep &v) const
Rep & sub (Rep &R, const Rep &P, const Rep &Q, const Degree &v, const Degree &d) const
Rep & sub (Rep &res, const Rep &u, const Type_t &val) const
Rep & sub (Rep &res, const Type_t &val, const Rep &v) const
Rep & subin (Rep &R, const Rep &P) const
Rep & subin (Rep &R, const Rep &P, const Degree &v, const Degree &d) const
Rep & subin (Rep &res, const Type_t &val) const
Rep & mul (Rep &res, const Rep &u, const Rep &v) const
Rep & mul (Rep &r, const Rep &u, const Rep &v, const Degree &Val, const Degree &deg) const
Rep & mul (Rep &q, const Type_t &a, const Rep &b) const
Rep & mul (Rep &q, const Rep &a, const Type_t &b) const
Rep & axpy (Rep &r, const Rep &a, const Rep &x, const Rep &y) const
Rep & axpy (Rep &r, const Rep &a, const Rep &x, const Rep &y, const Degree &Val, const Degree &deg) const
Rep & axpy (Rep &r, const Type_t &a, const Rep &x, const Rep &y) const
Rep & axpyin (Rep &r, const Rep &a, const Rep &x) const
Rep & axpyin (Rep &r, const Rep &a, const Rep &x, const Degree &Val, const Degree &deg) const
Rep & axpyin (Rep &r, const Type_t &a, const Rep &x) const
Rep & axmy (Rep &r, const Rep &a, const Rep &x, const Rep &y) const
Rep & axmy (Rep &r, const Rep &a, const Rep &x, const Rep &y, const Degree &Val, const Degree &deg) const
Rep & axmy (Rep &r, const Type_t &a, const Rep &x, const Rep &y) const
Rep & axmyin (Rep &r, const Rep &a, const Rep &x) const
Rep & axmyin (Rep &r, const Rep &a, const Rep &x, const Degree &Val, const Degree &deg) const
Rep & axmyin (Rep &r, const Type_t &a, const Rep &x) const
Rep & maxpy (Rep &r, const Rep &a, const Rep &x, const Rep &y) const
Rep & maxpy (Rep &r, const Rep &a, const Rep &x, const Rep &y, const Degree &Val, const Degree &deg) const
Rep & maxpy (Rep &r, const Type_t &a, const Rep &b, const Rep &c) const
Rep & maxpyin (Rep &r, const Rep &a, const Rep &x) const
Rep & maxpyin (Rep &r, const Rep &a, const Rep &x, const Degree &Val, const Degree &deg) const
Rep & maxpyin (Rep &r, const Type_t &a, const Rep &b) const
template<class RandIter >
Rep & random (RandIter &g, Rep &r) const
template<class RandIter >
Rep & random (RandIter &g, Rep &r, long s) const
template<class RandIter >
Rep & random (RandIter &g, Rep &r, Degree s) const
Rep & random (GivRandom &g, Rep &r, Degree s) const
template<class RandIter >
Rep & random (RandIter &g, Rep &r, const Rep &b) const
template<class RandIter >
Poly1Dom< Domain, Dense >::Rep & random (RandIter &g, typename Poly1Dom< Domain, Dense >::Rep &r, Degree d) const
template<class RandIter >
Rep & nonzerorandom (RandIter &g, Rep &r) const
template<class RandIter >
Rep & nonzerorandom (RandIter &g, Rep &r, long s) const
template<class RandIter >
Rep & nonzerorandom (RandIter &g, Rep &r, Degree s) const
template<class RandIter >
Rep & nonzerorandom (RandIter &g, Rep &r, const Rep &b) const
Type_t characteristic () const
Integer & characteristic (Integer &p) const
int operator== (const Poly1Dom< Domain, Dense > &BC) const
int operator!= (const Poly1Dom< Domain, Dense > &BC) const
const Indeter & getIndeter () const
Indeter & setIndeter (const Indeter &X)
const Domain & subdomain () const
const Domain & getdomain () const
Domain & setdomain (const Domain &D)
const Domain & subDomain () const
const Domain & getDomain () const
Domain & setDomain (const Domain &D)
Type_t & leadcoef (Type_t &c, const Rep &P) const
Type_t & getEntry (Type_t &c, const Degree &i, const Rep &P) const
Type_t setEntry (Rep &P, const Type_t &c, const Degree &i) const
Rep & setDegree (Rep &P) const
Type_t & eval (Type_t &pval, const Rep &P, const Type_t &val) const
Rep & diff (Rep &P, const Rep &Q) const
Rep & reverse (Rep &, const Rep &) const
Rep & reversein (Rep &) const
Rep & stdmul (Rep &R, const Rep &P, const Rep &Q) const
Rep & karamul (Rep &R, const Rep &P, const Rep &Q) const
Rep & sqr (Rep &q, const Rep &a) const
Rep & shiftin (Rep &, int) const
Rep & div (Rep &q, const Rep &a, const Rep &b) const
Rep & div (Rep &q, const Type_t &a, const Rep &b) const
Rep & div (Rep &q, const Rep &a, const Type_t &b) const
Rep & modin (Rep &q, const Rep &a) const
Rep & modin (Rep &q, const Type_t &a) const
Rep & mod (Rep &q, const Rep &a, const Rep &b) const
Rep & mod (Rep &q, const Type_t &a, const Rep &b) const
Rep & mod (Rep &q, const Rep &a, const Type_t &b) const
Rep & divmod (Rep &q, Rep &r, const Rep &a, const Rep &b) const
Rep & divmodin (Rep &q, Rep &r, const Rep &b) const
Rep & pdivmod (Rep &q, Rep &r, Type_t &m, const Rep &a, const Rep &b) const
Rep & pmod (Rep &r, Type_t &m, const Rep &a, const Rep &b) const
Rep & pmod (Rep &r, const Rep &a, const Rep &b) const
Rep & pdiv (Rep &q, Type_t &m, const Rep &a, const Rep &b) const
Rep & pdiv (Rep &q, const Rep &a, const Rep &b) const
Rep & gcd (Rep &D, const Rep &P, const Rep &Q) const
Rep & gcd (Rep &D, Rep &U, Rep &V, const Rep &P, const Rep &Q) const
Rep & lcm (Rep &D, const Rep &P, const Rep &Q) const
Rep & invmod (Rep &U, const Rep &P, const Rep &Q) const
Rep & invmodunit (Rep &U, const Rep &P, const Rep &Q) const
void ratrecon (Rep &N, Rep &D, const Rep &P, const Rep &M, const Degree &dk) const
bool ratreconcheck (Rep &N, Rep &D, const Rep &P, const Rep &M, const Degree &dk) const
Rep & pow (Rep &W, const Rep &P, long n) const
Rep & powmod (Rep &W, const Rep &P, IntegerDom::Element pwr, const Rep &U) const
template<class MyInt >
Rep & powmod (Rep &W, const Rep &P, MyInt pwr, const Rep &U) const
Rep & power_compose (Rep &W, const Rep &P, long b) const
Rep & cyclotomic (Rep &P, long n) const
size_t & sqrfree (size_t &Nfact, Rep *Fact, const Rep &P) const
 Sqrfree decomposition.

Data Fields

Storage_t zero
Storage_t one
Storage_t mOne

Protected Types

typedef Rep::iterator RepIterator
typedef Rep::const_iterator RepConstIterator

Protected Member Functions

Rep & subin (Rep &R, const Rep &P, const RepConstIterator Pbeg, const RepConstIterator Pend) const
Rep & subin (Rep &R, const RepIterator Rbeg, const Rep &P, const RepConstIterator Pbeg, const RepConstIterator Pend) const
Rep & subin (Rep &R, const RepIterator Rbeg, const RepIterator Rend, const Rep &P, const RepConstIterator Pbeg, const RepConstIterator Pend) const
Rep & mul (Rep &R, const RepIterator Rbeg, const RepIterator Rend, const Rep &P, const RepConstIterator Pbeg, const RepConstIterator Pend, const Rep &Q, const RepConstIterator Qbeg, const RepConstIterator Qend) const
Rep & stdmul (Rep &R, const RepIterator Rbeg, const RepIterator Rend, const Rep &P, const RepConstIterator Pbeg, const RepConstIterator Pend, const Rep &Q, const RepConstIterator Qbeg, const RepConstIterator Qend) const
Rep & karamul (Rep &R, const RepIterator Rbeg, const RepIterator Rend, const Rep &P, const RepConstIterator Pbeg, const RepConstIterator Pend, const Rep &Q, const RepConstIterator Qbeg, const RepConstIterator Qend) const
Rep & sqr (Rep &R, const RepIterator Rbeg, const RepIterator Rend, const Rep &P, const RepConstIterator Pbeg, const RepConstIterator Pend) const
Rep & stdsqr (Rep &R, const RepIterator Rbeg, const RepIterator Rend, const Rep &P, const RepConstIterator Pbeg, const RepConstIterator Pend, const Type_t &two) const
Rep & sqrrec (Rep &R, const RepIterator Rbeg, const RepIterator Rend, const Rep &P, const RepConstIterator Pbeg, const RepConstIterator Pend, const Type_t &two) const

Protected Attributes

Domain _domain
Indeter _x

Detailed Description

template<class Domain, bool REDUCE = true>
struct Givaro::NewtonInterpGeom< Domain, REDUCE >

Newton.


Member Typedef Documentation

typedef std::vector< typename Domain::Element > Vect_t

Reimplemented from TruncDom< Domain >.

Reimplemented from TruncDom< Domain >.

typedef TruncDom<Domain> Self_t
inherited

Reimplemented from Poly1Dom< Domain, Dense >.

Reimplemented in FixedTruncDom< Domain >.

typedef Poly1Dom<Domain,Dense> Father_t
inherited

Reimplemented in FixedTruncDom< Domain >.

typedef Domain Domain_t
inherited

Reimplemented from Poly1Dom< Domain, Dense >.

Reimplemented in FixedTruncDom< Domain >.

typedef Father_t::Storage_t Polynomial_t
inherited

Reimplemented in FixedTruncDom< Domain >.

typedef std::pair<Polynomial_t, Degree> Storage_t
inherited

Reimplemented from Poly1Dom< Domain, Dense >.

Reimplemented in FixedTruncDom< Domain >.

typedef Storage_t Rep
inherited

Reimplemented from Poly1Dom< Domain, Dense >.

Reimplemented in FixedTruncDom< Domain >.

typedef const Storage_t constRep
inherited
typedef Rep::iterator RepIterator
protectedinherited
typedef Rep::const_iterator RepConstIterator
protectedinherited

Constructor & Destructor Documentation

NewtonInterpGeom ( const Domain &  d,
const Indeter &  X = Indeter() 
)
inline

Member Function Documentation

void initialize ( const BlackBox &  bb)
inline
void operator() ( const BlackBox &  bb)
inline
Polynomial& Newton ( Polynomial &  inter)
inline
Polynomial& interpolator ( Polynomial &  inter)
inline
const Father_t& getpoldomain ( ) const
inlineinherited
Rep& init ( Rep &  p) const
inlineinherited

Reimplemented from Poly1Dom< Domain, Dense >.

Reimplemented in FixedTruncDom< Domain >.

Examples:
examples/Polynomial/highorder.C.
Rep& init ( Rep &  p,
const XXX &  cste 
) const
inlineinherited

Reimplemented from Poly1Dom< Domain, Dense >.

Reimplemented in FixedTruncDom< Domain >.

Rep& init ( Rep &  p,
const Degree  deg,
const XXX &  lcoeff 
) const
inlineinherited

Reimplemented from Poly1Dom< Domain, Dense >.

Reimplemented in FixedTruncDom< Domain >.

Poly1Dom< Domain, Dense >::Rep & init ( Rep &  r,
const Degree  deg 
) const
inlineinherited
Polynomial_t& convert ( Polynomial_t &  r,
const Rep &  P 
) const
inlineinherited
XXX& convert ( XXX &  r,
const Rep &  P 
) const
inlineinherited

Reimplemented from Poly1Dom< Domain, Dense >.

Type_t& convert ( Type_t &  ,
const Rep &   
) const
inherited
Vect<UU>& convert ( Vect< UU > &  ,
const Rep &  P 
) const
inherited
Poly1Dom<Domain,Dense>::Type_t& convert ( typename Poly1Dom< Domain, Dense >::Type_t &  Val,
const typename Poly1Dom< Domain, Dense >::Rep &  P 
) const
inlineinherited
XXX& convert ( XXX &  Val,
const typename Poly1Dom< Domain, Dense >::Rep &  P 
) const
inlineinherited
Vect<UU>& convert ( Vect< UU > &  Val,
const typename Poly1Dom< Domain, Dense >::Rep &  P 
) const
inlineinherited
Rep& assign ( Rep &  p,
const Degree  deg,
const Type_t &  lcoeff 
) const
inlineinherited

Reimplemented from Poly1Dom< Domain, Dense >.

Reimplemented in FixedTruncDom< Domain >.

Examples:
examples/Polynomial/highorder.C.
Rep& assign ( Rep &  p,
const Type_t &  cste 
) const
inlineinherited

Reimplemented from Poly1Dom< Domain, Dense >.

Rep& assign ( Rep &  p,
const Rep &  q 
) const
inlineinherited
Rep& assign ( Rep &  p,
const Polynomial_t &  r 
) const
inlineinherited
Rep& assign ( Rep &  p,
const Polynomial_t &  r,
const Degree  v,
const Degree  d 
) const
inlineinherited

Reimplemented in FixedTruncDom< Domain >.

Rep& mulin ( Rep &  p,
const Degree &  s 
) const
inlineinherited

Reimplemented in FixedTruncDom< Domain >.

Rep& mulin ( Rep &  P,
const Rep &  Q 
) const
inlineinherited

Reimplemented from Poly1Dom< Domain, Dense >.

Reimplemented in FixedTruncDom< Domain >.

Rep& mulin ( Rep &  r,
const Rep &  v,
const Degree &  Val,
const Degree &  deg 
) const
inlineinherited

Reimplemented in FixedTruncDom< Domain >.

Poly1Dom< Domain, Dense >::Rep & mulin ( Rep &  q,
const Type_t &  a 
) const
inlineinherited
Rep& divin ( Rep &  p,
const Degree &  s 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & divin ( Rep &  q,
const Rep &  a 
) const
inlineinherited

Reimplemented in FixedTruncDom< Domain >.

Poly1Dom< Domain, Dense >::Rep & divin ( Rep &  q,
const Type_t &  a 
) const
inlineinherited
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

Reimplemented from Poly1Dom< Domain, Dense >.

Rep& setval ( Rep &  P) const
inlineinherited
Degree& degree ( Degree &  d,
const Rep &  P 
) const
inlineinherited

Reimplemented from Poly1Dom< Domain, Dense >.

Degree degree ( const Rep &  P) const
inlineinherited
Degree& val ( Degree &  d,
const Rep &  P 
) const
inlineinherited

Reimplemented from Poly1Dom< Domain, Dense >.

int isZero ( const Rep &  P) const
inlineinherited

Reimplemented from Poly1Dom< Domain, Dense >.

int isOne ( const Rep &  P) const
inlineinherited

Reimplemented from Poly1Dom< Domain, Dense >.

int areEqual ( const Rep &  P,
const Rep &  Q 
) const
inlineinherited
int areNEqual ( const Rep &  P,
const Rep &  Q 
) const
inlineinherited

Reimplemented from Poly1Dom< Domain, Dense >.

Rep& shift ( Rep &  p,
const Degree &  s 
) const
inherited
Poly1Dom< Domain, Dense >::Rep & shift ( Rep &  R,
const Rep &  a,
int  s 
) const
inlineinherited
TruncDom< Domain >::Rep & truncin ( Rep &  p,
const Degree &  v,
const Degree &  d 
) const
inlineinherited

Reimplemented in FixedTruncDom< Domain >.

Rep& trunc ( Rep &  p,
const Rep &  R,
const Degree &  v,
const Degree &  d 
) const
inlineinherited

Reimplemented in FixedTruncDom< Domain >.

std::istream& read ( std::istream &  i)
inlineinherited

Reimplemented from Poly1Dom< Domain, Dense >.

std::istream& read ( std::istream &  i,
Rep &  n 
) const
inlineinherited

Reimplemented from Poly1Dom< Domain, Dense >.

Reimplemented in FixedTruncDom< Domain >.

std::ostream& write ( std::ostream &  o) const
inlineinherited

Reimplemented from Poly1Dom< Domain, Dense >.

Reimplemented in FixedTruncDom< Domain >.

std::ostream& write ( std::ostream &  o,
const Rep &  n 
) const
inlineinherited

Reimplemented from Poly1Dom< Domain, Dense >.

Reimplemented in FixedTruncDom< Domain >.

Rep& expand ( Rep &  P,
const Degree &  d 
) const
inlineinherited
TruncDom< Domain >::Rep & addin ( Rep &  R,
const Rep &  P 
) const
inlineinherited

Reimplemented from Poly1Dom< Domain, Dense >.

Reimplemented in FixedTruncDom< Domain >.

TruncDom< Domain >::Rep & addin ( Rep &  R,
const Rep &  P,
const Degree &  v,
const Degree &  d 
) const
inlineinherited

Reimplemented in FixedTruncDom< Domain >.

Poly1Dom< Domain, Dense >::Rep & addin ( Rep &  res,
const Type_t &  val 
) const
inlineinherited
Rep& add ( Rep &  res,
const Rep &  u,
const Rep &  v 
) const
inlineinherited

Reimplemented from Poly1Dom< Domain, Dense >.

Reimplemented in FixedTruncDom< Domain >.

Rep& add ( Rep &  res,
const Rep &  u,
const Rep &  v,
const Degree &  Val,
const Degree &  deg 
) const
inlineinherited

Reimplemented in FixedTruncDom< Domain >.

Poly1Dom< Domain, Dense >::Rep & add ( Rep &  res,
const Rep &  u,
const Type_t &  val 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & add ( Rep &  res,
const Type_t &  val,
const Rep &  v 
) const
inlineinherited
Rep& neg ( Rep &  R,
const Rep &  P 
) const
inlineinherited

Reimplemented from Poly1Dom< Domain, Dense >.

Rep& negin ( Rep &  R) const
inlineinherited

Reimplemented from Poly1Dom< Domain, Dense >.

Rep& sub ( Rep &  res,
const Rep &  u,
const Rep &  v 
) const
inlineinherited

Reimplemented from Poly1Dom< Domain, Dense >.

Reimplemented in FixedTruncDom< Domain >.

Rep& sub ( Rep &  R,
const Rep &  P,
const Rep &  Q,
const Degree &  v,
const Degree &  d 
) const
inlineinherited

Reimplemented in FixedTruncDom< Domain >.

Poly1Dom< Domain, Dense >::Rep & sub ( Rep &  res,
const Rep &  u,
const Type_t &  val 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & sub ( Rep &  res,
const Type_t &  val,
const Rep &  v 
) const
inlineinherited
TruncDom< Domain >::Rep & subin ( Rep &  R,
const Rep &  P 
) const
inlineinherited

Reimplemented from Poly1Dom< Domain, Dense >.

Reimplemented in FixedTruncDom< Domain >.

Rep& subin ( Rep &  R,
const Rep &  P,
const Degree &  v,
const Degree &  d 
) const
inlineinherited

Reimplemented in FixedTruncDom< Domain >.

Poly1Dom< Domain, Dense >::Rep & subin ( Rep &  res,
const Type_t &  val 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & subin ( Rep &  R,
const Rep &  P,
const RepConstIterator  Pbeg,
const RepConstIterator  Pend 
) const
inlineprotectedinherited
Poly1Dom< Domain, Dense >::Rep & subin ( Rep &  R,
const RepIterator  Rbeg,
const Rep &  P,
const RepConstIterator  Pbeg,
const RepConstIterator  Pend 
) const
inlineprotectedinherited
Poly1Dom< Domain, Dense >::Rep & subin ( Rep &  R,
const RepIterator  Rbeg,
const RepIterator  Rend,
const Rep &  P,
const RepConstIterator  Pbeg,
const RepConstIterator  Pend 
) const
inlineprotectedinherited
Rep& mul ( Rep &  res,
const Rep &  u,
const Rep &  v 
) const
inlineinherited

Reimplemented from Poly1Dom< Domain, Dense >.

Reimplemented in FixedTruncDom< Domain >.

TruncDom< Domain >::Rep & mul ( Rep &  r,
const Rep &  u,
const Rep &  v,
const Degree &  Val,
const Degree &  deg 
) const
inlineinherited

Reimplemented from Poly1Dom< Domain, Dense >.

Reimplemented in FixedTruncDom< Domain >.

Poly1Dom< Domain, Dense >::Rep & mul ( Rep &  q,
const Type_t &  a,
const Rep &  b 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & mul ( Rep &  q,
const Rep &  a,
const Type_t &  b 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & mul ( Rep &  R,
const RepIterator  Rbeg,
const RepIterator  Rend,
const Rep &  P,
const RepConstIterator  Pbeg,
const RepConstIterator  Pend,
const Rep &  Q,
const RepConstIterator  Qbeg,
const RepConstIterator  Qend 
) const
inlineprotectedinherited
Rep& axpy ( Rep &  r,
const Rep &  a,
const Rep &  x,
const Rep &  y 
) const
inlineinherited

Reimplemented from Poly1Dom< Domain, Dense >.

Reimplemented in FixedTruncDom< Domain >.

Rep& axpy ( Rep &  r,
const Rep &  a,
const Rep &  x,
const Rep &  y,
const Degree &  Val,
const Degree &  deg 
) const
inlineinherited

Reimplemented in FixedTruncDom< Domain >.

Poly1Dom< Domain, Dense >::Rep & axpy ( Rep &  r,
const Type_t &  a,
const Rep &  x,
const Rep &  y 
) const
inlineinherited
Rep& axpyin ( Rep &  r,
const Rep &  a,
const Rep &  x 
) const
inlineinherited

Reimplemented from Poly1Dom< Domain, Dense >.

Reimplemented in FixedTruncDom< Domain >.

Rep& axpyin ( Rep &  r,
const Rep &  a,
const Rep &  x,
const Degree &  Val,
const Degree &  deg 
) const
inlineinherited

Reimplemented in FixedTruncDom< Domain >.

Poly1Dom< Domain, Dense >::Rep & axpyin ( Rep &  r,
const Type_t &  a,
const Rep &  x 
) const
inlineinherited
Rep& axmy ( Rep &  r,
const Rep &  a,
const Rep &  x,
const Rep &  y 
) const
inlineinherited

Reimplemented from Poly1Dom< Domain, Dense >.

Reimplemented in FixedTruncDom< Domain >.

Rep& axmy ( Rep &  r,
const Rep &  a,
const Rep &  x,
const Rep &  y,
const Degree &  Val,
const Degree &  deg 
) const
inlineinherited

Reimplemented in FixedTruncDom< Domain >.

Poly1Dom< Domain, Dense >::Rep & axmy ( Rep &  r,
const Type_t &  a,
const Rep &  x,
const Rep &  y 
) const
inlineinherited
Rep& axmyin ( Rep &  r,
const Rep &  a,
const Rep &  x 
) const
inlineinherited

Reimplemented from Poly1Dom< Domain, Dense >.

Reimplemented in FixedTruncDom< Domain >.

Rep& axmyin ( Rep &  r,
const Rep &  a,
const Rep &  x,
const Degree &  Val,
const Degree &  deg 
) const
inlineinherited

Reimplemented in FixedTruncDom< Domain >.

Poly1Dom< Domain, Dense >::Rep & axmyin ( Rep &  r,
const Type_t &  a,
const Rep &  x 
) const
inlineinherited
Rep& maxpy ( Rep &  r,
const Rep &  a,
const Rep &  x,
const Rep &  y 
) const
inlineinherited

Reimplemented from Poly1Dom< Domain, Dense >.

Reimplemented in FixedTruncDom< Domain >.

Rep& maxpy ( Rep &  r,
const Rep &  a,
const Rep &  x,
const Rep &  y,
const Degree &  Val,
const Degree &  deg 
) const
inlineinherited

Reimplemented in FixedTruncDom< Domain >.

Poly1Dom< Domain, Dense >::Rep & maxpy ( Rep &  r,
const Type_t &  a,
const Rep &  b,
const Rep &  c 
) const
inlineinherited
Rep& maxpyin ( Rep &  r,
const Rep &  a,
const Rep &  x 
) const
inlineinherited

Reimplemented from Poly1Dom< Domain, Dense >.

Reimplemented in FixedTruncDom< Domain >.

Rep& maxpyin ( Rep &  r,
const Rep &  a,
const Rep &  x,
const Degree &  Val,
const Degree &  deg 
) const
inlineinherited

Reimplemented in FixedTruncDom< Domain >.

Poly1Dom< Domain, Dense >::Rep & maxpyin ( Rep &  r,
const Type_t &  a,
const Rep &  b 
) const
inlineinherited
Rep& random ( RandIter &  g,
Rep &  r 
) const
inlineinherited

Reimplemented from Poly1Dom< Domain, Dense >.

Rep& random ( RandIter &  g,
Rep &  r,
long  s 
) const
inlineinherited

Reimplemented from Poly1Dom< Domain, Dense >.

Rep& random ( RandIter &  g,
Rep &  r,
Degree  s 
) const
inlineinherited

Reimplemented from Poly1Dom< Domain, Dense >.

Reimplemented in FixedTruncDom< Domain >.

Rep& random ( GivRandom &  g,
Rep &  r,
Degree  s 
) const
inlineinherited

Reimplemented from Poly1Dom< Domain, Dense >.

Reimplemented in FixedTruncDom< Domain >.

Rep& random ( RandIter &  g,
Rep &  r,
const Rep &  b 
) const
inlineinherited

Reimplemented from Poly1Dom< Domain, Dense >.

Poly1Dom<Domain,Dense>::Rep& random ( RandIter &  g,
typename Poly1Dom< Domain, Dense >::Rep &  r,
Degree  d 
) const
inlineinherited
Rep& nonzerorandom ( RandIter &  g,
Rep &  r 
) const
inlineinherited

Reimplemented from Poly1Dom< Domain, Dense >.

Rep& nonzerorandom ( RandIter &  g,
Rep &  r,
long  s 
) const
inlineinherited

Reimplemented from Poly1Dom< Domain, Dense >.

Rep& nonzerorandom ( RandIter &  g,
Rep &  r,
Degree  s 
) const
inlineinherited

Reimplemented from Poly1Dom< Domain, Dense >.

Rep& nonzerorandom ( RandIter &  g,
Rep &  r,
const Rep &  b 
) const
inlineinherited

Reimplemented from Poly1Dom< Domain, Dense >.

Type_t characteristic ( ) const
inlineinherited
Integer& characteristic ( Integer &  p) const
inlineinherited
int operator== ( const Poly1Dom< Domain, Dense > &  BC) const
inlineinherited
int operator!= ( const Poly1Dom< Domain, Dense > &  BC) const
inlineinherited
const Indeter& getIndeter ( ) const
inlineinherited
Indeter& setIndeter ( const Indeter &  X)
inlineinherited
const Domain& subdomain ( ) const
inlineinherited
const Domain& getdomain ( ) const
inlineinherited
Domain& setdomain ( const Domain &  D)
inlineinherited
const Domain& subDomain ( ) const
inlineinherited
const Domain& getDomain ( ) const
inlineinherited
Domain& setDomain ( const Domain &  D)
inlineinherited
Poly1Dom< Domain, Dense >::Type_t & leadcoef ( Type_t &  c,
const Rep &  P 
) const
inlineinherited

Reimplemented in FixedTruncDom< Domain >.

Poly1Dom< Domain, Dense >::Type_t & getEntry ( Type_t &  c,
const Degree &  i,
const Rep &  P 
) const
inlineinherited

Reimplemented in FixedTruncDom< Domain >.

Poly1Dom< Domain, Dense >::Type_t setEntry ( Rep &  P,
const Type_t &  c,
const Degree &  i 
) const
inlineinherited
Rep& setDegree ( Rep &  P) const
inlineinherited
Poly1Dom< Domain, Dense >::Type_t & eval ( Type_t &  pval,
const Rep &  P,
const Type_t &  val 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & diff ( Rep &  P,
const Rep &  Q 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & reverse ( Rep &  P,
const Rep &  Q 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & reversein ( Rep &  P) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & stdmul ( Rep &  R,
const Rep &  P,
const Rep &  Q 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & stdmul ( Rep &  R,
const RepIterator  Rbeg,
const RepIterator  Rend,
const Rep &  P,
const RepConstIterator  Pbeg,
const RepConstIterator  Pend,
const Rep &  Q,
const RepConstIterator  Qbeg,
const RepConstIterator  Qend 
) const
inlineprotectedinherited
Poly1Dom< Domain, Dense >::Rep & karamul ( Rep &  R,
const Rep &  P,
const Rep &  Q 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & karamul ( Rep &  R,
const RepIterator  Rbeg,
const RepIterator  Rend,
const Rep &  P,
const RepConstIterator  Pbeg,
const RepConstIterator  Pend,
const Rep &  Q,
const RepConstIterator  Qbeg,
const RepConstIterator  Qend 
) const
inlineprotectedinherited
Poly1Dom< Domain, Dense >::Rep & sqr ( Rep &  q,
const Rep &  a 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & sqr ( Rep &  R,
const RepIterator  Rbeg,
const RepIterator  Rend,
const Rep &  P,
const RepConstIterator  Pbeg,
const RepConstIterator  Pend 
) const
inlineprotectedinherited
Poly1Dom< Domain, Dense >::Rep & shiftin ( Rep &  R,
int  s 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & div ( Rep &  q,
const Rep &  a,
const Rep &  b 
) const
inlineinherited

Reimplemented in FixedTruncDom< Domain >.

Poly1Dom< Domain, Dense >::Rep & div ( Rep &  q,
const Type_t &  a,
const Rep &  b 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & div ( Rep &  q,
const Rep &  a,
const Type_t &  b 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & modin ( Rep &  q,
const Rep &  a 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & modin ( Rep &  q,
const Type_t &  a 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & mod ( Rep &  q,
const Rep &  a,
const Rep &  b 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & mod ( Rep &  q,
const Type_t &  a,
const Rep &  b 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & mod ( Rep &  q,
const Rep &  a,
const Type_t &  b 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & divmod ( Rep &  q,
Rep &  r,
const Rep &  a,
const Rep &  b 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & divmodin ( Rep &  q,
Rep &  r,
const Rep &  b 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & pdivmod ( Rep &  q,
Rep &  r,
Type_t &  m,
const Rep &  a,
const Rep &  b 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & pmod ( Rep &  r,
Type_t &  m,
const Rep &  a,
const Rep &  b 
) const
inlineinherited
Rep& pmod ( Rep &  r,
const Rep &  a,
const Rep &  b 
) const
inherited
Rep& pdiv ( Rep &  q,
Type_t &  m,
const Rep &  a,
const Rep &  b 
) const
inherited
Rep& pdiv ( Rep &  q,
const Rep &  a,
const Rep &  b 
) const
inherited
Poly1Dom< Domain, Dense >::Rep & gcd ( Rep &  D,
const Rep &  P,
const Rep &  Q 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & gcd ( Rep &  D,
Rep &  U,
Rep &  V,
const Rep &  P,
const Rep &  Q 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & lcm ( Rep &  D,
const Rep &  P,
const Rep &  Q 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & invmod ( Rep &  U,
const Rep &  P,
const Rep &  Q 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & invmodunit ( Rep &  U,
const Rep &  P,
const Rep &  Q 
) const
inlineinherited
void ratrecon ( Rep &  N,
Rep &  D,
const Rep &  P,
const Rep &  M,
const Degree &  dk 
) const
inherited
bool ratreconcheck ( Rep &  N,
Rep &  D,
const Rep &  P,
const Rep &  M,
const Degree &  dk 
) const
inherited
Poly1Dom< Domain, Dense >::Rep & pow ( Rep &  W,
const Rep &  P,
long  n 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & powmod ( Rep &  W,
const Rep &  P,
IntegerDom::Element  pwr,
const Rep &  U 
) const
inlineinherited
Rep& powmod ( Rep &  W,
const Rep &  P,
MyInt  pwr,
const Rep &  U 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & power_compose ( Rep &  W,
const Rep &  P,
long  b 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & cyclotomic ( Rep &  P,
long  n 
) const
inlineinherited
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.
Poly1Dom< Domain, Dense >::Rep & stdsqr ( Rep &  R,
const RepIterator  Rbeg,
const RepIterator  Rend,
const Rep &  P,
const RepConstIterator  Pbeg,
const RepConstIterator  Pend,
const Type_t &  two 
) const
inlineprotectedinherited
Poly1Dom< Domain, Dense >::Rep & sqrrec ( Rep &  R,
const RepIterator  Rbeg,
const RepIterator  Rend,
const Rep &  P,
const RepConstIterator  Pbeg,
const RepConstIterator  Pend,
const Type_t &  two 
) const
inlineprotectedinherited

Field Documentation

Storage_t zero
inherited

Reimplemented from Poly1Dom< Domain, Dense >.

Storage_t one
inherited

Reimplemented from Poly1Dom< Domain, Dense >.

Storage_t mOne
inherited

Reimplemented from Poly1Dom< Domain, Dense >.

Domain _domain
protectedinherited
Indeter _x
protectedinherited

The documentation for this struct was generated from the following file: