Last updated: 2017-12-21

Code version: 6e42447

Introduction

Theoretically, the Dirac delta function \(\delta_z\) can be approximated by infinite orders of Gaussian derivatives as follows,

\[ \delta_z = \sum\limits_{l = 0}^\infty \frac{1}{\sqrt{l!}}h_l\left(z\right) \left(\frac{1}{\sqrt{l!}}h_l\left(x\right)\varphi(x)\right) \ . \] Previously with the EQL::hermite function, it takes a very long time to evaluate an Hermite polynomial of a high degree, yet the PolynomF package provides a computationally efficient way to check if higher order Gaussian derivatives indeed approximate \(\delta_z\) at any \(z\).

With finite \(L\), we are looking at

\[ f_L\left(x\right) := \sum\limits_{l = 0}^L \frac{1}{\sqrt{l!}}h_l\left(z\right) \left( \frac{1}{\sqrt{l!}}h_l\left(x\right) \varphi\left(x\right) \right) \] and

\[ F_L\left(x\right) := \Phi\left(x\right) - \sum\limits_{l = 1}^L \frac{1}{\sqrt{l}} \frac{1}{\sqrt{l!}}h_l\left(z\right) \left( \frac{1}{\sqrt{\left(l - 1\right)!}}h_{l - 1}\left(x\right)\varphi\left(x\right)\right) \ . \] Given any \(z\), \(f_L\) should get closer to \(\delta_z\) and \(F_L\) to the \(0\)-\(1\) step function, as \(L\to\infty\).

\(z = -2\)

\(z = 0\)

\(z = 4\)

\(z = 6\)

Numerical instability.

Session information

sessionInfo()
R version 3.4.3 (2017-11-30)
Platform: x86_64-apple-darwin15.6.0 (64-bit)
Running under: macOS High Sierra 10.13.2

Matrix products: default
BLAS: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRblas.0.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRlapack.dylib

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

loaded via a namespace (and not attached):
 [1] compiler_3.4.3  backports_1.1.2 magrittr_1.5    rprojroot_1.3-1
 [5] tools_3.4.3     htmltools_0.3.6 yaml_2.1.16     Rcpp_0.12.14   
 [9] stringi_1.1.6   rmarkdown_1.8   knitr_1.17      git2r_0.20.0   
[13] stringr_1.2.0   digest_0.6.13   evaluate_0.10.1

This R Markdown site was created with workflowr