npstat is hosted by Hepforge, IPPP Durham
NPStat  5.10.0
npstat::ContOrthoPoly1DQ Class Reference

Public Types

typedef std::pair< quad_float, quad_float > MeasurePoint
 

Public Member Functions

template<typename Numeric1 , typename Numeric2 >
 ContOrthoPoly1DQ (unsigned maxDegree, const std::vector< std::pair< Numeric1, Numeric2 > > &measure, OrthoPolyMethod m=OPOLY_STIELTJES, bool shiftMeasureCoords=true)
 
template<typename Numeric >
 ContOrthoPoly1DQ (unsigned maxDegree, const std::vector< Numeric > &coords, OrthoPolyMethod m=OPOLY_STIELTJES, bool shiftMeasureCoords=true)
 
template<typename Numeric1 , typename Numeric2 , class OrthoPoly >
 ContOrthoPoly1DQ (unsigned maxDegree, const std::vector< std::pair< Numeric1, Numeric2 > > &measure, const OrthoPoly &ops, bool shiftMeasureCoords=false)
 
template<typename Numeric , class OrthoPoly >
 ContOrthoPoly1DQ (unsigned maxDegree, const std::vector< Numeric > &coords, const OrthoPoly &ops, bool shiftMeasureCoords=false)
 
ContOrthoPoly1DQclone () const
 
unsigned maxDegree () const
 
bool areAllWeightsEqual () const
 
quad_float measureShift () const
 
quad_float meanCoordinate () const
 
quad_float location () const
 
quad_float scale () const
 
quad_float effectiveSampleSize () const
 
quad_float poly (unsigned deg, quad_float x) const
 
std::pair< quad_float, quad_float > polyPair (unsigned deg1, unsigned deg2, quad_float x) const
 
template<typename Numeric >
void allPolys (const quad_float x, const unsigned maxdeg, Numeric *polyValues) const
 
void allpoly (const long double x, long double *values, const unsigned maxdeg) const
 
quad_float empiricalKroneckerDelta (unsigned deg1, unsigned deg2) const
 
Matrix< quad_float > empiricalKroneckerMatrix (unsigned maxdeg) const
 

Constructor & Destructor Documentation

◆ ContOrthoPoly1DQ() [1/4]

template<typename Numeric1 , typename Numeric2 >
npstat::ContOrthoPoly1DQ::ContOrthoPoly1DQ ( unsigned  maxDegree,
const std::vector< std::pair< Numeric1, Numeric2 > > &  measure,
OrthoPolyMethod  m = OPOLY_STIELTJES,
bool  shiftMeasureCoords = true 
)

Main constructor, with obvious arguments. The first element of the measure pair is the coordinate and the second element is the weight (all weights must be non-negative). Internally, the measure will be sorted in the order of increasing weight and the measure coordinates will normally be shifted so that their weighted mean is at 0.

◆ ContOrthoPoly1DQ() [2/4]

template<typename Numeric >
npstat::ContOrthoPoly1DQ::ContOrthoPoly1DQ ( unsigned  maxDegree,
const std::vector< Numeric > &  coords,
OrthoPolyMethod  m = OPOLY_STIELTJES,
bool  shiftMeasureCoords = true 
)

Constructor which assumes that all weights are 1.0

◆ ContOrthoPoly1DQ() [3/4]

template<typename Numeric1 , typename Numeric2 , class OrthoPoly >
npstat::ContOrthoPoly1DQ::ContOrthoPoly1DQ ( unsigned  maxDegree,
const std::vector< std::pair< Numeric1, Numeric2 > > &  measure,
const OrthoPoly &  ops,
bool  shiftMeasureCoords = false 
)

Constructor that uses the modified Chebyshev algorithm

◆ ContOrthoPoly1DQ() [4/4]

template<typename Numeric , class OrthoPoly >
npstat::ContOrthoPoly1DQ::ContOrthoPoly1DQ ( unsigned  maxDegree,
const std::vector< Numeric > &  coords,
const OrthoPoly &  ops,
bool  shiftMeasureCoords = false 
)

Constructor that uses the modified Chebyshev algorithm and assumes that all weights are 1.0

Member Function Documentation

◆ allpoly()

void npstat::ContOrthoPoly1DQ::allpoly ( const long double  x,
long double *  values,
const unsigned  maxdeg 
) const
inline

Function added for interface compatibility with AbsClassicalOrthoPoly1D

◆ allPolys()

template<typename Numeric >
void npstat::ContOrthoPoly1DQ::allPolys ( const quad_float  x,
const unsigned  maxdeg,
Numeric *  polyValues 
) const
inline

Return the values of all orthonormal polynomials up to some maximum degree. Size of the "polyValues" array should be at least maxdeg + 1.

◆ clone()

ContOrthoPoly1DQ* npstat::ContOrthoPoly1DQ::clone ( ) const
inline

Function added for interface compatibility with AbsClassicalOrthoPoly1D

◆ effectiveSampleSize()

quad_float npstat::ContOrthoPoly1DQ::effectiveSampleSize ( ) const

Kish's effective sample size for the measure

◆ empiricalKroneckerDelta()

quad_float npstat::ContOrthoPoly1DQ::empiricalKroneckerDelta ( unsigned  deg1,
unsigned  deg2 
) const

This method is useful for testing the numerical precision of the orthonormalization procedure. It returns the scalar products between various polynomials.

◆ empiricalKroneckerMatrix()

Matrix<quad_float> npstat::ContOrthoPoly1DQ::empiricalKroneckerMatrix ( unsigned  maxdeg) const

A faster way to generate Kronecker deltas if the whole matrix of them is needed. The argument must not exceed the return value of the "maxDegree" function. The resulting matrix will be dimensioned (maxdeg + 1) x (maxdeg + 1).

◆ maxDegree()

unsigned npstat::ContOrthoPoly1DQ::maxDegree ( ) const
inline

A simple inspector of object properties

◆ poly()

quad_float npstat::ContOrthoPoly1DQ::poly ( unsigned  deg,
quad_float  x 
) const

Return the value of one of the normalized polynomials

◆ polyPair()

std::pair<quad_float,quad_float> npstat::ContOrthoPoly1DQ::polyPair ( unsigned  deg1,
unsigned  deg2,
quad_float  x 
) const

Return the values of two of the normalized polynomials


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