MC++
|
C++ class for the computation of Chebyshev models of factorable function - Chebyshev model environment. More...
#include <cmodel.hpp>
Classes | |
class | Exceptions |
Exceptions of mc::CModel. More... | |
struct | Options |
Options of mc::CModel. More... | |
Public Member Functions | |
CModel (const unsigned int nvar, const unsigned int nord) | |
Constructor of Chebyshev model environment for nvar variables and order nord | |
~CModel () | |
Destructor of Chebyshev model environment. | |
const T * | bndvar () const |
Get const pointer to array of size _nvar with original variable bounds. | |
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? | |
mc::CModel is a C++ class for definition of Chebyshev model environment, derived from mc::PolyModel. Propagation of Chebyshev models for factorable functions is via the C++ class mc::CVar. The template parameter corresponds to the type used to propagate the remainder bound.