Skip to content

differintP 0.0.3

Choose a tag to compare

@iparsw iparsw released this 04 Jul 17:02
· 11 commits to master since this release
1aad5eb

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 to special.py for 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 GLI implementation:

    • 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

    • CaputoL1point CaputoL2point CaputoL2Cpoint CaputoFromRLpoint
    • CRONE GL GLpoint GLI GL_gpu
    • RL RLpoint PCsolver functions Namespaces
  • Aditional test and test restructuring

  • Restructuring the Namespaces