Releases: iparsw/differintP
Releases · iparsw/differintP
differintP 0.0.4 (Weyl, Riesz)
0.0.4
-
Added Weyl and Riesz Fractional Derivative Functions:
-
Weyl: Implements the periodic, right-sided fractional derivative using an FFT-based method. For periodic functions, this operator produces phase-shifted analytical derivatives, and is especially well-suited for spectral methods. -
Riesz: Implements the symmetric (two-sided) fractional derivative, also using FFT. For pure sines/cosines, the Riesz operator multiplies each Fourier mode by$-|k|^\alpha$ , resulting in a real-valued, sign-flipped output (not a phase shift). Especially relevant in physics and PDEs.
-
-
Testing Update:
- Both
WeylandRieszare covered by unittest and pytest-style tests for compatibility and reliability. - The test suite is transitioned from
unittesttopytestfor modern, flexible, and more expressive testing.
- Both
differintP 0.0.3
0.0.3 (7/4/2025)
- Redesigned
GLpoint:
Replaced the previous GLpoint implementation with a highly efficient, single-pass C++-style recurrence. The new method uses a Numba JIT-compiled kernel for substantial speed gains, directly computing the Grünwald-Letnikov fractional derivative at the endpoint in one loop over the function values.
Legacy and alternative endpoint methods (GLpoint_direct,GLpoint_via_GL) have been moved tospecial.pyfor reference and comparison.
Benchmark Result for GLpoint:
| count | differintP | differint | Speedup Factor |
|---|---|---|---|
| 1+e2 | 0.0148 ms | 0.0416 ms | x2.81 |
| 1+e3 | 0.0276 ms | 0.4213 ms | x15.26 |
| 1+e4 | 0.0397 ms | 3.8376 ms | x96.66 |
| 1+e5 | 0.3285 ms | 36.303 ms | x110.5 |
| 1+e6 | 5.267 ms | 385.9205 ms | x73.27 |
| 1+e7 | 51.2645 ms | 3674.3541 ms | x71.67 |
-
Optimized
GLIimplementation:- Rewrote core algorithm to use a Numba-accelerated helper for the main rolling-window convolution, matching the original literature.
- Ensured correctness by flipping GL coefficients within the moving-window convolution.
- Replaced class-based coefficient calculation with direct variable computation for improved clarity and efficiency.
- All critical loops are now compiled with Numba for major speed improvements, especially at high grid resolutions.
- Modernized function interface and added robust array conversion and shape checks.
Benchmark Result for GLI:
| count | differintP | differint | Speedup Factor |
|---|---|---|---|
| 1+e2 | 0.0760 ms | 0.7582 ms | x6.06 |
| 1+e3 | 2.0336 ms | 7.391 ms | x3.63 |
| 1+e4 | 155.7649 ms | 128.3709 ms | x0.8 |
| 5+e4 | 3895.176 ms | 15181.82 ms | x3.89 |
-
Wiki Pages for
CaputoL1pointCaputoL2pointCaputoL2CpointCaputoFromRLpointCRONEGLGLpointGLIGL_gpuRLRLpointPCsolverfunctions Namespaces
-
Aditional test and test restructuring
-
Restructuring the Namespaces
differintP 0.0.2
0.0.2 (7/3/2025)
- Optimized core functions:
GL,RL, andRLpoint - Added GPU-accelerated
GL(GL_gpu) via CuPy (optional dependency) - Modernized package setup and build system
GL:
| count | differintP | differint |
|---|---|---|
| 1+e2 | 0.0782 ms | 0.2159 ms |
| 1+e3 | 0.0942 ms | 0.6401 ms |
| 1+e4 | 0.487 ms | 3.8757 ms |
| 1+e5 | 9.1574 ms | 38.2753 ms |
| 1+e6 | 97.8466 ms | 403.2405 ms |
| 1+e7 | * | * |
RL
| count | differintP | differint |
|---|---|---|
| 1+e2 | 0.9003 ms | 4.054 ms |
| 1+e3 | 15.8491 ms | 418.7378 ms |
| 1+e4 | 1372.8949 ms | 3.8757 ms |
RLpoint
| count | differintP | differint |
|---|---|---|
| 1+e2 | 0.0874 ms | 0.1039 ms |
| 1+e3 | 0.1519 ms | 0.9835 ms |
| 1+e4 | 1.0374 ms | 9.7152 ms |
| 1+e5 | 12.5892 ms | 108.2792 ms |
| 1+e6 | 126.6893 ms | 995.7722 ms |
| 1+e7 | 1257.0316 ms | * |