MC++
mc::PolyModel Class Reference

C++ base class for the computation of polynomial models for factorable functions: Environment. More...

#include <polymodel.hpp>

Inheritance diagram for mc::PolyModel:

Classes

class  Exceptions
 Exceptions of mc::PolyModel. More...
 

Public Member Functions

 PolyModel (const unsigned int nvar, const unsigned int nord)
 Constructor of polynomial model environment for nvar variables and order nord
 
virtual ~PolyModel ()
 Destructor of polynomial model environment.
 
unsigned int nvar () const
 Number of variables in polynomial model environment.
 
unsigned int nord () const
 Order of polynomial model environment.
 
unsigned int nmon () const
 Total number of monomial terms in polynomial model.
 
const unsigned int * expmon () const
 Const pointer to array of size nmon()*nvar() with variable exponents on each monomial term. The exponent for variable ivar in monomial term imon is at position imon*nvar()+ivar.
 
unsigned int loc_expmon (const unsigned int *iexp) const
 Index of monomial term whose variable exponents are the same as those in array iexp (of size nvar())
 
const unsigned int * posord () const
 Array of size _nord with indices of first monomial term of order iord=1,...,_nord in polynomial model.
 
poly_size get_binom (const unsigned int n, const unsigned int k) const
 Get binomial coefficient \(\left(\stackrel{n}{k}\right)\).
 

Protected Member Functions

void _set_bndmon ()
 Populate array _bndmon
 
void _set_posord (const unsigned int nord)
 Populate array _posord up to order nord
 
void _ext_posord (const unsigned int maxord)
 Extend array _posord up to maximum order maxord
 
void _set_expmon (const unsigned int nord)
 Populate array _expmon up to order nord
 
void _ext_expmon (const unsigned int maxord, const bool full=false)
 Extend array _expmon up to order maxord to accomodate maxmon coefficients.
 
void _next_expmon (unsigned int *iexp, const unsigned int iord) const
 Generate variable exponents iexp for subsequent monomial order iord
 
unsigned int _loc_expmon (const unsigned int *iexp) const
 Get index of monomial term with variable exponents iexp in 1,...,_nmon
 
void _set_binom (const unsigned int nord)
 Populate array _binom with binomial coefficients up to order nord
 
void _ext_binom (const unsigned int nord)
 Extend array _binom with binomial coefficients up to order nord
 
poly_size _get_binom (const unsigned int n, const unsigned int k) const
 Get binomial coefficient \(\left(\stackrel{n}{k}\right)\).
 

Protected Attributes

unsigned int _nord
 Order of polynomial model.
 
unsigned int _nvar
 Number of variables in polynomial model.
 
unsigned int _nmon
 Total number of monomial terms in polynomial model.
 
unsigned int * _posord
 Array of size _nord with indices of first monomial term of order iord=1,...,_nord in polynomial model.
 
unsigned _posord_size
 Order used to size _posord.
 
unsigned int * _expmon
 Array of size _nmon*_nvar with variable exponents in monomial terms. The exponent for variable ivar in monomial term imon is at location imon*nvar()+ivar.
 
unsigned _expmon_size
 Number of monomial coefficients used to size _expmon.
 
poly_size * _binom
 Array of (_nvar+_nord-1)*(_nord+1) contining binomial coefficients.
 
std::pair< unsigned int,
unsigned int > 
_binom_size
 Maximum binomial coefficients in array _binom.
 
bool _modvar
 Have any of the model variables been modified?
 

Detailed Description

mc::PolyModel is a C++ base class for definition of polynomial model environment.


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