In file mydocsrc/iml_poly.h:

class hermite_polynomial : public polynomial

This class implements a special subset of polynomials

Inheritance:

hermite_polynomial < polynomial


Public Methods

hermite_polynomial (IML_USINT POrder, IML_DOUBLE Sigma = IML_SQRT2)
The only constructor
IML_DOUBLE operator() (IML_DOUBLE XVal)
Hide the other evaluation method

Inherited from polynomial:

Public Methods

IML_DOUBLE IML_REF operator[](IML_USINT CoeffIndex)

Documentation

This class implements a special subset of polynomials. This class is why I created polynomials in the first place. I wanted derivative of Gaussians, and the Nth derivative of a Gaussian is just the Nth order Hermite multiplied by the original Gaussian. Cool, huh? :-) I did go to the trouble of serializing the recursive definition

H(n) = x * H(n-1) - (n-1) * H(n-2)

of the Hermite in order to avoid estimating required stack space. That was fun. ;-)
hermite_polynomial(IML_USINT POrder, IML_DOUBLE Sigma = IML_SQRT2)
The only constructor. You must specify the order, with optional specification of a scaling constant. You need the scaling constant if you are using this for derivative of a Guassian. That constant depends on both the standard deviation and the order of the derivative, and is

(sqrt(2)/SDev)**POrder

where DerivativeOrder == POrder and '**' denotes exponentiation.

IML_DOUBLE operator()(IML_DOUBLE XVal)
Hide the other evaluation method. This can be about twice as fast as the standard evaluation method because Hermites have only even or odd terms in the polynomial.


This class has no child classes.

alphabetic index hierarchy of classes


generated by doc++