Multilevel Monte Carlo codes for 2015 Acta Numerica article
My 2015 Acta Numerica article on Multilevel Monte Carlo Methods
is available
here.
Regrettably, the original version of the article had the following
errors
which are now corrected in the version given above.
To accompany this article, I developed a number of MATLAB codes
to illustrate how the mathematical ideas translate into code.
These are presented below, but I would recommend that anyone
interested in getting into MLMC application development should
use my new MLMC software which is available here.
The advantages of the new software are:
- It separates the computation from the generation of figures
- It is available in MATLAB, C/C++ and Python
- The main driver uses a different split of the Mean Square Error
between the bias and variance terms, making it slightly more efficient
but for archival purposes I will leave the old software below.
Generic routines:
- mlmc_test.m -- a test routine, discussed in Section 3.3
in the paper
- mlmc.m -- main MLMC routine, discussed in detail
in Section 3.4
MLMC application codes producing figures for the paper:
To run the first of these, for example, simply download the
file and the generic routines above, and then enter the
command "gbm_euler" into MATLAB -- internally it will use both
mlmc.m and mlmc_test.m
Additional MLMC application codes:
- hyp.m -- nonlinear hyperbolic PDE with stochastic boundary data
- heston_antithetic.m -- Heston 2-dimensional
SDE with and without antithetic treatment
- white_noise.m -- parabolic SPDE with additive white noise
- sde_adapted.m -- adaptive time-stepping for an SDE
- ctmp_adapted.m -- adaptive time-stepping for a
continuous-time Markov process example (warning: long runtime)
For further reading on multilevel Monte Carlo research: