Collection of algorithms for numerically calculating fractional derivatives.
Project description
differint
This package is used for numerically calculating fractional derivatives and integrals (differintegrals). Options for varying definitions of the differintegral are available, including the GrunwaldLetnikov (GL), the â€˜improvedâ€™ GrunwaldLetnikov (GLI), the RiemannLiouville (RL), and the Caputo (coming soon!). Through the API, you can compute differintegrals at a point or over an array of function values.
Motivation
There is little in the way of readily available, easytouse code for numerical fractional calculus. What is currently available are functions that are generally either smart parts of a much larger package, or only offer one numerical algorithm. The differint package offers a variety of algorithms for computing differintegrals and several auxiliary functions relating to generalized binomial coefficients.
Installation
This project requires Python 3+ and NumPy to run.
Installation from the Python Packaging index (https://pypi.python.org/pypi) is simple using pip.
pip install differint
Example Usage
Taking a fractional derivative is easy with the differint package. Letâ€™s take the 1/2 derivative of the square root function on the interval [0,1], using the RiemannLiouville definition of the fractional derivative.
import numpy as np import differint.differint as df def f(x): return x**0.5 DF = df.RL(0.5, f) print(DF)
You can also specify the endpoints of the domain and the number of points used as follows.
DF = df.RL(0.5, f, 0, 1, 128)
Tests
All tests can be run with nose from the command line. Setup will automatically install nose if it is not present on your machine.
python setup.py tests
Alternatively, you can run the test script directly.
cd <file_path>/differint/tests/ python test.py
API Reference
In this section we cover the usage of the various functions within the differint package.
Main Function  Usage 

GLpoint  Computes the GL differintegral at a point 
GL  Computes the GL differintegral over an entire array of function values using the Fast Fourier Transform 
GLI  Computes the improved GL differintegral over an entire array of function values 
RLpoint  Computes the RL differintegral at a point 
RL  Computes the RL differintegral over an entire array of function values using matrix methods 
Auxiliary Function  Usage 

isInteger  Determine if a number is an integer 
checkValues  Used to check for valid algorithm input types 
GLIinterpolat  Define interpolatin g coefficients for the improved GL algorithm 
functionCheck  Determines if algorithm function input is callable or an array of numbers 
test_func  Testing function for docstring examples 
poch  Computes the Pochhammer symbol 
GLcoeffs  Determines the convolution filter composed of generalized binomial coefficients used in the GL algorithm 
RLcoeffs  Calculates the coefficients used in the RLpoint and RL algorithms 
RLmatrix  Determines the matrix used in the RL algorithm 
Contribute
To contribute to this project, see the contributing guidelines.
Credits
Baleanu, D., Diethelm, K., Scalas, E., & Trujillo, J.J. (2012). Fractional Calculus: Models and Numerical Methods. World Scientific.
Oldham, K.B. & Spanier, J. (1974). The Fractional Calculus: Theory and Applications of Differentiation and Integration to Arbitrary Order. Academic Press Inc.
License
MIT Â© Matthew Adams
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Filename, size  File type  Python version  Upload date  Hashes 

Filename, size differint0.3.2py3noneany.whl (9.0 kB)  File type Wheel  Python version py3  Upload date  Hashes View 
Hashes for differint0.3.2py3noneany.whl
Algorithm  Hash digest  

SHA256  40f3e4f8666dc673b1edb0fea4faa97fc03d46bb7b860f337d54d474402b2220 

MD5  166d19380c829fad6de0ba276347c044 

BLAKE2256  333a6097c7a3ff780b8a8b9288cd1f07614be8e83265f3e1596e39bea5e1e7c5 