## 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
8 Months 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.