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