About the website

This website is a companion to the book "Splitting Methods for Partial Differential Equations with Rough Solutions: Analysis and Matlab Programs" by Holden, Karlsen, Lie, and Risebro. The book is listed as part of the MathWorks Book Program

The theory described in this book is applicable in many different settings. To make the transition from theory to computer code easier, we offer computer codes in MATLAB (version 7.7, R2008b) for some of the examples in the book and for some examples not shown in the book. The codes are kept on the web rather than in the book. The reasons for this are threefold: (i) It is easier to correct and update on the web than in a printed book; (ii) The book becomes smaller and can be used independently of the computer codes; (iii) Computer codes, and in particular, their syntax and structure, change more rapidly than mathematical theory.

Feel free to use and modify our codes. However, please let us know if you find bugs or possible improvements that we can post on this web site. If the computer codes are used for scientific work, we ask that you refer to the book.

Download software


The MATLAB codes are provided on an "as-is" basis, with no warranties what so ever. The basic operator splitting and finite-volume codes are relatively simple and should be almost self explanatory. In writing the codes, we have emphasized simplicity rather than extensibility and MATLAB elegancy.

The front-tracking codes are admittedly more complex and unfortunately not well documented, but should still be relatively simple to use based on the examples provided. However, we emphasize that the purpose of the implementation is to demonstrate the basic principles behind front tracking. The MATLAB implementation is made using manipulation of arrays, which is quite slow, and the computational speed of the implementation does not reflect the high efficiency one can observe for a front-tracking method implemented using pointers in C or C++.