Skip to main content

Fast C++ implementation of fractional calculus operators via pybind11

Project description

  • Only Windows Support for now!

differintC

differintC is a high-performance C++ library with Python bindings for computing fractional differintegrals (derivatives and integrals of arbitrary real order) using numerical methods.

This package implements optimized versions of the Riemann–Liouville and Grünwald–Letnikov (GL) fractional differintegral operators, inspired by the original DifferInt project.

⚙️ Built with modern C++17 and exposed to Python via pybind11, this library is significantly faster than pure-Python equivalents, especially for large arrays and high-precision needs.


📦 Installation

pip install differintC

🚀 Usage

from differintC import RLpoint, RL, GLpoint, GL

# Example 1: Riemann–Liouville at a single point
result = RLpoint(0.5, lambda x: x**2)
print("RLpoint(0.5, x^2) =", result)

# Example 2: RL on a whole domain
import numpy as np
x = np.linspace(0, 1, 100)
f = x**2
out = RL(0.5, f)

# Example 3: Grünwald–Letnikov pointwise
gl_res = GLpoint(0.5, lambda x: np.sqrt(x))

# Example 4: Full array version (fastest)
gl_array = GL(0.5, lambda x: np.sqrt(x))

All functions support either a NumPy array or a Python callable as the f_name argument.


📚 Implemented Functions

Function Description
RLpoint Riemann–Liouville differintegral at a point
RL RL differintegral over a uniform domain
GLpoint Grünwald–Letnikov at a point (optimized)
GL Vectorized GL differintegral with FFT

⚖️ License and Credits

This package was inspired by and based on the original DifferInt project. We thank the authors for their foundational work in fractional calculus.

Licensed under MIT.


🛠 Development Notes

See the todo list 1 for the development roadmap and planned features. Contributions are welcome.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

differintc-0.0.3.tar.gz (2.0 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

differintc-0.0.3-cp313-cp313-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.13Windows x86-64

File details

Details for the file differintc-0.0.3.tar.gz.

File metadata

  • Download URL: differintc-0.0.3.tar.gz
  • Upload date:
  • Size: 2.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for differintc-0.0.3.tar.gz
Algorithm Hash digest
SHA256 8150711e07380f1f9ea341397c009bccab017c28d8ef836aeec127cec075d110
MD5 1bf8a582252819dfd4ef507784886789
BLAKE2b-256 592d0dc7e5d5cb0a36091c2fe9be323cc9e40e5971aeac085f01ae82e87dcbdd

See more details on using hashes here.

File details

Details for the file differintc-0.0.3-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: differintc-0.0.3-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for differintc-0.0.3-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 aaade1bacc792a4f286eb4cb57d00032b9babae97966cf8d76e0b38e3984d02f
MD5 d2f69217bc180866d57403fd99572066
BLAKE2b-256 8807a6e94935f4fc882ba11f123d929f6f045ee1123507450928eb9af2fb40b8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page