# Current algorithms in FractionalDiffEq.jl

## Fractional Ordinary Differential Equations

### Single Term FODE

Missing docstring for `FractionalDiffEq.PECE`

. Check Documenter's build log for details.

Missing docstring for `FractionalDiffEq.Euler`

. Check Documenter's build log for details.

Missing docstring for `FractionalDiffEq.PIEX`

. Check Documenter's build log for details.

Missing docstring for `FractionalDiffEq.AtanganaSeda`

. Check Documenter's build log for details.

### Multi-Term FODE

`FractionalDiffEq.FODEMatrixDiscrete`

— Type**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}
}
```

`FractionalDiffEq.ClosedForm`

— Type**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

`FractionalDiffEq.ClosedFormHankelM`

— Type**Usage**

`solve(prob::MultiTermsFODEProblem, ::ClosedFormHankelM)`

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

`FractionalDiffEq.PIPECE`

— Type`solve(prob::MultiTermsFODEProblem, h, PIPECE())`

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

`FractionalDiffEq.PIRect`

— Type`solve(prob::MultiTermsFODEProblem, h, PIRect())`

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

`FractionalDiffEq.PITrap`

— Type`solve(prob::MultiTermsFODEProblem, h, PITrap())`

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

### System of FODE

`FractionalDiffEq.NonLinearAlg`

— Type**Usage**

`solve(prob::FODEProblem, h, NonLinearAlg())`

Nonlinear algorithm for nonlinear fractional differential equations.

**References**

Dingyu Xue, Northeastern University, China ISBN:9787030543981

Missing docstring for `FractionalDiffEq.PECE`

. Check Documenter's build log for details.

Missing docstring for `FractionalDiffEq.GL`

. Check Documenter's build log for details.

`FractionalDiffEq.FLMMBDF`

— Type`solve(prob::FODEProblem, 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}
}
```

`FractionalDiffEq.FLMMNewtonGregory`

— Type`solve(prob::FODEProblem, 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}
}
```

`FractionalDiffEq.FLMMTrap`

— Type`solve(prob::FODEProblem, 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}
}
```

Missing docstring for `FractionalDiffEq.PIEX`

. Check Documenter's build log for details.

`FractionalDiffEq.NewtonPolynomial`

— Type`solve(prob::FODEProblem, h, NewtonPolynomial())`

Solve FODE system using Newton Polynomials methods.

Used for the Caputo Fabrizio fractional differential operators.

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

`FractionalDiffEq.AtanganaSedaAB`

— Type`solve(prob::FODESystem, h, AtanganaSedaAB())`

Solve Atangana-Baleanu fractional order differential equations using Newton Polynomials.

## Fractional Delay Differential Equatinos

`FractionalDiffEq.DelayPECE`

— Type**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}
}
```

Missing docstring for `FractionalDiffEq.DelayPI`

. Check Documenter's build log for details.

`FractionalDiffEq.MatrixForm`

— Type**Usage**

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

**Reference**

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

`FractionalDiffEq.DelayABM`

— Type`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}
}
```

## Distributed Order Differential Equations

`FractionalDiffEq.DOMatrixDiscrete`

— Type**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}
}
```

## Fractional Differences Equations

Missing docstring for `FractionalDiffEq.PECEDifference`

. Check Documenter's build log for details.

Missing docstring for `FractionalDiffEq.GL`

. Check Documenter's build log for details.