$$\newcommand{\half}{\frac{1}{2}} \newcommand{\halfi}{{1/2}} \newcommand{\tp}{\thinspace .} \newcommand{\uex}{{u_{\small\mbox{e}}}} \newcommand{\uexd}[1]{{u_{\small\mbox{e}, #1}}} \newcommand{\vex}{{v_{\small\mbox{e}}}} \newcommand{\Aex}{{A_{\small\mbox{e}}}} \newcommand{\E}[1]{\hbox{E}\lbrack #1 \rbrack} \newcommand{\Var}[1]{\hbox{Var}\lbrack #1 \rbrack} \newcommand{\xpoint}{\boldsymbol{x}} \newcommand{\normalvec}{\boldsymbol{n}} \newcommand{\Oof}[1]{\mathcal{O}(#1)} \newcommand{\x}{\boldsymbol{x}} \renewcommand{\u}{\boldsymbol{u}} \renewcommand{\v}{\boldsymbol{v}} \newcommand{\acc}{\boldsymbol{a}} \newcommand{\rpos}{\boldsymbol{r}} \newcommand{\e}{\boldsymbol{e}} \newcommand{\f}{\boldsymbol{f}} \newcommand{\F}{\boldsymbol{F}} \newcommand{\stress}{\boldsymbol{\sigma}} \newcommand{\I}{\boldsymbol{I}} \newcommand{\T}{\boldsymbol{T}} \newcommand{\q}{\boldsymbol{q}} \newcommand{\g}{\boldsymbol{g}} \newcommand{\dfc}{\alpha} % diffusion coefficient \newcommand{\ii}{\boldsymbol{i}} \newcommand{\jj}{\boldsymbol{j}} \newcommand{\kk}{\boldsymbol{k}} \newcommand{\ir}{\boldsymbol{i}_r} \newcommand{\ith}{\boldsymbol{i}_{\theta}} \newcommand{\Ix}{\mathcal{I}_x} \newcommand{\Iy}{\mathcal{I}_y} \newcommand{\Iz}{\mathcal{I}_z} \newcommand{\It}{\mathcal{I}_t} \newcommand{\setb}[1]{#1^0} % set begin \newcommand{\sete}[1]{#1^{-1}} % set end \newcommand{\setl}[1]{#1^-} \newcommand{\setr}[1]{#1^+} \newcommand{\seti}[1]{#1^i} \newcommand{\stepzero}{*} \newcommand{\stephalf}{***} \newcommand{\stepone}{**} \newcommand{\baspsi}{\psi} \newcommand{\dx}{\, \mathrm{d}x} \newcommand{\ds}{\, \mathrm{d}s} \newcommand{\Real}{\mathbb{R}} \newcommand{\Integer}{\mathbb{Z}}$$

# References

1. L. N. Trefethen. Trefethen's index cards - Forty years of notes about People, Words and Mathematics, World Scientific, 2011.
2. H. P. Langtangen. Finite Difference Computing with Exponential Decay Models, Lecture Notes in Computational Science and Engineering, Springer, 2016, http://hplgit.github.io/decay-book/doc/web/.
3. H. P. Langtangen and G. K. Pedersen. Scaling of Differential Equations, Simula Springer Brief Series, Springer, 2016, http://hplgit.github.io/scaling-book/doc/web/.
4. E. Hairer, S. P. N\orsett and G. Wanner. Solving Ordinary Differential Equations I. Nonstiff Problems, Springer, 1993.
5. I. P. Omelyan, I. M. Mryglod and R. Folk. Optimized Forest-Ruth- and Suzuki-like algorithms for integration of motion in many-body systems, Computer Physics Communication, 146(2), pp. 188-202, 2002, https://arxiv.org/abs/cond-mat/0110585.
6. H. P. Langtangen. A Primer on Scientific Programming with Python, fifth edition, Texts in Computational Science and Engineering, Springer, 2016.
7. R. LeVeque. Finite Difference Methods for Ordinary and Partial Differential Equations: Steady-State and Time-Dependent Problems, SIAM, 2007.
8. J. Strikwerda. Numerical Solution of Partial Differential Equations in Science and Engineering, second edition, SIAM, 2007.
9. L. Lapidus and G. F. Pinder. Numerical Solution of Partial Differential Equations in Science and Engineering, Wiley, 1982.
10. Y. Saad. Iterative Methods for Sparse Linear Systems, second edition, SIAM, 2003, http://www-users.cs.umn.edu/~saad/IterMethBook_2ndEd.pdf.
11. R. Barrett, M. Berry, T. F. Chan, J. Demmel, J. Donato, J. Dongarra, V. Eijkhout, R. Pozo, C. Romine and H. V. d. Vorst. Templates for the Solution of Linear Systems: Building Blocks for Iterative Methods, second edition, SIAM, 1994, http://www.netlib.org/linalg/html_templates/Templates.html.
12. O. Axelsson. Iterative Solution Methods, Cambridge University Press, 1996.
13. C. Greif and U. M. Ascher. A First Course in Numerical Methods, Computational Science and Engineering, SIAM, 2011.
14. M. Hjorth-Jensen. Computational Physics, Institute of Physics Publishing, 2016, https://github.com/CompPhysics/ComputationalPhysics1/raw/gh-pages/doc/Lectures/lectures2015.pdf.
15. R. Rannacher. Finite element solution of diffusion problems with irregular data, Numerische Mathematik, 43, pp. 309-327, 1984.
16. D. Duran. Numerical Methods for Fluid Dynamics - With Applications to Geophysics, second edition, Springer, 2010.
17. C. A. J. Fletcher. Computational Techniques for Fluid Dynamics, Vol. 1: Fundamental and General Techniques, second edition, Springer, 2013.
18. C. T. Kelley. Iterative Methods for Linear and Nonlinear Equations, SIAM, 1995.