Last updated: 2017-05-11
Code version: 3501eca
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\).






Numerical instability.


sessionInfo()
R version 3.3.3 (2017-03-06)
Platform: x86_64-apple-darwin13.4.0 (64-bit)
Running under: macOS Sierra 10.12.4
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] backports_1.0.5 magrittr_1.5    rprojroot_1.2   tools_3.3.3    
 [5] htmltools_0.3.5 yaml_2.1.14     Rcpp_0.12.10    stringi_1.1.2  
 [9] rmarkdown_1.3   knitr_1.15.1    git2r_0.18.0    stringr_1.2.0  
[13] digest_0.6.11   evaluate_0.10  
This R Markdown site was created with workflowr