Current algorithms in FractionalDiffEq.jl

Fractional Ordinary Differential Equations

Single Term FODE

FractionalDiffEq.PECEType

Usage

solve(prob::SingleTermFODEProblem, h, PECE())

Predict-Evaluate-Correct-Evaluate algorithm.

For more details, please refer to Predictor-Corrector algorithms

This PECE algorithm is taken from Diethelm's paper.

References

@article{
title={A predictor-corrector approach for the numerical solution of fractional differential equations},
author={Diethelm, Kai and Ford, Neville J. and Freed, Alan D.}
doi={https://doi.org/10.1023/A:1016592219341}
}
source
FractionalDiffEq.EulerType
solve(prob, h, Euler())

The basic forward Euler method for fractional ordinary differential equations.

@inproceedings{Li2015NumericalMF,
  title={Numerical Methods for Fractional Calculus},
  author={Changpin Li and Fanhai Zeng},
  year={2015}
}
source
FractionalDiffEq.PIEXType

Usage

solve(prob::SingleTermFODEProblem, h, PIEX())

References

@inproceedings{Garrappa2018NumericalSO,
  title={Numerical Solution of Fractional Differential Equations: A Survey and a Software Tutorial},
  author={Roberto Garrappa},
  year={2018}
}
source

Multi-Term FODE

FractionalDiffEq.FODEMatrixDiscreteType

Usage

solve(prob::MultiTermsFODEProblem, h, FODEMatrixDiscrete())

Using triangular strip matrices to discrete fractional ordinary differential equations to simple algebra system and solve the system.

References

@inproceedings{Podlubny2000MATRIXAT,
  title={MATRIX APPROACH TO DISCRETE FRACTIONAL CALCULUS},
  author={Igor Podlubny},
  year={2000}
}
source
FractionalDiffEq.ClosedFormType

Usage

solve(prob::MultiTermsFODEProblem, ClosedForm())

Use Closed-Form solution to obtain numerical solution at zero initial condition.

Reference:

Dingyu Xue, Northeastern University, China ISBN:9787030543981

source
FractionalDiffEq.ClosedFormHankelMType

Usage

solve(prob::MultiTermsFODEProblem, ::ClosedFormHankelM)

Use Closed-Form Hankel matrix algorithm to obtain numerical solution at zero initial condition.

source
FractionalDiffEq.PIPECEType
solve(prob::MultiTermsFODEProblem, h, PIPECE())

Use product integration predictor-corrector method to solve multi-terms FODE.

source
FractionalDiffEq.PIIMRectType
solve(prob::MultiTermsFODEProblem, h, PIIMRect())

Use implicit product integration rectangular type method to solve multi-terms FODE.

source
FractionalDiffEq.PIIMTrapType
solve(prob::MultiTermsFODEProblem, h, PIIMTrap())

Use implicit product integration trapezoidal type method to solve multi-terms FODE.

source

System of FODE

FractionalDiffEq.NonLinearAlgType

Usage

solve(prob::FODESystem, h, NonLinearAlg())

Nonlinear algorithm for nonlinear fractional differential equations.

References

Dingyu Xue, Northeastern University, China ISBN:9787030543981

source
Missing docstring.

Missing docstring for FractionalDiffEq.PECE. Check Documenter's build log for details.

FractionalDiffEq.GLType

Usage

solve(prob::SingleTermFODEProblem, h, GL())

Grunwald Letnikov method for fractional ordinary differential equations

@INPROCEEDINGS{8742063,  
author={Clemente-López, D. and Muñoz-Pacheco, J. M. and Félix-Beltrán, O. G. and Volos, C.},  
booktitle={2019 8th International Conference on Modern Circuits and Systems Technologies (MOCAST)},   
title={Efficient Computation of the Grünwald-Letnikov Method for ARM-Based Implementations of Fractional-Order Chaotic Systems},
year={2019},   
doi={10.1109/MOCAST.2019.8742063}}
source
FractionalDiffEq.FLMMBDFType
solve(prob::FODESystem, h, FLMMBDF())

Use Backward Differentiation Formula generated weights fractional linear multi-steps method to solve system of FODE.

References

@article{Garrappa2015TrapezoidalMF,
  title={Trapezoidal methods for fractional differential equations: Theoretical and computational aspects},
  author={Roberto Garrappa},
  journal={ArXiv},
  year={2015},
  volume={abs/1912.09878}
}
source
FractionalDiffEq.FLMMNewtonGregoryType
solve(prob::FODESystem, h, FLMMNewtonGregory())

Use Newton Gregory generated weights fractional linear multiple steps method to solve system of FODE.

References

@article{Garrappa2015TrapezoidalMF,
  title={Trapezoidal methods for fractional differential equations: Theoretical and computational aspects},
  author={Roberto Garrappa},
  journal={ArXiv},
  year={2015},
  volume={abs/1912.09878}
}
source
FractionalDiffEq.FLMMTrapType
solve(prob::FODEsystem, FLMMTrap())

Use Trapezoidal with generating function $f(x)=\frac{1+x}{2(1-x)^\alpha}$ generated weights fractional linear multiple steps method to solve system of FODE.

References

@article{Garrappa2015TrapezoidalMF,
  title={Trapezoidal methods for fractional differential equations: Theoretical and computational aspects},
  author={Roberto Garrappa},
  journal={ArXiv},
  year={2015},
  volume={abs/1912.09878}
}
source
Missing docstring.

Missing docstring for FractionalDiffEq.PIEX. Check Documenter's build log for details.

FractionalDiffEq.NewtonPolynomialType
solve(prob::FODESystem, h, NewtonPolynomial())

Solve FODE system using Newton Polynomials methods.

Tip

Used for the Caputo Fabrizio fractional differential operators.

https://doi.org/10.1016/c2020-0-02711-8
source

Fractional Partial Differential Equations

FractionalDiffEq.FPDEMatrixDiscreteType

Usage

solve(α, β, κ, T, M, N, FPDEMatrixDiscrete())

Using triangular strip matrices to discrete fractional partial differential equations to simple algebra system and solve the system.

@article{2009,
   title={Matrix approach to discrete fractional calculus II: Partial fractional differential equations},
   DOI={10.1016/j.jcp.2009.01.014},
   author={Podlubny, Igor and Chechkin, Aleksei and Skovranek, Tomas and Chen, YangQuan and Vinagre Jara, Blas M.},
}
source
FractionalDiffEq.FiniteDiffExType

Usage

solve(α, dx, dt, xStart, xEnd, n, κ, FiniteDiffEx())
Tip

Here, if we set $0<\alpha\leq 1$, the equation is the fractional diffusion equation or subdiffusion equation, whereas for $1<\alpha\leq 2$, the equation is the fractional diffusion-wave equation.

Use explicit Caputo discretization method to solve the diffusion equations.

References

@article{Murillo2011AnED,
  title={An Explicit Difference Method for Solving Fractional Diffusion and Diffusion-Wave Equations in the Caputo Form},
  author={Joaqu{'i}n Quintana Murillo and Santos B. Yuste},
  journal={Journal of Computational and Nonlinear Dynamics},
  year={2011},
  volume={6},
  pages={021014}
}

Matlab version: https://github.com/awstown/Fractional-Derivative

source
FractionalDiffEq.FiniteDiffImType

Usage

solve(α, dx, dt, xStart, xEnd, n, κ, FiniteDiffIm())

Use implicit finite difference to discrete equations.

References

@article{Murio2008ImplicitFD,
  title={Implicit finite difference approximation for time fractional diffusion equations},
  author={Diego A. Murio},
  journal={Comput. Math. Appl.},
  year={2008},
  volume={56},
  pages={1138-1145}
}

Matlab version: https://github.com/awstown/Fractional-Derivative

source
FractionalDiffEq.ADV_DIFType

Usage

solve(order, α, T, N, X, i, κ, v, fx0, fgz, f0t, flt, ADV_DIF())

References

C.P. Li, R.F. Wu, H.F.  Ding. High-order approximation to Caputo derivatives and Caputo-type advection-diffusion equations (I). Communications in Applied and Industrial Mathematics, 2014, 6(2), e-536: 1-32.  DOI: 10.1685/journal.caim.536.
J.X. Cao, C.P. Li, Y.Q. Chen. High-order approximation to Caputo derivatives and Caputo-type advection-diffusion equations (II). Fractional Calculus and Applied Analysis, 2015, 18(3): 735-761.
H.F. Li, J.X. Cao, C.P. Li. High-order approximation to Caputo derivatives and Caputo-type advection-diffusion equations (III).submitted.
source

Fractional Delay Differential Equatinos

FractionalDiffEq.DelayPECEType

Usage

solve(FDDE::FDDEProblem, h, DelayPECE())

Using the delayed predictor-corrector method to solve the delayed fractional differential equation problem in the Caputo sense.

Capable of solving both single term FDDE and multiple FDDE, support time varying lags of course😋.

References

@article{Wang2013ANM,
  title={A Numerical Method for Delayed Fractional-Order Differential Equations},
  author={Zhen Wang},
  journal={J. Appl. Math.},
  year={2013},
  volume={2013},
  pages={256071:1-256071:7}
}

@inproceedings{Nagy2014NUMERICALSF,
  title={NUMERICAL SIMULATIONS FOR VARIABLE-ORDER FRACTIONAL NONLINEAR DELAY DIFFERENTIAL EQUATIONS},
  author={Abdelhameed M. Nagy and Taghreed Abdul Rahman Assiri},
  year={2014}
}

@inproceedings{Abdelmalek2019APM,
  title={A Predictor-Corrector Method for Fractional Delay-Differential System with Multiple Lags},
  author={Salem Abdelmalek and Redouane Douaifia},
  year={2019}
}
source
FractionalDiffEq.DelayPIType

Usage

solve(FDDE::FDDEProblem, h, DelayPI())

Use explicit rectangular product integration algorithm to solve an FDDE problem.

References

@article{2020,
   title={On initial conditions for fractional delay differential equations},
   ISSN={1007-5704},
   url={http://dx.doi.org/10.1016/j.cnsns.2020.105359},
   DOI={10.1016/j.cnsns.2020.105359},
   journal={Communications in Nonlinear Science and Numerical Simulation},
   author={Garrappa, Roberto and Kaslik, Eva},
   year={2020},
}
source
FractionalDiffEq.MatrixFormType

Usage

solve(prob::FDDEMatrixProblem, h, MatrixForm())

Reference

https://github.com/mandresik/system-of-linear-fractional-differential-delayed-equations

source
FractionalDiffEq.DelayABMType
solve(FDDE::FDDEProblem, h, DelayABM())

Use the Adams-Bashforth-Moulton method to solve fractional delayed differential equations.

References

@inproceedings{Bhalekar2011APS,
  title={A PREDICTOR-CORRECTOR SCHEME FOR SOLVING NONLINEAR DELAY DIFFERENTIAL EQUATIONS OF FRACTIONAL ORDER},
  author={Sachin Bhalekar and Varsha Daftardar-Gejji},
  year={2011}
}
source

Distributed Order Differential Equations

FractionalDiffEq.DOMatrixDiscreteType

Usage

solve(prob, DOMatrixDiscrete())

Use distributed order strip matrix algorithm to solve distriubted order problem.

References

@inproceedings{Jiao2012DistributedOrderDS,
  title={Distributed-Order Dynamic Systems - Stability, Simulation, Applications and Perspectives},
  author={Zhuang Jiao and Yang Quan Chen and Igor Podlubny},
  booktitle={Springer Briefs in Electrical and Computer Engineering},
  year={2012}
}
source

Fractional Differences Equations

FractionalDiffEq.PECEDifferenceType

Usage

solve(FDProb::FractionalDifferenceProblem, T, h, PECEDifference())

Use the PECE algorithm to solve fractional difference equations

References

@article{陈福来2011分数阶微分差分方程的,
  title={分数阶微分差分方程的 Matlab 求解},
  author={陈福来 and 王华 and 李势丰},
  journal={湘南学院学报},
  volume={32},
  number={5},
  pages={1--4},
  year={2011}
}
source
Missing docstring.

Missing docstring for FractionalDiffEq.GL. Check Documenter's build log for details.