Skip to content

FdeSolver.jl: A Julia package for the numerical solution of fractional differential equations (FDEs) as well as systems of equations.

License

Notifications You must be signed in to change notification settings

ScienceMau/FdeSolver.jl

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FdeSolver.jl: Solving fractional differential equations

Stable CI codecov

This is a Julia package for fractional differential equations and ODEs. It provides numerical solutions for nonlinear fractional ordinary differential equations (in the sense of Caputo).

Related work includes the independent FractionalCalculus Julia Package that covers fractional operators, and earlier tools that are available in Matlab.

Publications

The package development is linked with the following publications/preprints:

  • Three-species Lotka-Volterra model with respect to Caputo and Caputo-Fabrizio fractional operators. M Khalighi, L Eftekhari, S Hosseinpour, L Lahti. Symmetry 13 (3):368, 2021. doi:10.3390/sym13030368

  • Quantifying the impact of ecological memory on the dynamics of interacting communities. M Khalighi, G Sommeria-Klein, D Gonze, K Faust, L Lahti. bioRxiv 2021.09.01.458486 doi:10.1101/2021.09.01.458486

Method

We implement the predictor-corrector algorithms with a sufficient convergence and accuracy, including fast Fourier transform technique that gives us high computation speed. Interested readers can also find the stability of the methods and see how to implement the methods for solving multi-term fractional differential equations.

Let us suppose the following initial value problem with the Caputo fractional derivative {}_{C}\!D_{t_0}^\beta for \beta>0:

$${}_{C}\!D_{t_0}^{\beta}y(t)=f(t,y(t))$$

with the initial condition:

$$y(t_0)=y_0,y^{(1)}(t_0)=y^{(1)}_0,...,y^{(m-1)}(t_0)=y^{(m-1)}_0$$

where m is the smallest integer or equal to the order of derivative.

We solve the problem by using predictor corrector method (the equation (14) from this paper).

Installation

If Julia is installed correctly, you can import FdeSolver.jl as:

import Pkg; Pkg.add("FdeSolver")

A few methods on its usage are explained in Examples.

About

FdeSolver.jl: A Julia package for the numerical solution of fractional differential equations (FDEs) as well as systems of equations.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Julia 100.0%