Info Node: (gsl-ref.info)Hermite Functions

CFHT HOME gsl-ref.info: Hermite Functions


up: Hermite Polynomials and Functions next: Derivatives of Hermite Functions prev: Derivatives of Hermite Polynomials Back to Software Index

7.21.3 Hermite Functions
------------------------

The Hermite functions are defined by

     \psi_n(x) = ( 2^n n! \sqrt{\pi} )^{-1/2} e^{-x^2/2} H_n(x)

and satisfy the Schrödinger equation for a quantum mechanical harmonic
oscillator

     psi''_n(x) + (2n + 1 - x^2) psi_n(x) = 0

They are orthonormal,

     \int_{-\infty}^{\infty} \psi_m(x) \psi_n(x) dx = \delta_{mn}

and form an orthonormal basis of L^2(\mathbb{R}).  The Hermite functions
are also eigenfunctions of the continuous Fourier transform.  GSL offers
two methods for evaluating the Hermite functions.  The first uses the
standard three-term recurrence relation which has O(n) complexity and is
the most accurate.  The second uses a Cauchy integral approach due to
Bunck (2009) which has O(\sqrt{n}) complexity which represents a
significant speed improvement for large n, although it is slightly less
accurate.

 -- Function: double gsl_sf_hermite_func (const int n, const double x)
 -- Function: int gsl_sf_hermite_func_e (const int n, const double x,
          gsl_sf_result * result)

     These routines evaluate the Hermite function \psi_n(x) of order ‘n’
     at position ‘x’ using a three term recurrence relation.  The
     algorithm complexity is O(n).

 -- Function: double gsl_sf_hermite_func_fast (const int n, const
          double x)
 -- Function: int gsl_sf_hermite_func_fast_e (const int n, const
          double x, gsl_sf_result * result)

     These routines evaluate the Hermite function \psi_n(x) of order ‘n’
     at position ‘x’ using a the Cauchy integral algorithm due to Bunck,
     2009.  The algorithm complexity is O(\sqrt{n}).

 -- Function: int gsl_sf_hermite_func_array (const int nmax, const
          double x, double * result_array)

     This routine evaluates all Hermite functions \psi_n(x) for orders n
     = 0, \dots, \textrm{nmax} at position ‘x’, using the recurrence
     relation algorithm.  The results are stored in ‘result_array’ which
     has length at least ‘nmax + 1’.

 -- Function: double gsl_sf_hermite_func_series (const int n, const
          double x, const double * a)
 -- Function: int gsl_sf_hermite_func_series_e (const int n, const
          double x, const double * a, gsl_sf_result * result)

     These routines evaluate the series \sum_{j=0}^n a_j \psi_j(x) with
     \psi_j being the j-th Hermite function using the Clenshaw
     algorithm.


automatically generated by info2www version 1.2