## FractionalCalculus.jl

FractionalCalculus.jl: A Julia package for high performance, comprehensive and high precision numerical fractional calculus computing.
Author SciFracX
Popularity
23 Stars
Updated Last
1 Year Ago
Started In
June 2021

# FractionalCalculus.jl

FractionalCalculus.jl provides support for fractional calculus computing.

## π Installation

If you have already install Julia, you can install FractionalCalculus.jl in REPL using Julia package manager:

pkg> add FractionalCalculus

## π¦Έ Quick start

### Derivative

To compute the fractional derivative in a specific point, for example, compute $\alpha = 0.2$ derivative of $f(x) = x$ in $x = 1$ with step size $h = 0.0001$ using Riemann Liouville sense:

julia> fracdiff(x->x, 0.2, 1, 0.0001, RLDiffL1())
1.0736712740308347

This will return the estimated value with high precision.

### Integral

To compute the fractional integral in a specific point, for example, compute the semi integral of $f(x) = x$ in $x = 1$ with step size $h = 0.0001$ using Riemann-Liouville sense:

julia> fracint(x->x, 0.5, 1, 0.0001, RLIntApprox())
0.7522525439593486

This will return the estimated value with high precision.

## π» All algorithms

Current Algorithms
βββ FracDiffAlg
β   βββ Caputo
|   |   βββ CaputoDirect
|   |   βββ CaputoTrap
|   |   βββ CaputoDiethelm
|   |   βββ CaputoHighPrecision
|   |   βββ CaputoHighOrder
|   |
β   βββ GrΓΌnwald Letnikov
|   |   βββ GLDirect
|   |   βββ GLLagrangeThreePointInterp
|   |   βββ GLHighPrecision
|   |
|   βββ Riemann Liouville
|   |    βββ RLDiffL1
|   |    βββ RLLinearSplineInterp
|   |    βββ RLDiffMatrix
|   |    βββ RLG1
|   |    βββ RLD
|   |
|   |
|   βββ Riesz
|   |    βββ RieszSymmetric
|   |    βββ RieszOrtigueira
|   |
|   βββ Caputo-Fabrizio
|   |    βββ CaputoFabrizioAS
|   |
|   βββ Atanagana Baleanu
|        βββ AtanganaSeda
|
βββ FracIntAlg
βββ Riemann Liouville
|   βββ RLDirect
|   βββ RLPiecewise
|   βββ RLLinearInterp
|   βββ RLIntApprox
|   βββ RLIntMatrix
|   βββ RLIntSimpson
|   βββ RLIntTrapezoidal
|   βββ RLIntRectangular
|   βββ RLIntCubicSplineInterp
|


For detailed usage, please refer to our manual.

## πΌοΈ Example

Let's see examples here:

Compute the semi-derivative of $f(x) = x$ in the interval $\left[0, 1\right]$:

We can see the computing retains high precisionβ¬οΈ.

Compute different order derivative of $f(x) = x$:

Also different order derivative of $f(x) = \sin(x)$:

And also different order integral of $f(x) = x$:

## π§ Symbolic Fractional Differentiation and Integration

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)

## π’ Status

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
• Caputo-Fabrizio fractional derivative
• Atangana-Baleanu fractional derivative
• Marchaud fractional derivative
• Weyl fractional derivative
• ......

Fractional Integral:

• Riemann-Liouville fractional integral
• Atangana-Baleanu fractional integral
• ......

## π Reference

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.

## π₯ Contributing

If you are interested in Fractional Calculus and Julia, welcome to raise an issue or file a Pull Request!!

### Required Packages

View all packages

### Used By Packages

No packages found.