|
Givaro
|
#include <givinterp.h>
Inheritance diagram for Interpolation< Domain, REDUCE >:
Collaboration diagram for Interpolation< Domain, REDUCE >:Public Types | |
| typedef std::vector< typename Domain::Element > | Vect_t |
| typedef Poly1Dom< Domain, Dense >::Element | Element |
| typedef Domain | Domain_t |
| typedef Domain::Element | Type_t |
| typedef Poly1Dom< Domain, Dense > | Self_t |
| typedef givvector< Type_t > | Storage_t |
| typedef Storage_t | Rep |
| typedef const Storage_t | constRep |
Public Member Functions | |
| Interpolation (const Domain &d, const Indeter &X=Indeter()) | |
| void | operator() (const typename Domain::Element &x, const typename Domain::Element &f) |
| Element & | interpolator () |
| 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) |
| Rep & | init (Rep &a) const |
| template<class XXX > | |
| Rep & | init (Rep &p, const XXX &cste) const |
| Rep & | init (Rep &r, const Degree deg) const |
| template<class XXX > | |
| Rep & | init (Rep &p, const Degree deg, const XXX &lcoeff) 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 |
| Type_t & | convert (Type_t &, const Rep &) const |
| template<class XXX > | |
| XXX & | convert (XXX &p, 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 |
| 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 |
| 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 |
| Degree & | degree (Degree &d, const Rep &P) const |
| Degree | degree (const Rep &P) const |
| Degree & | val (Degree &d, const Rep &P) const |
| Rep & | setdegree (Rep &P) const |
| Compute the degree of P. | |
| 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 |
| 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 & | addin (Rep &res, const Rep &u) 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 Type_t &val) const |
| Rep & | add (Rep &res, const Type_t &val, const Rep &v) const |
| Rep & | subin (Rep &res, const Rep &u) const |
| Rep & | subin (Rep &res, const Type_t &val) const |
| Rep & | sub (Rep &res, const Rep &u, const Rep &v) 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 & | negin (Rep &res) const |
| Rep & | neg (Rep &res, const Rep &u) const |
| Rep & | mulin (Rep &q, const Rep &a) const |
| Rep & | mulin (Rep &q, const Type_t &a) 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 & | mul (Rep &q, const Rep &a, const Rep &b) const |
| Rep & | mul (Rep &, const Rep &, const Rep &, const Degree &, const Degree &) 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 & | shift (Rep &, const Rep &, int) const |
| Rep & | divin (Rep &q, const Rep &a) const |
| Rep & | divin (Rep &q, const Type_t &a) 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 & | axpy (Rep &r, const Rep &a, const Rep &x, const Rep &y) 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 Type_t &a, const Rep &x) const |
| Rep & | maxpy (Rep &r, const Rep &a, const Rep &b, const Rep &c) 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 &b) const |
| Rep & | maxpyin (Rep &r, const Type_t &a, const Rep &b) const |
| Rep & | axmy (Rep &r, const Rep &a, const Rep &x, const Rep &y) 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 Type_t &a, const Rep &x) 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 |
| 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 |
| size_t & | sqrfree (size_t &Nfact, Rep *Fact, const Rep &P) const |
| Sqrfree decomposition. | |
Data Fields | |
| Rep | zero |
| Rep | one |
| Rep | 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 |
| typedef std::vector< typename Domain::Element > Vect_t |
Reimplemented in TruncDom< Domain >, and FixedTruncDom< Domain >.
|
inherited |
Reimplemented in TruncDom< Domain >, and FixedTruncDom< Domain >.
Reimplemented in TruncDom< Domain >, and FixedTruncDom< Domain >.
Reimplemented in TruncDom< Domain >, and FixedTruncDom< Domain >.
|
protectedinherited |
|
protectedinherited |
|
inline |
|
inline |
|
inline |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
Reimplemented in TruncDom< Domain >, and FixedTruncDom< Domain >.
Reimplemented in TruncDom< Domain >, and FixedTruncDom< Domain >.
|
inlineinherited |
Reimplemented in TruncDom< Domain >, and FixedTruncDom< Domain >.
|
inlineinherited |
Reimplemented in TruncDom< Domain >, and FixedTruncDom< Domain >.
Reimplemented in TruncDom< Domain >.
Reimplemented in TruncDom< Domain >, TruncDom< Domain >, FixedTruncDom< Domain >, and FixedTruncDom< Domain >.
|
inherited |
Reimplemented in TruncDom< Domain >.
|
inherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
Reimplemented in TruncDom< Domain >.
|
inlineinherited |
Reimplemented in TruncDom< Domain >.
Reimplemented in TruncDom< Domain >.
Reimplemented in TruncDom< Domain >.
Reimplemented in FixedTruncDom< Domain >.
|
inlineinherited |
Reimplemented in FixedTruncDom< Domain >.
|
inlineinherited |
Reimplemented in TruncDom< Domain >.
Reimplemented in TruncDom< Domain >.
Compute the degree of P.
P constant !! | P | polynomial |
Reimplemented in TruncDom< Domain >.
|
inlineinherited |
|
inherited |
Reimplemented in TruncDom< Domain >.
|
inherited |
Reimplemented in FixedTruncDom< Domain >, and TruncDom< Domain >.
|
inherited |
Reimplemented in FixedTruncDom< Domain >, and TruncDom< Domain >.
|
inherited |
Reimplemented in FixedTruncDom< Domain >, and TruncDom< Domain >.
Reimplemented in TruncDom< Domain >, and FixedTruncDom< Domain >.
|
inlineinherited |
Reimplemented in TruncDom< Domain >, and FixedTruncDom< Domain >.
|
inlineinherited |
|
inlineinherited |
Reimplemented in TruncDom< Domain >, and FixedTruncDom< Domain >.
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlineinherited |
Reimplemented in TruncDom< Domain >, and FixedTruncDom< Domain >.
|
inlineinherited |
|
inlineinherited |
Reimplemented in TruncDom< Domain >.
Reimplemented in TruncDom< Domain >.
Reimplemented in TruncDom< Domain >, and FixedTruncDom< Domain >.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
Reimplemented in TruncDom< Domain >, and FixedTruncDom< Domain >.
|
inlineinherited |
Reimplemented in TruncDom< Domain >, and FixedTruncDom< Domain >.
|
inlineprotectedinherited |
|
inlineinherited |
|
inlineprotectedinherited |
|
inlineinherited |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
Reimplemented in FixedTruncDom< Domain >.
|
inlineinherited |
Reimplemented in FixedTruncDom< Domain >.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
Reimplemented in TruncDom< Domain >, and FixedTruncDom< Domain >.
|
inlineinherited |
|
inlineinherited |
Reimplemented in TruncDom< Domain >, and FixedTruncDom< Domain >.
|
inlineinherited |
|
inlineinherited |
Reimplemented in TruncDom< Domain >, and FixedTruncDom< Domain >.
|
inlineinherited |
|
inlineinherited |
Reimplemented in TruncDom< Domain >, and FixedTruncDom< Domain >.
|
inlineinherited |
|
inlineinherited |
Reimplemented in TruncDom< Domain >, and FixedTruncDom< Domain >.
|
inlineinherited |
|
inlineinherited |
Reimplemented in TruncDom< Domain >, and FixedTruncDom< Domain >.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inherited |
|
inlineinherited |
|
inlineinherited |
Reimplemented in TruncDom< Domain >.
Reimplemented in TruncDom< Domain >.
Reimplemented in TruncDom< Domain >, and FixedTruncDom< Domain >.
Reimplemented in TruncDom< Domain >, and FixedTruncDom< Domain >.
|
inlineinherited |
Reimplemented in TruncDom< Domain >.
|
inlineinherited |
Reimplemented in TruncDom< Domain >.
|
inlineinherited |
Reimplemented in TruncDom< Domain >.
|
inlineinherited |
Reimplemented in TruncDom< Domain >.
|
inlineinherited |
Reimplemented in TruncDom< Domain >.
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.
| 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. |
| P | rep. |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
protectedinherited |
|
protectedinherited |
|
inherited |
Reimplemented in TruncDom< Domain >.
|
inherited |
Reimplemented in TruncDom< Domain >.
|
inherited |
Reimplemented in TruncDom< Domain >.
1.8.1.1