FractionalCalculus.jl provides support for fractional calculus computing.
If you have already installed Julia, you can install FractionalCalculus.jl in REPL using Julia package manager:
pkg> add FractionalCalculus
To compute the fractional derivative in a specific point, for example, compute
julia> fracdiff(x->x, 0.2, 1, 0.0001, RLDiffL1())
1.0736712740308347
This will return the estimated value with high precision.
To compute the fractional integral in a specific point, for example, compute the semi integral of
julia> fracint(x->x, 0.5, 1, 0.0001, RLIntApprox())
0.7522525439593486
This will return the estimated value with high precision.
Current Algorithms
βββ FracDiffAlg
β βββ Caputo
| | βββ CaputoDirect
| | βββ CaputoTrap
| | βββ CaputoDiethelm
| | βββ CaputoHighPrecision
| | βββ CaputoL1
| | βββ CaputoL2
| | βββ CaputoHighOrder
| |
β βββ GrΓΌnwald Letnikov
| | βββ GLDirect
| | βββ GLMultiplicativeAdditive
| | βββ GLLagrangeThreePointInterp
| | βββ GLHighPrecision
| |
| βββ Riemann Liouville
| | βββ RLDiffL1
| | βββ RLDiffL2
| | βββ RLDiffL2C
| | βββ RLLinearSplineInterp
| | βββ RLDiffMatrix
| | βββ RLG1
| | βββ RLD
| |
| βββ Hadamard
| | βββ HadamardLRect
| | βββ HadamardRRect
| | βββ HadamardTrap
| |
| βββ Riesz
| | βββ RieszSymmetric
| | βββ RieszOrtigueira
| |
| βββ Caputo-Fabrizio
| | βββ CaputoFabrizioAS
| |
| βββ Atanagana Baleanu
| βββ AtanganaSeda
|
βββ FracIntAlg
βββ Riemann Liouville
| βββ RLDirect
| βββ RLPiecewise
| βββ RLLinearInterp
| βββ RLIntApprox
| βββ RLIntMatrix
| βββ RLIntSimpson
| βββ RLIntTrapezoidal
| βββ RLIntRectangular
| βββ RLIntCubicSplineInterp
|
βββ Hadamard
βββ HadamardMat
For detailed usage, please refer to our manual.
Let's see examples here:
Compute the semi-derivative of
We can see that computing retains high precisionβ¬οΈ.
Compute different order derivative of
Also different order derivative of
And also different order integral of
Thanks to SymbolicUtils.jl, FractionalCalculus.jl can do symbolic fractional differentiation and integration now!!
julia> using FractionalCalculus, SymbolicUtils
julia> @syms x
julia> semidiff(log(x))
log(4x) / sqrt(Οx)
julia> semiint(x^4)
0.45851597901024005(x^4.5)
Right now, FractionalCalculus.jl has only supports for little algorithms:
Fractional Derivative:
- Caputo fractional derivative
- Grunwald-Letnikov fractional derivative
- Riemann-Liouville fractional derivative
- Riesz fractional derivative
- Hadamard fractional derivative
- Caputo-Fabrizio fractional derivative
- Atangana-Baleanu fractional derivative
- Marchaud fractional derivative
- Weyl fractional derivative
- ......
Fractional Integral:
- Riemann-Liouville fractional integral
- Hadamard fractional integral
- Atangana-Baleanu fractional integral
- ......
FractionalCalculus.jl is built upon the hard work of many scientific researchers, I sincerely appreciate what they have done to help the development of science and technology.
If you are interested in Fractional Calculus and Julia, welcome to raise an issue or file a Pull Request!!