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.2.4.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.2.4-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.2.4.tar.gz.

File metadata

  • Download URL: differintc-0.0.2.4.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.2.4.tar.gz
Algorithm Hash digest
SHA256 2294cc3f272835b10b94d9f0cd5a4802a6cf81c2d196f8df9ab885d5a6804f87
MD5 81007cefbcb0911712efd239361324b3
BLAKE2b-256 e658fa2382ca3777169926d4e9fcac73a0687456507c5efcd0a083c8434ebbd0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for differintc-0.0.2.4-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 fc112f35e09bf8f94c72e6d66b17a25bc1e1cf9f1f4e0889d5774c81f472245f
MD5 0c22597ff38e7b6b5d25f02f1f56730f
BLAKE2b-256 df1f04483227174d01aa6f5bf581328528dcfcd8ced20236a79a7e995171b676

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