Software
All codes in this page are released for academic and non-commercial use under an attribution requirement. You may use, modify, and distribute the code, provided that credit to the original author is clearly stated in any publication or redistributed version
Software for Fractional Differential Equations and related problems:
A tutorial on solving fractional differential equations (and Matlab codes)
Matlab ml.m code: evaluation of the Mittag-Leffler function with 1, 2 and 3 parameters (the latter case is the Prabhakar function). The code is based on the paper: R.Garrappa, "Numerical evaluation of two and three parameter Mittag-Leffler functions", SIAM Journal on Numerical Analysis 2015, 53(3), 1350-1369. Updated list of various versions of this code:
- Matlab ml.m code by Roberto Garrappa
- R package for Mittag-Leffler distriibutions, thanks to Peter Straka
- Fortran code, thanks to Tran Quoc Viet
- Stata/Mata implemantation, thanks to David Roodman
Matlab ml_matrix.m code: evaluation of the Mittag-Leffler function with matrix arguments. The algorithm is described in the paper: R.Garrappa, M.Popolizio, "Computing the matrix Mittag-Leffler function with applications to fractional calculus", Journal of Scientific Computing, doi: https://doi.org/10.1007/s10915-018-0699-5 [Read it]
FLMM2 Matlab code: three implicit fractional linear multistep methods of the second order for numerically solving fractional differential equations. For details see the paper:
R.Garrappa, Trapezoidal methods for fractional differential equations: theoretical and computational aspects, Mathematics and Computers in Simulation, 2015, 110, 96-112
doi: 10.1016/j.matcom.2013.09.012 [Preprint]
FDE12 Matlab code: a code for numerically solving fractional differential equations. For details see the papers:
R.Garrappa, On linear stability of predictor-corrector algorithms for fractional differential equations, International Journal of Computer Mathematics, 2010, 87(10), 2281-2290
doi: 10.1080/00207160802624331
Matlab rouitne for solving systems or multi-order systems (MOSs) of fractional differential equations (FDEs). MOS are systems of FDEs in which each equation has a different fracrional order. For a detailed description see the paper:
R.Garrappa, Numerical Solution of Fractional Differential Equations: A Survey and a Software Tutorial, Mathematics 2018, 6(2), 16
doi:10.3390/math6020016 (download pdf file)
- FDE_PI1_Ex.m - Explicit Product-Integration of rectanguar type
- FDE_PI1_Im.m - Implicit Product-Integration of rectanguar type
- FDE_PI2_Im.m - Implicit Product-Integration of trapezoidal type
- FDE_PI12_PC.m - Product-Integration with predictor-corrector
Matlab rouitne for solving linear multi-term fractional differential equations of systems of linear multi-term fractional differential equations with a possible nonlinear source term. For a detailed description see the paper:
R.Garrappa, Numerical Solution of Fractional Differential Equations: A Survey and a Software Tutorial, Mathematics 2018, 6(2), 16
doi:10.3390/math6020016 (download pdf file)
- MT_FDE_PI1_Ex.m - Explicit Product-Integration of rectanguar type
- MT_FDE_PI1_Im.m - Implicit Product-Integration of rectanguar type
- MT_FDE_PI2_Im.m - Implicit Product-Integration of trapezoidal type
- MT_FDE_PI12_PC.m - Product-Integration with predictor-corrector
In most of the codes for solving fractional differential equations, the discrete convolutions are evaluated by means of a FFT algorithm which keeps the computational cost proportional to N*log(N)^2 instead of N^2 as in standard implementation (N is the number of time-points in which the solution is evaluated). This algorithm has been proposed in
Some other numerical software for fractional-order problems:
- pycaputo: a Python library by Alex Fikl
- SciFracX: Julia packages for fractional-order problems by Qingyu Qu
