|
Go to the documentation of this file. 1 #ifndef NPSTAT_QUADRATICORTHOPOLYND_HH_
2 #define NPSTAT_QUADRATICORTHOPOLYND_HH_
43 const unsigned* nSteps, unsigned nStepsDim);
52 inline unsigned dim() const { return dim_;}
53 inline unsigned nTerms() const { return ((dim_+1U)*(dim_+2U))/2U;}
54 inline const AbsDistributionND* weight() const { return weight_;}
55 inline const BoxND<double>& boundingBox() const { return box_;}
56 inline const std::vector<unsigned>& nSteps() const { return numSteps_;}
74 double value( unsigned polyN, const double* x, unsigned lenX) const;
94 double series( const double* x, unsigned lenX,
95 const double* coeffs, unsigned nCoeffs,
96 double* individualPolynomials=0) const;
104 const double* coeffs, unsigned nCoeffs,
105 double* result, unsigned lenResult) const;
113 void hessian( const double* coeffs, unsigned nCoeffs,
114 double* result, unsigned lenResult) const;
130 template < class T, typename Numeric>
131 void fit( const T& obj, Numeric (T::*)( const double*, unsigned) const,
132 const double* location, const double* scale, unsigned nScales,
133 double* coeffs, unsigned nCoeffs) const;
138 void integrationLoop( unsigned level, long double *gram);
139 void gramSchmidt( const long double *gram);
141 template < class T, typename Numeric>
142 void fitLoop( const T& obj,
143 Numeric (T::*)( const double*, unsigned) const,
145 const double* location, const double* scale,
146 double* methodCoords,
147 long double *sum, unsigned nCoeffs) const;
151 std::vector<unsigned> numSteps_;
152 std::vector<double> coeffM_;
153 mutable std::vector<double> work_;
154 mutable std::vector<double> buf_;
155 mutable std::vector<long double> sprod_;
156 long double cellSize_;
161 #include "npstat/stat/QuadraticOrthoPolyND.icc"
Interface definition for multivariate continuous statistical distributions.
Template to represent rectangles, boxes, and hyperboxes.
Definition: AbsDistributionND.hh:26
Definition: QuadraticOrthoPolyND.hh:24
double series(const double *x, unsigned lenX, const double *coeffs, unsigned nCoeffs, double *individualPolynomials=0) const
unsigned dim() const Definition: QuadraticOrthoPolyND.hh:52
void hessian(const double *coeffs, unsigned nCoeffs, double *result, unsigned lenResult) const
void gradient(const double *x, unsigned lenX, const double *coeffs, unsigned nCoeffs, double *result, unsigned lenResult) const
double monomialCoefficient(unsigned iPoly, unsigned iMono) const
void fit(const T &obj, Numeric(T::*)(const double *, unsigned) const, const double *location, const double *scale, unsigned nScales, double *coeffs, unsigned nCoeffs) const
double value(unsigned polyN, const double *x, unsigned lenX) const
QuadraticOrthoPolyND(const AbsDistributionND &weight, const BoxND< double > &boundingBox, const unsigned *nSteps, unsigned nStepsDim)
Definition: AbsArrayProjector.hh:14
|