Methodology

The following notebooks provide an overview of the methodology behind how NumDF constructs the CDF, PDF and QDF and computes compositions of these objects. To run the notebooks, you will need to install jupyter inside your activated Firedrake virtualenv.

These notebooks are maintained in the NumDF repository, so all the material is available in your NumDF installation source directory while the notebooks are in the directory NumDF/docs/notebooks.

Thanks to the excellent FEM on Colab by Francesco Ballarin, you can run the notebooks on Google Colab through your web browser, without installing Firedrake or NumDF.

We also provide links to non-interactive renderings of the notebooks using Jupyter nbviewer.

Part 1 - Constructing the CDF

In this notebook, we describe how NumDF approximates the CDF of a function using Firedrake. We motivate and describe the choice of function spaces used as well as detailing the slope limiter applied to the CDF in order to guarantee a monotonic and right increasing CDF. A rendered version of this notebook is available here and there is a version on Colab

Part 2 - Constructing the PDF

Having constructed a methodology for obtaining the CDF we then discuss how a continuous and weakly differentiable PDF can be recovered from the CDF here. You can run this notebook yourself on Colab

Part 3 - Constructing the inverse CDF

Next, we discuss how to compute the inverse CDF also known as the QDF or quantile density function here. You can run this notebook yourself on Colab

Part 4 - Composing density objects

Finally we discuss how integrals of compositions of the CDF and PDF can be evaluated here. You can run this notebook yourself on Colab