Developer documentation

mmx::tensor Namespace Reference

namespace for representation of polynomials as dense tensor product. More...

Classes

struct  bernstein
 
struct  eenv
 
struct  monomials
 
struct  oulala
 
struct  vd
 

Typedefs

typedef tensor::eenv eenv
 

Functions

TMPL void face (Polynomial &r, const Polynomial &p, int v, int f)
 
TMPL void split (Polynomial &r, Polynomial &p, int v)
 
template<class C >
unsigned size (const bernstein< C > &p)
 
template<class C >
int degree (const bernstein< C > &p)
 
template<class C >
int degree (const bernstein< C > &p, int v)
 
TMPL Polynomial diff (const Polynomial &p, int v)
 
template<class C , class U >
void coefficients (Seq< U > &r, const Polynomial &p, int v)
 
template<class C >
void binoms (bernstein< C > &mpl)
 
template<class C >
void scale (bernstein< C > &mpl)
 
template<class C >
void uscale (bernstein< C > &mpl)
 
template<class C >
void convertb2m (monomials< C > &mpl)
 
template<class C >
void convertm2b (bernstein< C > &mpl)
 
template<class C , class V >
void convertm2b (bernstein< C > &mpl, const V &bx)
 
template<class C >
void elevate (bernstein< C > &r, const eenv &elev)
 
template<class C >
void add (bernstein< C > &mpl, const C &c)
 
template<class C >
void add (bernstein< C > &r, const bernstein< C > &a, const C &c)
 
template<class C >
void add (bernstein< C > &r, const C &c, const bernstein< C > &a)
 
template<class C >
void rewrite (bernstein< C > &r, const eenv &newe)
 
template<class C >
void add (bernstein< C > &r, const bernstein< C > &a)
 
template<class C >
void add (bernstein< C > &r, const bernstein< C > &a, const bernstein< C > &b)
 
template<class C >
void sub (bernstein< C > &r, const bernstein< C > &a)
 
template<class C >
void sub (bernstein< C > &r, const bernstein< C > &a, const bernstein< C > &b)
 
template<class C >
void sub (bernstein< C > &mpl, const C &c)
 
template<class C >
void sub (bernstein< C > &mpl, const C &c, const bernstein< C > &a)
 
template<class C >
void sub (bernstein< C > &mpl, const bernstein< C > &a, const C &c)
 
template<class C >
void mul (bernstein< C > &r, const bernstein< C > &a, const bernstein< C > &b)
 
template<class C >
void mul (bernstein< C > &r, const bernstein< C > &a)
 
template<class C >
void mul (bernstein< C > &r, const bernstein< C > &a, const C &c)
 
template<class C >
void mul (bernstein< C > &r, const C &c, const bernstein< C > &a)
 
template<class C >
void mul (bernstein< C > &r, const C &c)
 
template<class C >
void div (bernstein< C > &r, const bernstein< C > &a, const C &c)
 
template<class Result , class Coeff , class Parameters >
void eval (Result &result, const bernstein< Coeff > &controls, const Parameters &parameters)
 
template<class Coeff >
void eval (Coeff &result, const bernstein< Coeff > &controls, const Coeff &v)
 
template<class Result , class Coeff , class Parameters >
void eval (Result &result, const bernstein< Coeff > &controls, const Parameters &parameters, unsigned n)
 
template<class Result , class Coeff , class Parameters >
void subs0 (Result *result, const bernstein< Coeff > &controls, const Parameters &parameters)
 
template<class C >
void casteljau (bernstein< C > &a, bernstein< C > &b, const C &t, int v)
 
template<class C >
void casteljau (bernstein< C > &left, bernstein< C > &right, const bernstein< C > &source, const C &t, int v)
 
template<class C >
void casteljau (bernstein< C > &a, bernstein< C > &b, int v)
 
template<class C >
void casteljau (bernstein< C > &left, bernstein< C > &right, const bernstein< C > &source, int v)
 
template<class C >
std::ostream & operator<< (std::ostream &o, const bernstein< C > &mpl)
 
template<class C >
void assign (monomials< C > &monoms, const bernstein< C > &controls)
 
template<class C >
void cfdump (std::ostream &o, const bernstein< C > &mpl)
 
template<class OSTREAM , class C >
void mprint (OSTREAM &o, const bernstein< C > &mpl)
 
template<class OSTREAM , class C >
void print (OSTREAM &o, const bernstein< C > &mpl)
 
template<class OSTREAM , class C >
void print (OSTREAM &o, const bernstein< C > &mpl, const variables &v)
 
template<class C >
void diff (bernstein< C > &res, const bernstein< C > &src, int v)
 
template<class C , class T >
void split (bernstein< C > &l, bernstein< C > &r, int v, const T &t)
 
template<class C >
void split (bernstein< C > &l, bernstein< C > &r, int v)
 
template<class C , class T >
void restrict (bernstein< C > &rst, int v, const T &a, const T &b)
 
template<class C >
void lface (bernstein< C > &f, const bernstein< C > &src, int v)
 
template<class C >
void rface (bernstein< C > &f, const bernstein< C > &src, int v)
 
template<class C >
void face (bernstein< C > &f, const bernstein< C > &src, int v, int n)
 
template<class MPLBASE , class C >
void scadd (MPLBASE &mpl, const C &c)
 
template<class MPLBASE , class MPLBASE1 , class C >
void scadd (MPLBASE &r, const MPLBASE1 &a, const C &c)
 
template<class MPLBASE0 , class MPLBASE1 >
void conv (MPLBASE0 &r, const MPLBASE1 &a)
 
template<class MPLBASE0 , class MPLBASE1 , class MPLBASE2 >
void conv (MPLBASE0 &r, const MPLBASE1 &a, const MPLBASE2 &b)
 
template<class UPOL , class MPOL >
UPOL convert (const MPOL &p, unsigned v)
 
std::ostream & operator<< (std::ostream &out, const eenv &env)
 
std::ostream & operator<< (std::ostream &o, const vd &vd_)
 
template<class MONOM >
void mescan (int &last, vd *vdeg, const MONOM &m)
 
template<class R , class C , class eenv , class P >
void levalm (R &result, const C *data, const eenv &env, const P &p)
 
template<class R , class C , class eenv , class P >
void hevalm (R &result, const C *data, const eenv &env, const P &p)
 
template<typename real_t , typename value_t >
void decasteljau (real_t *r, unsigned sz, const value_t &t, int str=1)
 
template<class R , class C , class eenv , class P >
void levalb (R &result, const C *data, const eenv &env, const P &p)
 
template<class OutputIterator , class C , class eenv >
void maxs (OutputIterator _maxs_, const C *data, const eenv &env, int v)
 
template<class OutputIterator , class C , class eenv >
void mins (OutputIterator _mins_, const C *data, const eenv &env, int v)
 
template<class C , class eenv >
void vswap (C *data, const eenv &env, int *perm, int *supp=0, int nsupp=0)
 
template<class C , class eenv >
void binoms (C *data, const eenv &env, binomials< C > &binms)
 
template<class C >
void ibinoms (C *data, const eenv &env, binomials< C > &binms)
 
template<class C , class eenv >
void scale (C *data, const eenv &env, binomials< C > &binoms)
 
template<class C , class eenv >
void uscale (C *data, const eenv &env, binomials< C > &binoms)
 
template<class C >
void convertb2m (C *bzc, unsigned sz, int st, binomials< C > &binom)
 
template<class C >
void convertm2b (C *bzc, unsigned sz, int st, binomials< C > &binoms)
 
template<class C , class eenv >
void convertm2b (C *data, const eenv &e, binomials< C > &bins, int v)
 
template<class C , class eenv >
void convertm2b (C *data, const eenv &env, binomials< C > &bins)
 
template<class C , class eenv >
void convertb2m (C *data, const eenv &e, binomials< C > &bins, int v)
 
template<class C , class eenv >
void convertb2m (C *data, const eenv &env, binomials< C > &bins)
 
template<typename C >
void diff (C *b, const C *a, unsigned sz, int sb, int sa)
 
template<typename C >
void diff (C *b, C *e, C const *a, int s)
 
template<typename C >
void diff (C *b, C *e, C const *a)
 
template<typename C >
void m_diff (C *op, const eenv &o, C const *ap, const eenv &a, int v)
 
template<typename C >
void mdiff (C *dst, const eenv &a, C const *const src, const eenv &esrc, int v)
 
template<class C , class T >
void bsplit_uloop (C *r, C *rlast, C *l, const T &t, int st)
 
template<class C , class eenv , class T >
void bsplit (C *l, C *r, const eenv &env, const T &t, int v)
 
template<class C >
void bsplit2_uloop (C *r, C *rlast, C *l, int st)
 
template<class C , class eenv >
void bsplit2 (C *l, C *r, const eenv &env, int v)
 
template<class C , class T >
void brestrict_uloop (C *r, C *rlast, int st, const T &a, const T &b)
 
template<class C , class T >
void brestrictLR (C *s, const eenv &env, int v, const T &a, const T &b, const T &c, const T &d)
 
template<class C , class T >
void brestrictRL (C *s, const eenv &env, int v, const T &a, const T &b, const T &c, const T &d)
 
template<class C , class eenv , class T >
void brestrict (C *src, const eenv &env, int v, const T &a, const T &b)
 
template<class C >
void lface (C *dst, const eenv &a, const C *src, int v)
 
template<class C >
void rface (C *dst, const eenv &a, const C *src, int v)
 
template<class C >
void slice (C *dst, const eenv &a, const C *src, int v, int n)
 
template<class C , class X , class O , class eenv >
void mpolfill (C *data, const sparse::monomial_seq< X, O > &mpol, const eenv &env)
 
template<class C >
void realloc (monomials< C > &mpl, const eenv &nenv)
 
template<class C >
void clear (monomials< C > &monoms)
 
template<class C >
void clear (monomials< C > &mpl, const eenv &nenv)
 
template<class C >
bool varindex (int &lv, const monomials< C > &mpl, int gv)
 
template<class C >
std::ostream & operator<< (std::ostream &o, const monomials< C > &mpl)
 
template<class Result , class Coeff , class Parameters >
void eval (Result &result, const monomials< Coeff > &monoms, const Parameters &parameters)
 
template<class Result , class Coeff , class Parameters >
void eval (Result &result, const monomials< Coeff > &monoms, const Parameters &parameters, unsigned n)
 
template<class Result , class Coeff , class Parameters >
void heval (Result &result, const monomials< Coeff > &monoms, const Parameters &parameters)
 
template<class Result , class Coeff , class Parameters >
void subs0 (Result *result, const monomials< Coeff > &monoms, const Parameters &parameters)
 
template<class C >
void extend (monomials< C > &mpl, const eenv &nenv)
 
template<class X , class Y >
void waddm (monomials< X > &mpla, const monomials< Y > &mplb)
 
template<class X , class C >
void add (monomials< X > &r, const monomials< X > &a, const C &c)
 
template<class C >
void add (monomials< C > &a, const C &x)
 
template<class C >
void add (monomials< C > &r, const C &c, const monomials< C > &a)
 
template<class C >
void add (monomials< C > &r, const monomials< C > &a)
 
template<class C >
void add (monomials< C > &r, const monomials< C > &a, const monomials< C > &b)
 
template<class C >
void sub (monomials< C > &r, const monomials< C > &a, const monomials< C > &b)
 
template<class C >
void sub (monomials< C > &mpl, const C &c, const monomials< C > &a)
 
template<class X , class Y >
void wsubm (monomials< X > &mpla, const monomials< Y > &mplb)
 
template<class X , class Y >
void sub (monomials< X > &r, const monomials< Y > &a)
 
template<class X , class C >
void sub (monomials< X > &r, const monomials< X > &a, const C &c)
 
template<class C , class X >
void sub (monomials< C > &a, const X &x)
 
template<class C >
void mul (monomials< C > &r, const C &c)
 
template<class C >
void div (monomials< C > &r, const C &c)
 
template<class C >
void mul (monomials< C > &r, const monomials< C > &a)
 
template<class X , class Y , class Z >
void mul (monomials< X > &r, const monomials< Y > &a, const monomials< Z > &b)
 
template<class C >
void mul (monomials< C > &a, const monomials< C > &b, const C &c)
 
template<class C >
void mul (monomials< C > &r, const C &c, const monomials< C > &a)
 
template<class C >
void div (monomials< C > &r, const monomials< C > &a, const C &c)
 
template<class OSTREAM , class C >
OSTREAM & print (OSTREAM &os, const monomials< C > &mpl, const variables &Var=monom< C >::var)
 
template<class SYNTAX , class C >
void print_flatten (SYNTAX &out, const monomials< C > &mpl, const variables &Var=monom< C >::var)
 
template<class Coeff >
int degree (const monomials< Coeff > &p)
 
template<class Coeff >
int degree (const monomials< Coeff > &p, int v)
 
template<class Coeff >
int leading_variable (const monomials< Coeff > &p)
 
template<class Coeff >
void diff (monomials< Coeff > &res, const monomials< Coeff > &src, int v)
 
template<class C , class O >
void convert (monomials< C > &mpl, const sparse::monomial_seq< C, O > &imp)
 
template<class C , class O >
void convert (sparse::monomial_seq< C, O > &pol, const monomials< C > &mpl)
 
eenv face_env (const eenv &e, int lv)
 
template<class C >
void lface (monomials< C > &f, const monomials< C > &src, int v)
 
template<class C >
void rface (monomials< C > &f, const monomials< C > &src, int v)
 
template<class C >
void face (monomials< C > &f, const monomials< C > &src, int v, int n)
 
template<class C >
void islice (monomials< C > &f, const monomials< C > &src, int v, int i)
 
template<class C >
void slice (monomials< C > &f, const monomials< C > &src, int v, int n)
 
template<class C >
void shift (monomials< C > &f, const C &t, const int &v)
 Compute f (var[v]+t) More...
 
template<class C >
void set_variable (monomials< C > &f, C t, int v)
 Compute f (x_v=t) More...
 
template<class C >
void reciprocal (monomials< C > &f, const int &v)
 Compute f (1/var[v]) More...
 
template<class C >
void contraction (monomials< C > &f, const C &t, const int &v)
 Compute f (a*var[v]) More...
 
template<class C >
void mins (monomials< C > &mm, monomials< C > &f, int v)
 
template<class C >
void maxs (monomials< C > &mm, monomials< C > &f, int v)
 
template<class C >
void rename_var (monomials< C > &f, const int &v, const int &n)
 

Detailed Description

namespace for representation of polynomials as dense tensor product.

Typedef Documentation

Function Documentation

template<class C >
void mmx::tensor::add ( bernstein< C > &  mpl,
const C c 
)
template<class C >
void mmx::tensor::add ( bernstein< C > &  r,
const bernstein< C > &  a,
const C c 
)
template<class C >
void mmx::tensor::add ( bernstein< C > &  r,
const C c,
const bernstein< C > &  a 
)
template<class C >
void mmx::tensor::add ( bernstein< C > &  r,
const bernstein< C > &  a 
)
template<class C >
void mmx::tensor::add ( bernstein< C > &  r,
const bernstein< C > &  a,
const bernstein< C > &  b 
)
template<class X , class C >
void mmx::tensor::add ( monomials< X > &  r,
const monomials< X > &  a,
const C c 
)
inline
template<class C >
void mmx::tensor::add ( monomials< C > &  a,
const C x 
)
inline
template<class C >
void mmx::tensor::add ( monomials< C > &  r,
const C c,
const monomials< C > &  a 
)
template<class C >
void mmx::tensor::add ( monomials< C > &  r,
const monomials< C > &  a 
)
inline
template<class C >
void mmx::tensor::add ( monomials< C > &  r,
const monomials< C > &  a,
const monomials< C > &  b 
)
inline
template<class C >
void mmx::tensor::assign ( monomials< C > &  monoms,
const bernstein< C > &  controls 
)
template<class C >
void mmx::tensor::binoms ( bernstein< C > &  mpl)
inline
template<class C , class eenv >
void mmx::tensor::binoms ( C data,
const eenv env,
binomials< C > &  binms 
)
template<class C , class eenv , class T >
void mmx::tensor::brestrict ( C src,
const eenv env,
int  v,
const T &  a,
const T &  b 
)
inline
template<class C , class T >
void mmx::tensor::brestrict_uloop ( C r,
C rlast,
int  st,
const T &  a,
const T &  b 
)
inline
template<class C , class T >
void mmx::tensor::brestrictLR ( C s,
const eenv env,
int  v,
const T &  a,
const T &  b,
const T &  c,
const T &  d 
)
inline
template<class C , class T >
void mmx::tensor::brestrictRL ( C s,
const eenv env,
int  v,
const T &  a,
const T &  b,
const T &  c,
const T &  d 
)
inline
template<class C , class eenv , class T >
void mmx::tensor::bsplit ( C l,
C r,
const eenv env,
const T &  t,
int  v 
)
inline
template<class C , class eenv >
void mmx::tensor::bsplit2 ( C l,
C r,
const eenv env,
int  v 
)
template<class C >
void mmx::tensor::bsplit2_uloop ( C r,
C rlast,
C l,
int  st 
)
inline
template<class C , class T >
void mmx::tensor::bsplit_uloop ( C r,
C rlast,
C l,
const T &  t,
int  st 
)
inline
template<class C >
void mmx::tensor::casteljau ( bernstein< C > &  a,
bernstein< C > &  b,
const C t,
int  v 
)
template<class C >
void mmx::tensor::casteljau ( bernstein< C > &  left,
bernstein< C > &  right,
const bernstein< C > &  source,
const C t,
int  v 
)
template<class C >
void mmx::tensor::casteljau ( bernstein< C > &  a,
bernstein< C > &  b,
int  v 
)
template<class C >
void mmx::tensor::casteljau ( bernstein< C > &  left,
bernstein< C > &  right,
const bernstein< C > &  source,
int  v 
)
template<class C >
void mmx::tensor::cfdump ( std::ostream &  o,
const bernstein< C > &  mpl 
)
template<class C >
void mmx::tensor::clear ( monomials< C > &  monoms)
inline
template<class C >
void mmx::tensor::clear ( monomials< C > &  mpl,
const eenv nenv 
)
inline
template<class C , class U >
void mmx::tensor::coefficients ( Seq< U > &  r,
const Polynomial p,
int  v 
)
template<class C >
void mmx::tensor::contraction ( monomials< C > &  f,
const C t,
const int &  v 
)

Compute f (a*var[v])

template<class MPLBASE0 , class MPLBASE1 >
void mmx::tensor::conv ( MPLBASE0 &  r,
const MPLBASE1 &  a 
)
template<class MPLBASE0 , class MPLBASE1 , class MPLBASE2 >
void mmx::tensor::conv ( MPLBASE0 &  r,
const MPLBASE1 &  a,
const MPLBASE2 &  b 
)
template<class UPOL , class MPOL >
UPOL mmx::tensor::convert ( const MPOL &  p,
unsigned  v 
)

Convert a multivariate polynomial to univariate one, formally by substuting all the variables but the variable of index ind by 1.

template<class C , class O >
void mmx::tensor::convert ( monomials< C > &  mpl,
const sparse::monomial_seq< C, O > &  imp 
)
template<class C , class O >
void mmx::tensor::convert ( sparse::monomial_seq< C, O > &  pol,
const monomials< C > &  mpl 
)
template<class C >
void mmx::tensor::convertb2m ( monomials< C > &  mpl)
inline
template<class C >
void mmx::tensor::convertb2m ( C bzc,
unsigned  sz,
int  st,
binomials< C > &  binom 
)
inline
template<class C , class eenv >
void mmx::tensor::convertb2m ( C data,
const eenv e,
binomials< C > &  bins,
int  v 
)

Convert a multivariate polynomial data in the bernstein basis to the tensor basis along the v variable

template<class C , class eenv >
void mmx::tensor::convertb2m ( C data,
const eenv env,
binomials< C > &  bins 
)

Convert a multivariate polynomial data in the bernstein basis to the tensor basis

template<class C >
void mmx::tensor::convertm2b ( bernstein< C > &  mpl)
inline
template<class C , class V >
void mmx::tensor::convertm2b ( bernstein< C > &  mpl,
const V &  bx 
)
inline
template<class C >
void mmx::tensor::convertm2b ( C bzc,
unsigned  sz,
int  st,
binomials< C > &  binoms 
)
inline
template<class C , class eenv >
void mmx::tensor::convertm2b ( C data,
const eenv e,
binomials< C > &  bins,
int  v 
)

Convert a multivariate polynomial data in the tensors basis into the bernstein basis along the v variable.

template<class C , class eenv >
void mmx::tensor::convertm2b ( C data,
const eenv env,
binomials< C > &  bins 
)

Convert a multivariate polynomial data in the tensors basis into the bernstein basis

template<typename real_t , typename value_t >
void mmx::tensor::decasteljau ( real_t *  r,
unsigned  sz,
const value_t &  t,
int  str = 1 
)
template<class C >
int mmx::tensor::degree ( const bernstein< C > &  p)
inline
template<class C >
int mmx::tensor::degree ( const bernstein< C > &  p,
int  v 
)
inline
template<class Coeff >
int mmx::tensor::degree ( const monomials< Coeff > &  p)
inline
template<class Coeff >
int mmx::tensor::degree ( const monomials< Coeff > &  p,
int  v 
)
inline
TMPL Polynomial mmx::tensor::diff ( const Polynomial p,
int  v 
)
template<typename C >
void mmx::tensor::diff ( C b,
const C a,
unsigned  sz,
int  sb,
int  sa 
)
inline
template<class C >
void mmx::tensor::diff ( bernstein< C > &  res,
const bernstein< C > &  src,
int  v 
)
inline
template<typename C >
void mmx::tensor::diff ( C b,
C e,
C const *  a,
int  s 
)
inline
template<typename C >
void mmx::tensor::diff ( C b,
C e,
C const *  a 
)
inline
template<class Coeff >
void mmx::tensor::diff ( monomials< Coeff > &  res,
const monomials< Coeff > &  src,
int  v 
)
inline
template<class C >
void mmx::tensor::div ( bernstein< C > &  r,
const bernstein< C > &  a,
const C c 
)
inline
template<class C >
void mmx::tensor::div ( monomials< C > &  r,
const C c 
)
template<class C >
void mmx::tensor::div ( monomials< C > &  r,
const monomials< C > &  a,
const C c 
)
inline
template<class C >
void mmx::tensor::elevate ( bernstein< C > &  r,
const eenv elev 
)
template<class Result , class Coeff , class Parameters >
void mmx::tensor::eval ( Result &  result,
const monomials< Coeff > &  monoms,
const Parameters &  parameters 
)
inline
template<class Result , class Coeff , class Parameters >
void mmx::tensor::eval ( Result &  result,
const monomials< Coeff > &  monoms,
const Parameters &  parameters,
unsigned  n 
)
inline
template<class Result , class Coeff , class Parameters >
void mmx::tensor::eval ( Result &  result,
const bernstein< Coeff > &  controls,
const Parameters &  parameters 
)
inline
template<class Coeff >
void mmx::tensor::eval ( Coeff &  result,
const bernstein< Coeff > &  controls,
const Coeff &  v 
)
inline
template<class Result , class Coeff , class Parameters >
void mmx::tensor::eval ( Result &  result,
const bernstein< Coeff > &  controls,
const Parameters &  parameters,
unsigned  n 
)
inline
template<class C >
void mmx::tensor::extend ( monomials< C > &  mpl,
const eenv nenv 
)
TMPL void mmx::tensor::face ( Polynomial r,
const Polynomial p,
int  v,
int  f 
)
template<class C >
void mmx::tensor::face ( bernstein< C > &  f,
const bernstein< C > &  src,
int  v,
int  n 
)
inline
template<class C >
void mmx::tensor::face ( monomials< C > &  f,
const monomials< C > &  src,
int  v,
int  n 
)
inline
eenv mmx::tensor::face_env ( const eenv e,
int  lv 
)
inline
template<class Result , class Coeff , class Parameters >
void mmx::tensor::heval ( Result &  result,
const monomials< Coeff > &  monoms,
const Parameters &  parameters 
)
inline
template<class R , class C , class eenv , class P >
void mmx::tensor::hevalm ( R &  result,
const C data,
const eenv env,
const P p 
)
template<class C >
void mmx::tensor::ibinoms ( C data,
const eenv env,
binomials< C > &  binms 
)
template<class C >
void mmx::tensor::islice ( monomials< C > &  f,
const monomials< C > &  src,
int  v,
int  i 
)
inline
template<class Coeff >
int mmx::tensor::leading_variable ( const monomials< Coeff > &  p)
inline
template<class R , class C , class eenv , class P >
void mmx::tensor::levalb ( R &  result,
const C data,
const eenv env,
const P p 
)

Evaluation in bernstein form as levalm()

template<class R , class C , class eenv , class P >
void mmx::tensor::levalm ( R &  result,
const C data,
const eenv env,
const P p 
)

Evaluation by horner scheme of multivariate polynomial data. result is the result of the evaluation of the coefficients in dense tensor form starting at data and corresponding to the sizes and ordering of variables represented by env. p is the parameter array (operator[]) supposed to be as large as the number of variables in env. result is assumed to be assignable to the Type::Sup value of P and R. Note that levalm() index of variables are local to env, it's the difference with gevalm.

template<class C >
void mmx::tensor::lface ( bernstein< C > &  f,
const bernstein< C > &  src,
int  v 
)
inline
template<class C >
void mmx::tensor::lface ( monomials< C > &  f,
const monomials< C > &  src,
int  v 
)
inline
template<class C >
void mmx::tensor::lface ( C dst,
const eenv a,
const C src,
int  v 
)
template<typename C >
void mmx::tensor::m_diff ( C op,
const eenv o,
C const *  ap,
const eenv a,
int  v 
)
template<class OutputIterator , class C , class eenv >
void mmx::tensor::maxs ( OutputIterator  _maxs_,
const C data,
const eenv env,
int  v 
)
template<class C >
void mmx::tensor::maxs ( monomials< C > &  mm,
monomials< C > &  f,
int  v 
)
template<typename C >
void mmx::tensor::mdiff ( C dst,
const eenv a,
C const *const  src,
const eenv esrc,
int  v 
)
template<class MONOM >
void mmx::tensor::mescan ( int &  last,
vd vdeg,
const MONOM &  m 
)
template<class OutputIterator , class C , class eenv >
void mmx::tensor::mins ( OutputIterator  _mins_,
const C data,
const eenv env,
int  v 
)
template<class C >
void mmx::tensor::mins ( monomials< C > &  mm,
monomials< C > &  f,
int  v 
)
template<class C , class X , class O , class eenv >
void mmx::tensor::mpolfill ( C data,
const sparse::monomial_seq< X, O > &  mpol,
const eenv env 
)
template<class OSTREAM , class C >
void mmx::tensor::mprint ( OSTREAM &  o,
const bernstein< C > &  mpl 
)
template<class C >
void mmx::tensor::mul ( bernstein< C > &  r,
const bernstein< C > &  a,
const bernstein< C > &  b 
)
template<class C >
void mmx::tensor::mul ( bernstein< C > &  r,
const bernstein< C > &  a 
)
template<class C >
void mmx::tensor::mul ( bernstein< C > &  r,
const bernstein< C > &  a,
const C c 
)
inline
template<class C >
void mmx::tensor::mul ( bernstein< C > &  r,
const C c,
const bernstein< C > &  a 
)
inline
template<class C >
void mmx::tensor::mul ( bernstein< C > &  r,
const C c 
)
template<class C >
void mmx::tensor::mul ( monomials< C > &  r,
const C c 
)
template<class C >
void mmx::tensor::mul ( monomials< C > &  r,
const monomials< C > &  a 
)
template<class X , class Y , class Z >
void mmx::tensor::mul ( monomials< X > &  r,
const monomials< Y > &  a,
const monomials< Z > &  b 
)
inline
template<class C >
void mmx::tensor::mul ( monomials< C > &  a,
const monomials< C > &  b,
const C c 
)
inline
template<class C >
void mmx::tensor::mul ( monomials< C > &  r,
const C c,
const monomials< C > &  a 
)
inline
template<class C >
std::ostream& mmx::tensor::operator<< ( std::ostream &  o,
const monomials< C > &  mpl 
)
template<class C >
std::ostream& mmx::tensor::operator<< ( std::ostream &  o,
const bernstein< C > &  mpl 
)
std::ostream& mmx::tensor::operator<< ( std::ostream &  out,
const eenv env 
)
inline
std::ostream& mmx::tensor::operator<< ( std::ostream &  o,
const vd vd_ 
)
inline
template<class OSTREAM , class C >
void mmx::tensor::print ( OSTREAM &  o,
const bernstein< C > &  mpl 
)
template<class OSTREAM , class C >
OSTREAM& mmx::tensor::print ( OSTREAM &  os,
const monomials< C > &  mpl,
const variables Var = monom<C>::var 
)
template<class OSTREAM , class C >
void mmx::tensor::print ( OSTREAM &  o,
const bernstein< C > &  mpl,
const variables v 
)
inline
template<class SYNTAX , class C >
void mmx::tensor::print_flatten ( SYNTAX &  out,
const monomials< C > &  mpl,
const variables Var = monom<C>::var 
)
template<class C >
void mmx::tensor::realloc ( monomials< C > &  mpl,
const eenv nenv 
)
template<class C >
void mmx::tensor::reciprocal ( monomials< C > &  f,
const int &  v 
)

Compute f (1/var[v])

template<class C >
void mmx::tensor::rename_var ( monomials< C > &  f,
const int &  v,
const int &  n 
)
template<class C , class T >
void mmx::tensor::restrict ( bernstein< C > &  rst,
int  v,
const T &  a,
const T &  b 
)
template<class C >
void mmx::tensor::rewrite ( bernstein< C > &  r,
const eenv newe 
)
template<class C >
void mmx::tensor::rface ( bernstein< C > &  f,
const bernstein< C > &  src,
int  v 
)
inline
template<class C >
void mmx::tensor::rface ( monomials< C > &  f,
const monomials< C > &  src,
int  v 
)
inline
template<class C >
void mmx::tensor::rface ( C dst,
const eenv a,
const C src,
int  v 
)
template<class MPLBASE , class C >
void mmx::tensor::scadd ( MPLBASE &  mpl,
const C c 
)
template<class MPLBASE , class MPLBASE1 , class C >
void mmx::tensor::scadd ( MPLBASE &  r,
const MPLBASE1 &  a,
const C c 
)
template<class C >
void mmx::tensor::scale ( bernstein< C > &  mpl)
inline
template<class C , class eenv >
void mmx::tensor::scale ( C data,
const eenv env,
binomials< C > &  binoms 
)

Convert a multivariate polynomial data in the bernstein basis to the scaled bernstein basis.

template<class C >
void mmx::tensor::set_variable ( monomials< C > &  f,
C  t,
int  v 
)

Compute f (x_v=t)

template<class C >
void mmx::tensor::shift ( monomials< C > &  f,
const C t,
const int &  v 
)

Compute f (var[v]+t)

template<class C >
unsigned mmx::tensor::size ( const bernstein< C > &  p)
inline
template<class C >
void mmx::tensor::slice ( monomials< C > &  f,
const monomials< C > &  src,
int  v,
int  n 
)
inline
template<class C >
void mmx::tensor::slice ( C dst,
const eenv a,
const C src,
int  v,
int  n 
)
TMPL void mmx::tensor::split ( Polynomial r,
Polynomial p,
int  v 
)
inline
template<class C , class T >
void mmx::tensor::split ( bernstein< C > &  l,
bernstein< C > &  r,
int  v,
const T &  t 
)
template<class C >
void mmx::tensor::split ( bernstein< C > &  l,
bernstein< C > &  r,
int  v 
)
inline
template<class C >
void mmx::tensor::sub ( bernstein< C > &  r,
const bernstein< C > &  a 
)
template<class C >
void mmx::tensor::sub ( bernstein< C > &  r,
const bernstein< C > &  a,
const bernstein< C > &  b 
)
template<class C >
void mmx::tensor::sub ( bernstein< C > &  mpl,
const C c 
)
template<class C >
void mmx::tensor::sub ( bernstein< C > &  mpl,
const C c,
const bernstein< C > &  a 
)
template<class C >
void mmx::tensor::sub ( bernstein< C > &  mpl,
const bernstein< C > &  a,
const C c 
)
template<class C >
void mmx::tensor::sub ( monomials< C > &  r,
const monomials< C > &  a,
const monomials< C > &  b 
)
inline
template<class C >
void mmx::tensor::sub ( monomials< C > &  mpl,
const C c,
const monomials< C > &  a 
)
inline
template<class X , class Y >
void mmx::tensor::sub ( monomials< X > &  r,
const monomials< Y > &  a 
)
inline
template<class X , class C >
void mmx::tensor::sub ( monomials< X > &  r,
const monomials< X > &  a,
const C c 
)
inline
template<class C , class X >
void mmx::tensor::sub ( monomials< C > &  a,
const X x 
)
inline
template<class Result , class Coeff , class Parameters >
void mmx::tensor::subs0 ( Result *  result,
const monomials< Coeff > &  monoms,
const Parameters &  parameters 
)
inline
template<class Result , class Coeff , class Parameters >
void mmx::tensor::subs0 ( Result *  result,
const bernstein< Coeff > &  controls,
const Parameters &  parameters 
)
inline
template<class C >
void mmx::tensor::uscale ( bernstein< C > &  mpl)
inline
template<class C , class eenv >
void mmx::tensor::uscale ( C data,
const eenv env,
binomials< C > &  binoms 
)

Convert a multivariate polynomial data in the scaled bernstein basis to the bernstein basis

template<class C >
bool mmx::tensor::varindex ( int &  lv,
const monomials< C > &  mpl,
int  gv 
)
template<class C , class eenv >
void mmx::tensor::vswap ( C data,
const eenv env,
int *  perm,
int *  supp = 0,
int  nsupp = 0 
)
template<class X , class Y >
void mmx::tensor::waddm ( monomials< X > &  mpla,
const monomials< Y > &  mplb 
)
template<class X , class Y >
void mmx::tensor::wsubm ( monomials< X > &  mpla,
const monomials< Y > &  mplb 
)
Home