API Reference
This section provides comprehensive documentation for all functions, classes, and methods in the HPFRACC library.
Core Module
Fractional Order Definitions
High-Performance Fractional Calculus Library (hpfracc)
A high-performance Python library for numerical methods in fractional calculus, featuring dramatic speedups and production-ready optimizations across all methods.
This library provides optimized implementations of: - Core fractional derivatives: Caputo, Riemann-Liouville, Grünwald-Letnikov - Advanced methods: Weyl, Marchaud, Hadamard, Reiz-Feller derivatives - Special methods: Fractional Laplacian, Fractional Fourier Transform, Fractional Z-Transform, Fractional Mellin Transform - GPU acceleration via JAX, PyTorch, and CuPy - Parallel computing via NUMBA
- class hpfracc.OptimizedRiemannLiouville(order)[source]
Bases:
FractionalOperatorOptimized implementation of the Riemann-Liouville fractional derivative.
- Parameters:
order (float | FractionalOrder)
- __init__(order)[source]
- Parameters:
order (float | FractionalOrder)
- class hpfracc.OptimizedCaputo(order)[source]
Bases:
FractionalOperatorOptimized implementation of the Caputo fractional derivative.
Note: Caputo derivative is defined for all alpha > 0. The implementation uses the standard formulation: D^α f(t) = I^(n-α) f^(n)(t) where n = ceil(α)
- Parameters:
order (float | FractionalOrder)
- __init__(order)[source]
- Parameters:
order (float | FractionalOrder)
- class hpfracc.OptimizedGrunwaldLetnikov(order)[source]
Bases:
FractionalOperatorOptimized implementation of the Grünwald-Letnikov fractional derivative.
- Parameters:
order (float | FractionalOrder)
- class hpfracc.FractionalOrder(alpha, validate=True, method=None)[source]
Bases:
objectRepresents a fractional order with validation and properties.
The fractional order α can be any real number, but typically we consider 0 < α < 2 for most applications.
- Parameters:
alpha (float | FractionalOrder)
validate (bool)
method (str)
- class hpfracc.WeylDerivative(alpha, parallel_config=None, optimized=True, **kwargs)[source]
Bases:
objectWeyl fractional derivative via FFT Convolution with parallelization.
The Weyl derivative is defined as: D^α f(x) = (1/Γ(n-α)) (d/dx)^n ∫_x^∞ (τ-x)^(n-α-1) f(τ) dτ
This implementation uses FFT convolution for efficiency and parallel processing.
- Parameters:
alpha (float | FractionalOrder)
parallel_config (ParallelConfig | None)
optimized (bool)
- __init__(alpha, parallel_config=None, optimized=True, **kwargs)[source]
Initialize Weyl derivative calculator.
- Parameters:
alpha (float | FractionalOrder)
parallel_config (ParallelConfig | None)
optimized (bool)
- compute(f, x, h=None, use_parallel=True)[source]
Compute Weyl derivative using optimized FFT convolution.
- class hpfracc.MarchaudDerivative(alpha, parallel_config=None, **kwargs)[source]
Bases:
objectMarchaud fractional derivative with Difference Quotient convolution and memory optimization.
The Marchaud derivative is defined as: D^α f(x) = α/Γ(1-α) ∫_0^∞ [f(x) - f(x-τ)] / τ^(α+1) dτ
This implementation uses difference quotient convolution with memory optimization.
- Parameters:
alpha (float | FractionalOrder)
parallel_config (ParallelConfig | None)
- __init__(alpha, parallel_config=None, **kwargs)[source]
Initialize Marchaud derivative calculator.
- Parameters:
alpha (float | FractionalOrder)
parallel_config (ParallelConfig | None)
- compute(f, x, h=None, use_parallel=True, memory_optimized=True)[source]
Compute Marchaud derivative with memory optimization.
- _compute_memory_optimized(f, x, h, use_parallel)[source]
Memory-optimized computation using streaming approach.
- class hpfracc.FractionalLaplacian(alpha, *, dimension=1, boundary_conditions=None)[source]
Bases:
objectFractional Laplacian operator implementation.
The fractional Laplacian is defined as: (-Δ)^(α/2) f(x) = F^(-1)[|ξ|^α F[f](ξ)]
This is a fundamental operator in fractional PDEs, diffusion processes, and many physical applications.
- Parameters:
alpha (float | FractionalOrder)
dimension (int)
boundary_conditions (str | None)
- __init__(alpha, *, dimension=1, boundary_conditions=None)[source]
Initialize fractional Laplacian calculator.
- Parameters:
order – Fractional order (0 < α < 2)
dimension (int) – Spatial dimension
boundary_conditions (str | None) – Boundary condition type
alpha (float | FractionalOrder)
- compute(f, x, h=None, method='spectral')[source]
Compute fractional Laplacian.
- Parameters:
- Returns:
Fractional Laplacian values
- Return type:
- compute_numerical(f, x, h=None)[source]
Numerical convenience API used by tests.
Uses finite-difference approximation under the hood.
- class hpfracc.FractionalFourierTransform(alpha, *, method='spectral')[source]
Bases:
objectFractional Fourier Transform (FrFT) implementation.
The fractional Fourier transform is a generalization of the Fourier transform that depends on a parameter α. For α = π/2, it reduces to the standard Fourier transform.
FrFT[f](u) = ∫_{-∞}^∞ K_α(x, u) f(x) dx
where K_α is the fractional Fourier kernel.
- Parameters:
alpha (float | FractionalOrder)
method (str)
- __init__(alpha, *, method='spectral')[source]
Initialize fractional Fourier transform calculator.
- Parameters:
alpha (float | FractionalOrder)
method (str)
- compute(f, x, h=None, method='auto')[source]
Compatibility wrapper returning only transformed values.
Some call sites expect a compute(…) API that returns the transformed values array directly. This method delegates to transform(…) and returns only the values component.
- _discrete_method(f, x, h)[source]
Discrete fractional Fourier transform using optimized FFT-based approach.
- compute_numerical(f, x, h=None)[source]
Numerical convenience API returning only values.
Maps to the discrete method for accuracy.
- _compute_transform_matrix(x, u, h)[source]
Compute the discrete fractional Fourier transform matrix.
- class hpfracc.RiemannLiouvilleIntegral(order)[source]
Bases:
FractionalIntegralRiemann-Liouville fractional integral.
The Riemann-Liouville fractional integral of order α is defined as:
I^α f(t) = (1/Γ(α)) ∫₀ᵗ (t-τ)^(α-1) f(τ) dτ
where Γ(α) is the gamma function.
- Parameters:
order (float | FractionalOrder)
- __init__(order)[source]
Initialize fractional integral.
- Parameters:
order (float | FractionalOrder) – Fractional order (0 < α < 1 for most methods)
method – Integration method (“RL”, “Caputo”, “Weyl”, “Hadamard”)
- class hpfracc.CaputoIntegral(order)[source]
Bases:
FractionalIntegralCaputo fractional integral.
The Caputo fractional integral is related to the Riemann-Liouville integral and is often more suitable for initial value problems.
Supports all fractional orders α ≥ 0: - For 0 < α < 1: Equals Riemann-Liouville integral - For α ≥ 1: Uses decomposition I^α = I^n * I^β where α = n + β
Examples
>>> from hpfracc.core.integrals import CaputoIntegral >>> def f(x): return x**2 >>> # For 0 < α < 1 >>> integral_05 = CaputoIntegral(0.5) >>> result = integral_05(f, 1.0) >>> # For α ≥ 1 >>> integral_15 = CaputoIntegral(1.5) >>> result = integral_15(f, 1.0)
- Parameters:
order (float | FractionalOrder)
- __init__(order)[source]
Initialize fractional integral.
- Parameters:
order (float | FractionalOrder) – Fractional order (0 < α < 1 for most methods)
method – Integration method (“RL”, “Caputo”, “Weyl”, “Hadamard”)
- class hpfracc.CaputoFabrizioDerivative(order, **kwargs)[source]
Bases:
BaseFractionalDerivativeCaputo-Fabrizio fractional derivative implementation.
Uses the novel implementation from algorithms.
- Parameters:
order (float | FractionalOrder)
- __init__(order, **kwargs)[source]
Initialize fractional derivative.
- Parameters:
order (float | FractionalOrder) – Fractional order
definition – Mathematical definition
use_jax – Whether to use JAX optimizations
use_numba – Whether to use NUMBA optimizations
- class hpfracc.AtanganaBaleanuDerivative(order, **kwargs)[source]
Bases:
BaseFractionalDerivativeAtangana-Baleanu fractional derivative implementation.
Uses the novel implementation from algorithms.
- Parameters:
order (float | FractionalOrder)
- __init__(order, **kwargs)[source]
Initialize fractional derivative.
- Parameters:
order (float | FractionalOrder) – Fractional order
definition – Mathematical definition
use_jax – Whether to use JAX optimizations
use_numba – Whether to use NUMBA optimizations
- hpfracc.Caputo
alias of
CaputoDerivative
- class hpfracc.CaputoDerivative(order, **kwargs)[source]
Bases:
BaseFractionalDerivativeCaputo fractional derivative implementation.
Uses the optimized implementation from algorithms.
- Parameters:
order (float | FractionalOrder)
- __init__(order, **kwargs)[source]
Initialize fractional derivative.
- Parameters:
order (float | FractionalOrder) – Fractional order
definition – Mathematical definition
use_jax – Whether to use JAX optimizations
use_numba – Whether to use NUMBA optimizations
- class hpfracc.HadamardDerivative(alpha=None, order=None, **kwargs)[source]
Bases:
objectHadamard fractional derivative.
The Hadamard derivative is defined as: D^α f(x) = (1/Γ(n-α)) (x d/dx)^n ∫_1^x (log(x/t))^(n-α-1) f(t) dt/t
This implementation uses logarithmic transformation and efficient quadrature.
- Parameters:
alpha (float | FractionalOrder | None)
order (float | FractionalOrder | None)
- __init__(alpha=None, order=None, **kwargs)[source]
Initialize Hadamard derivative calculator.
Accepts both alpha and order for backward compatibility.
- Parameters:
alpha (float | FractionalOrder | None)
order (float | FractionalOrder | None)
- class hpfracc.ReizFellerDerivative(alpha, parallel_config=None, **kwargs)[source]
Bases:
objectReiz-Feller fractional derivative via spectral method.
The Reiz-Feller derivative is defined as: D^α f(x) = (1/2π) ∫_{-∞}^∞ |ξ|^α F[f](ξ) e^(iξx) dξ
This implementation uses FFT for spectral computation.
- Parameters:
alpha (float | FractionalOrder)
parallel_config (ParallelConfig | None)
- __init__(alpha, parallel_config=None, **kwargs)[source]
Initialize Reiz-Feller derivative calculator.
- Parameters:
alpha (float | FractionalOrder)
parallel_config (ParallelConfig | None)
- class hpfracc.FractionalZTransform(alpha, *, method='spectral')[source]
Bases:
objectFractional Z-Transform implementation.
The fractional Z-transform is a generalization of the Z-transform that depends on a fractional parameter α. It’s useful for discrete-time systems and digital signal processing.
Z^α[f](z) = Σ_{n=0}^∞ f[n] z^(-αn)
- Parameters:
alpha (float | FractionalOrder)
method (str)
- __init__(alpha, *, method='spectral')[source]
Initialize fractional Z-transform calculator.
- Parameters:
alpha (float | FractionalOrder)
method (str)
- class hpfracc.FractionalMellinTransform(alpha)[source]
Bases:
objectFractional Mellin Transform implementation.
The fractional Mellin transform is defined as: M_α[f](s) = ∫₀^∞ f(x) x^(s-1+α) dx
This transform is useful for: - Scale-invariant signal processing - Fractional differential equations - Image processing and pattern recognition - Quantum mechanics applications
- Parameters:
alpha (float | FractionalOrder)
- __init__(alpha)[source]
Initialize fractional Mellin transform calculator.
- Parameters:
alpha (float | FractionalOrder)
- transform(f, x, s, method='numerical')[source]
Compute fractional Mellin transform.
- Parameters:
- Returns:
Transform values
- Return type:
- inverse_transform(F, s, x, method='numerical')[source]
Compute inverse fractional Mellin transform.
Core Algorithms
Optimized Fractional Calculus Methods This module provides unified, high-performance implementations of fractional calculus methods, leveraging JAX for GPU acceleration with NumPy as a fallback.
- hpfracc.algorithms.optimized_methods._jnp_gradient_edge_order_2(f, h)[source]
JAX implementation of numpy.gradient with edge_order=2.
- hpfracc.algorithms.optimized_methods._fast_binomial_coefficients_numpy(alpha, max_k)[source]
Compute binomial coefficients (alpha choose k) efficiently.
- hpfracc.algorithms.optimized_methods._grunwald_letnikov_numpy(f, alpha, h)[source]
Compute Grünwald-Letnikov derivative using FFT convolution.
- hpfracc.algorithms.optimized_methods._riemann_liouville_numpy(f, alpha, n, h)[source]
Compute Riemann-Liouville derivative using Grünwald-Letnikov approximation which is equivalent for small h, or using RL definition directly. Here we use the RL definition: D^alpha f = d^n/dt^n I^(n-alpha) f
- hpfracc.algorithms.optimized_methods._caputo_numpy(f, alpha, h)[source]
Compute Caputo derivative using the L1 scheme (for 0 < alpha < 1) or L2 scheme (for 1 < alpha < 2).
- class hpfracc.algorithms.optimized_methods.FractionalOperator(order)[source]
Bases:
object- Parameters:
order (float | FractionalOrder)
- __init__(order)[source]
- Parameters:
order (float | FractionalOrder)
- class hpfracc.algorithms.optimized_methods.OptimizedGrunwaldLetnikov(order)[source]
Bases:
FractionalOperatorOptimized implementation of the Grünwald-Letnikov fractional derivative.
- Parameters:
order (float | FractionalOrder)
- class hpfracc.algorithms.optimized_methods.OptimizedRiemannLiouville(order)[source]
Bases:
FractionalOperatorOptimized implementation of the Riemann-Liouville fractional derivative.
- Parameters:
order (float | FractionalOrder)
- __init__(order)[source]
- Parameters:
order (float | FractionalOrder)
- class hpfracc.algorithms.optimized_methods.OptimizedCaputo(order)[source]
Bases:
FractionalOperatorOptimized implementation of the Caputo fractional derivative.
Note: Caputo derivative is defined for all alpha > 0. The implementation uses the standard formulation: D^α f(t) = I^(n-α) f^(n)(t) where n = ceil(α)
- Parameters:
order (float | FractionalOrder)
- __init__(order)[source]
- Parameters:
order (float | FractionalOrder)
- class hpfracc.algorithms.optimized_methods.ParallelOptimizedRiemannLiouville(order)[source]
Bases:
OptimizedRiemannLiouvilleParallel version of OptimizedRiemannLiouville.
Currently inherits all functionality from OptimizedRiemannLiouville. Future enhancements will include: - Multi-threaded computation for large datasets - Distributed computing support - Load balancing across multiple cores
- Parameters:
order (float | FractionalOrder)
- class hpfracc.algorithms.optimized_methods.ParallelOptimizedCaputo(order)[source]
Bases:
OptimizedCaputoParallel version of OptimizedCaputo.
Currently inherits all functionality from OptimizedCaputo. Future enhancements will include: - Multi-threaded computation for large datasets - Distributed computing support - Load balancing across multiple cores
- Parameters:
order (float | FractionalOrder)
- class hpfracc.algorithms.optimized_methods.ParallelOptimizedGrunwaldLetnikov(order)[source]
Bases:
OptimizedGrunwaldLetnikovParallel version of OptimizedGrunwaldLetnikov.
Currently inherits all functionality from OptimizedGrunwaldLetnikov. Future enhancements will include: - Multi-threaded computation for large datasets - Distributed computing support - Load balancing across multiple cores
- Parameters:
order (float | FractionalOrder)
- class hpfracc.algorithms.optimized_methods.ParallelPerformanceMonitor[source]
Bases:
objectPerformance monitoring for parallel fractional calculus operations.
This is a placeholder class for future implementation. Will include: - Per-thread performance metrics - Load balancing statistics - Memory usage tracking across threads - Bottleneck identification
- class hpfracc.algorithms.optimized_methods.NumbaOptimizer[source]
Bases:
objectNumba JIT optimization utilities for fractional calculus.
This is a placeholder class for future implementation. Will include: - Automatic kernel generation - JIT compilation configuration - Cache management - Performance profiling
- class hpfracc.algorithms.optimized_methods.NumbaFractionalKernels[source]
Bases:
objectPre-compiled Numba kernels for fractional calculus operations.
This is a placeholder class for future implementation. Will include: - Optimized convolution kernels - FFT-based fractional derivative kernels - Memory-efficient history accumulation
- class hpfracc.algorithms.optimized_methods.OptimizedFractionalMethods[source]
Bases:
objectCollection of optimized fractional calculus methods.
This is a placeholder class for future implementation. Will provide a unified interface for: - Method selection and recommendation - Automatic optimization based on problem characteristics - Performance benchmarking
- class hpfracc.algorithms.optimized_methods.ParallelConfig(n_jobs=1, enabled=False, **kwargs)[source]
Bases:
objectConfiguration for parallel fractional calculus computations.
- Variables:
n_jobs – Number of parallel jobs (threads/processes)
enabled – Whether parallel computation is enabled
- class hpfracc.algorithms.optimized_methods.AdvancedFFTMethods(method='spectral', *args, **kwargs)[source]
Bases:
objectAdvanced FFT-based methods for fractional derivatives.
Supports multiple FFT-based approaches: - Spectral methods - Fractional Fourier transforms - Wavelet-based methods
- Parameters:
method – FFT method to use (‘spectral’, ‘fractional_fourier’, ‘wavelet’)
- class hpfracc.algorithms.optimized_methods.L1L2Schemes[source]
Bases:
objectL1 and L2 finite difference schemes for fractional derivatives.
This is a placeholder class for future implementation. Will include: - L1 scheme for Caputo derivatives (first-order accuracy) - L2 scheme for Caputo derivatives (second-order accuracy) - L1-2 hybrid schemes
- class hpfracc.algorithms.optimized_methods.ParallelLoadBalancer[source]
Bases:
objectLoad balancer for parallel fractional calculus computations.
This is a placeholder class for future implementation. Will include: - Dynamic work distribution - Thread pool management - Resource allocation optimization
- hpfracc.algorithms.optimized_methods.parallel_optimized_riemann_liouville(f, t, alpha, h=None)[source]
- hpfracc.algorithms.optimized_methods.parallel_optimized_grunwald_letnikov(f, t, alpha, h=None)[source]
Advanced Fractional Calculus Methods
This module implements advanced fractional calculus methods with optimizations: - Weyl derivative via FFT Convolution with parallelization - Marchaud derivative with Difference Quotient convolution and memory optimization - Hadamard derivative - Reiz/Reiz-Feller derivative via spectral method - Adomian Decomposition method
All methods include parallel processing and memory optimizations.
- class hpfracc.algorithms.advanced_methods.WeylDerivative(alpha, parallel_config=None, optimized=True, **kwargs)[source]
Bases:
objectWeyl fractional derivative via FFT Convolution with parallelization.
The Weyl derivative is defined as: D^α f(x) = (1/Γ(n-α)) (d/dx)^n ∫_x^∞ (τ-x)^(n-α-1) f(τ) dτ
This implementation uses FFT convolution for efficiency and parallel processing.
- Parameters:
alpha (float | FractionalOrder)
parallel_config (ParallelConfig | None)
optimized (bool)
- __init__(alpha, parallel_config=None, optimized=True, **kwargs)[source]
Initialize Weyl derivative calculator.
- Parameters:
alpha (float | FractionalOrder)
parallel_config (ParallelConfig | None)
optimized (bool)
- compute(f, x, h=None, use_parallel=True)[source]
Compute Weyl derivative using optimized FFT convolution.
- class hpfracc.algorithms.advanced_methods.MarchaudDerivative(alpha, parallel_config=None, **kwargs)[source]
Bases:
objectMarchaud fractional derivative with Difference Quotient convolution and memory optimization.
The Marchaud derivative is defined as: D^α f(x) = α/Γ(1-α) ∫_0^∞ [f(x) - f(x-τ)] / τ^(α+1) dτ
This implementation uses difference quotient convolution with memory optimization.
- Parameters:
alpha (float | FractionalOrder)
parallel_config (ParallelConfig | None)
- __init__(alpha, parallel_config=None, **kwargs)[source]
Initialize Marchaud derivative calculator.
- Parameters:
alpha (float | FractionalOrder)
parallel_config (ParallelConfig | None)
- compute(f, x, h=None, use_parallel=True, memory_optimized=True)[source]
Compute Marchaud derivative with memory optimization.
- _compute_memory_optimized(f, x, h, use_parallel)[source]
Memory-optimized computation using streaming approach.
- class hpfracc.algorithms.advanced_methods.HadamardDerivative(alpha=None, order=None, **kwargs)[source]
Bases:
objectHadamard fractional derivative.
The Hadamard derivative is defined as: D^α f(x) = (1/Γ(n-α)) (x d/dx)^n ∫_1^x (log(x/t))^(n-α-1) f(t) dt/t
This implementation uses logarithmic transformation and efficient quadrature.
- Parameters:
alpha (float | FractionalOrder | None)
order (float | FractionalOrder | None)
- __init__(alpha=None, order=None, **kwargs)[source]
Initialize Hadamard derivative calculator.
Accepts both alpha and order for backward compatibility.
- Parameters:
alpha (float | FractionalOrder | None)
order (float | FractionalOrder | None)
- class hpfracc.algorithms.advanced_methods.ReizFellerDerivative(alpha, parallel_config=None, **kwargs)[source]
Bases:
objectReiz-Feller fractional derivative via spectral method.
The Reiz-Feller derivative is defined as: D^α f(x) = (1/2π) ∫_{-∞}^∞ |ξ|^α F[f](ξ) e^(iξx) dξ
This implementation uses FFT for spectral computation.
- Parameters:
alpha (float | FractionalOrder)
parallel_config (ParallelConfig | None)
- __init__(alpha, parallel_config=None, **kwargs)[source]
Initialize Reiz-Feller derivative calculator.
- Parameters:
alpha (float | FractionalOrder)
parallel_config (ParallelConfig | None)
- class hpfracc.algorithms.advanced_methods.AdomianDecomposition(alpha, parallel_config=None, **kwargs)[source]
Bases:
objectAdomian Decomposition Method for solving fractional differential equations.
This method decomposes the solution into a series and computes each term using the Adomian polynomials.
- Parameters:
alpha (float | FractionalOrder)
parallel_config (ParallelConfig | None)
- __init__(alpha, parallel_config=None, **kwargs)[source]
Initialize Adomian Decomposition solver.
- Parameters:
alpha (float | FractionalOrder)
parallel_config (ParallelConfig | None)
- solve(equation, initial_conditions, t_span, n_steps=1000, n_terms=10, use_parallel=True)[source]
Solve fractional differential equation using Adomian decomposition.
- Parameters:
- Returns:
Tuple of (time_points, solution)
- Return type:
- _compute_adomian_polynomial(equation, previous_terms, n, t)[source]
Compute the nth Adomian polynomial.
- hpfracc.algorithms.advanced_methods.weyl_derivative(f, x, alpha, h=None, **kwargs)[source]
Convenience function for Weyl derivative.
- hpfracc.algorithms.advanced_methods.marchaud_derivative(f, x, alpha, h=None, **kwargs)[source]
Convenience function for Marchaud derivative.
- hpfracc.algorithms.advanced_methods.hadamard_derivative(f, x, alpha, h=None, **kwargs)[source]
Convenience function for Hadamard derivative.
- hpfracc.algorithms.advanced_methods.reiz_feller_derivative(f, x, alpha, h=None, **kwargs)[source]
Convenience function for Reiz-Feller derivative.
- class hpfracc.algorithms.advanced_methods.OptimizedWeylDerivative(order, **kwargs)[source]
Bases:
WeylDerivativeAlias for backward compatibility with optimized Weyl derivative.
- Parameters:
order (float | FractionalOrder)
- __init__(order, **kwargs)[source]
Initialize optimized Weyl derivative calculator.
- Parameters:
order (float | FractionalOrder)
- class hpfracc.algorithms.advanced_methods.OptimizedMarchaudDerivative(order, **kwargs)[source]
Bases:
MarchaudDerivativeAlias for backward compatibility with optimized Marchaud derivative.
- Parameters:
order (float | FractionalOrder)
- __init__(order, **kwargs)[source]
Initialize optimized Marchaud derivative calculator.
- Parameters:
order (float | FractionalOrder)
- class hpfracc.algorithms.advanced_methods.OptimizedHadamardDerivative(order, **kwargs)[source]
Bases:
HadamardDerivativeAlias for backward compatibility with optimized Hadamard derivative.
- Parameters:
order (float | FractionalOrder)
- __init__(order, **kwargs)[source]
Initialize optimized Hadamard derivative calculator.
- Parameters:
order (float | FractionalOrder)
- class hpfracc.algorithms.advanced_methods.OptimizedReizFellerDerivative(order, **kwargs)[source]
Bases:
ReizFellerDerivativeAlias for backward compatibility with optimized Reiz-Feller derivative.
- Parameters:
order (float | FractionalOrder)
- __init__(order, **kwargs)[source]
Initialize optimized Reiz-Feller derivative calculator.
- Parameters:
order (float | FractionalOrder)
- class hpfracc.algorithms.advanced_methods.OptimizedAdomianDecomposition(order, **kwargs)[source]
Bases:
AdomianDecompositionAlias for backward compatibility with optimized Adomian decomposition.
- Parameters:
order (float | FractionalOrder)
- __init__(order, **kwargs)[source]
Initialize optimized Adomian decomposition calculator.
- Parameters:
order (float | FractionalOrder)
- hpfracc.algorithms.advanced_methods.optimized_weyl_derivative(f, x, alpha, h=None, **kwargs)[source]
Convenience function for optimized Weyl derivative.
- hpfracc.algorithms.advanced_methods.optimized_marchaud_derivative(f, x, alpha, h=None, **kwargs)[source]
Convenience function for optimized Marchaud derivative.
- hpfracc.algorithms.advanced_methods.optimized_hadamard_derivative(f, x, alpha, h=None, **kwargs)[source]
Convenience function for optimized Hadamard derivative.
- hpfracc.algorithms.advanced_methods.optimized_reiz_feller_derivative(f, x, alpha, h=None, **kwargs)[source]
Convenience function for optimized Reiz-Feller derivative.
Special Fractional Calculus Methods
This module implements specialized fractional calculus methods that are fundamental for advanced applications:
Fractional Laplacian: Essential for PDEs and diffusion processes
Fractional Fourier Transform: Powerful for signal processing and spectral analysis
Fractional Z-Transform: Useful for discrete-time systems and digital signal processing
These methods provide the foundation for more complex fractional calculus applications.
- hpfracc.algorithms.special_methods._factorial(n)
Simple factorial function for NUMBA compatibility.
- class hpfracc.algorithms.special_methods.FractionalLaplacian(alpha, *, dimension=1, boundary_conditions=None)[source]
Bases:
objectFractional Laplacian operator implementation.
The fractional Laplacian is defined as: (-Δ)^(α/2) f(x) = F^(-1)[|ξ|^α F[f](ξ)]
This is a fundamental operator in fractional PDEs, diffusion processes, and many physical applications.
- Parameters:
alpha (float | FractionalOrder)
dimension (int)
boundary_conditions (str | None)
- __init__(alpha, *, dimension=1, boundary_conditions=None)[source]
Initialize fractional Laplacian calculator.
- Parameters:
order – Fractional order (0 < α < 2)
dimension (int) – Spatial dimension
boundary_conditions (str | None) – Boundary condition type
alpha (float | FractionalOrder)
- compute(f, x, h=None, method='spectral')[source]
Compute fractional Laplacian.
- Parameters:
- Returns:
Fractional Laplacian values
- Return type:
- compute_numerical(f, x, h=None)[source]
Numerical convenience API used by tests.
Uses finite-difference approximation under the hood.
- class hpfracc.algorithms.special_methods.FractionalFourierTransform(alpha, *, method='spectral')[source]
Bases:
objectFractional Fourier Transform (FrFT) implementation.
The fractional Fourier transform is a generalization of the Fourier transform that depends on a parameter α. For α = π/2, it reduces to the standard Fourier transform.
FrFT[f](u) = ∫_{-∞}^∞ K_α(x, u) f(x) dx
where K_α is the fractional Fourier kernel.
- Parameters:
alpha (float | FractionalOrder)
method (str)
- __init__(alpha, *, method='spectral')[source]
Initialize fractional Fourier transform calculator.
- Parameters:
alpha (float | FractionalOrder)
method (str)
- compute(f, x, h=None, method='auto')[source]
Compatibility wrapper returning only transformed values.
Some call sites expect a compute(…) API that returns the transformed values array directly. This method delegates to transform(…) and returns only the values component.
- _discrete_method(f, x, h)[source]
Discrete fractional Fourier transform using optimized FFT-based approach.
- compute_numerical(f, x, h=None)[source]
Numerical convenience API returning only values.
Maps to the discrete method for accuracy.
- _compute_transform_matrix(x, u, h)[source]
Compute the discrete fractional Fourier transform matrix.
- class hpfracc.algorithms.special_methods.FractionalZTransform(alpha, *, method='spectral')[source]
Bases:
objectFractional Z-Transform implementation.
The fractional Z-transform is a generalization of the Z-transform that depends on a fractional parameter α. It’s useful for discrete-time systems and digital signal processing.
Z^α[f](z) = Σ_{n=0}^∞ f[n] z^(-αn)
- Parameters:
alpha (float | FractionalOrder)
method (str)
- __init__(alpha, *, method='spectral')[source]
Initialize fractional Z-transform calculator.
- Parameters:
alpha (float | FractionalOrder)
method (str)
- class hpfracc.algorithms.special_methods.FractionalMellinTransform(alpha)[source]
Bases:
objectFractional Mellin Transform implementation.
The fractional Mellin transform is defined as: M_α[f](s) = ∫₀^∞ f(x) x^(s-1+α) dx
This transform is useful for: - Scale-invariant signal processing - Fractional differential equations - Image processing and pattern recognition - Quantum mechanics applications
- Parameters:
alpha (float | FractionalOrder)
- __init__(alpha)[source]
Initialize fractional Mellin transform calculator.
- Parameters:
alpha (float | FractionalOrder)
- transform(f, x, s, method='numerical')[source]
Compute fractional Mellin transform.
- Parameters:
- Returns:
Transform values
- Return type:
- inverse_transform(F, s, x, method='numerical')[source]
Compute inverse fractional Mellin transform.
- hpfracc.algorithms.special_methods.fractional_laplacian(f, x, alpha, h=None, method='spectral')[source]
Convenience function for fractional Laplacian.
- hpfracc.algorithms.special_methods.fractional_fourier_transform(f, x, alpha, h=None, method='auto')[source]
Convenience function for fractional Fourier transform.
- hpfracc.algorithms.special_methods.fractional_z_transform(f, z, alpha, method='direct')[source]
Convenience function for fractional Z-transform.
- hpfracc.algorithms.special_methods.fractional_mellin_transform(f, x, s, alpha, method='numerical')[source]
Convenience function for fractional Mellin transform.
- class hpfracc.algorithms.special_methods.SpecialMethodsConfig(optimized=True, parallel=False)[source]
Bases:
objectConfiguration for special methods optimization.
- class hpfracc.algorithms.special_methods.SpecialOptimizedWeylDerivative(alpha, config=None)[source]
Bases:
objectWeyl derivative optimized using Fractional Fourier Transform.
This implementation replaces the standard FFT convolution approach with Fractional Fourier Transform for better performance, especially for large arrays and specific alpha values.
- Parameters:
alpha (float | FractionalOrder)
config (SpecialMethodsConfig | None)
- __init__(alpha, config=None)[source]
Initialize special optimized Weyl derivative calculator.
- Parameters:
alpha (float | FractionalOrder)
config (SpecialMethodsConfig | None)
- class hpfracc.algorithms.special_methods.SpecialOptimizedMarchaudDerivative(alpha, config=None)[source]
Bases:
objectMarchaud derivative optimized using Fractional Z-Transform.
This implementation replaces the difference quotient convolution with Fractional Z-Transform for better performance on discrete signals.
- Parameters:
alpha (float | FractionalOrder)
config (SpecialMethodsConfig | None)
- __init__(alpha, config=None)[source]
Initialize special optimized Marchaud derivative calculator.
- Parameters:
alpha (float | FractionalOrder)
config (SpecialMethodsConfig | None)
- compute(f, x, h=None, method='z_transform')[source]
Compute Marchaud derivative using optimized method.
- class hpfracc.algorithms.special_methods.SpecialOptimizedReizFellerDerivative(alpha, config=None)[source]
Bases:
objectReiz-Feller derivative optimized using Fractional Laplacian.
This implementation uses the Fractional Laplacian for efficient computation of the Reiz-Feller derivative, especially for spectral methods and large-scale problems.
- Parameters:
alpha (float | FractionalOrder)
config (SpecialMethodsConfig | None)
- __init__(alpha, config=None)[source]
Initialize special optimized Reiz-Feller derivative calculator.
- Parameters:
alpha (float | FractionalOrder)
config (SpecialMethodsConfig | None)
- compute(f, x, h=None, method='laplacian')[source]
Compute Reiz-Feller derivative using optimized method.
- class hpfracc.algorithms.special_methods.UnifiedSpecialMethods(config=None)[source]
Bases:
objectUnified interface for all special methods with automatic method selection.
This class provides a unified API that automatically selects the best special method based on the problem characteristics.
- Parameters:
config (SpecialMethodsConfig | None)
- __init__(config=None)[source]
Initialize unified special methods interface.
- Parameters:
config (SpecialMethodsConfig | None)
- compute_derivative(f, x, alpha, h, method=None, problem_type='general')[source]
Compute fractional derivative using optimal special method.
- Parameters:
- Returns:
Derivative values
- Return type:
- hpfracc.algorithms.special_methods.special_optimized_weyl_derivative(f, x, alpha, h=None, method=None)[source]
Convenience function for special optimized Weyl derivative.
- hpfracc.algorithms.special_methods.special_optimized_marchaud_derivative(f, x, alpha, h=None, method='z_transform')[source]
Convenience function for special optimized Marchaud derivative.
- hpfracc.algorithms.special_methods.special_optimized_reiz_feller_derivative(f, x, alpha, h=None, method='laplacian')[source]
Convenience function for special optimized Reiz-Feller derivative.
Fractional Implementations
Fractional derivative and integral implementations.
This module provides concrete implementations of fractional derivatives and integrals that can be registered with the factory.
Performance Note (v2.1.0): - All implementations automatically benefit from intelligent backend selection - Backend selection happens in the underlying optimized algorithms - Small data (< 1K elements): Uses NumPy/Numba for minimal overhead - Large data (> 100K elements): Uses GPU when available for acceleration - Zero code changes required - optimization is automatic
- class hpfracc.core.fractional_implementations._AlphaCompatibilityWrapper(fractional_order)[source]
Bases:
objectWrapper that makes alpha behave like both a float and FractionalOrder.
- Parameters:
fractional_order (FractionalOrder)
- __init__(fractional_order)[source]
- Parameters:
fractional_order (FractionalOrder)
- class hpfracc.core.fractional_implementations.RiemannLiouvilleDerivative(order, **kwargs)[source]
Bases:
BaseFractionalDerivativeRiemann-Liouville fractional derivative implementation.
Uses the optimized implementation from algorithms.
- Parameters:
order (float | FractionalOrder)
- __init__(order, **kwargs)[source]
Initialize fractional derivative.
- Parameters:
order (float | FractionalOrder) – Fractional order
definition – Mathematical definition
use_jax – Whether to use JAX optimizations
use_numba – Whether to use NUMBA optimizations
- class hpfracc.core.fractional_implementations.CaputoDerivative(order, **kwargs)[source]
Bases:
BaseFractionalDerivativeCaputo fractional derivative implementation.
Uses the optimized implementation from algorithms.
- Parameters:
order (float | FractionalOrder)
- __init__(order, **kwargs)[source]
Initialize fractional derivative.
- Parameters:
order (float | FractionalOrder) – Fractional order
definition – Mathematical definition
use_jax – Whether to use JAX optimizations
use_numba – Whether to use NUMBA optimizations
- class hpfracc.core.fractional_implementations.GrunwaldLetnikovDerivative(order, **kwargs)[source]
Bases:
BaseFractionalDerivativeGrunwald-Letnikov fractional derivative implementation.
Uses the optimized implementation from algorithms.
- Parameters:
order (float | FractionalOrder)
- __init__(order, **kwargs)[source]
Initialize fractional derivative.
- Parameters:
order (float | FractionalOrder) – Fractional order
definition – Mathematical definition
use_jax – Whether to use JAX optimizations
use_numba – Whether to use NUMBA optimizations
- class hpfracc.core.fractional_implementations.CaputoFabrizioDerivative(order, **kwargs)[source]
Bases:
BaseFractionalDerivativeCaputo-Fabrizio fractional derivative implementation.
Uses the novel implementation from algorithms.
- Parameters:
order (float | FractionalOrder)
- __init__(order, **kwargs)[source]
Initialize fractional derivative.
- Parameters:
order (float | FractionalOrder) – Fractional order
definition – Mathematical definition
use_jax – Whether to use JAX optimizations
use_numba – Whether to use NUMBA optimizations
- class hpfracc.core.fractional_implementations.AtanganaBaleanuDerivative(order, **kwargs)[source]
Bases:
BaseFractionalDerivativeAtangana-Baleanu fractional derivative implementation.
Uses the novel implementation from algorithms.
- Parameters:
order (float | FractionalOrder)
- __init__(order, **kwargs)[source]
Initialize fractional derivative.
- Parameters:
order (float | FractionalOrder) – Fractional order
definition – Mathematical definition
use_jax – Whether to use JAX optimizations
use_numba – Whether to use NUMBA optimizations
- class hpfracc.core.fractional_implementations.FractionalLaplacian(order, **kwargs)[source]
Bases:
BaseFractionalDerivativeFractional Laplacian operator implementation.
Uses the special implementation from algorithms.
- Parameters:
order (float | FractionalOrder)
- __init__(order, **kwargs)[source]
Initialize fractional derivative.
- Parameters:
order (float | FractionalOrder) – Fractional order
definition – Mathematical definition
use_jax – Whether to use JAX optimizations
use_numba – Whether to use NUMBA optimizations
- class hpfracc.core.fractional_implementations.FractionalFourierTransform(order, **kwargs)[source]
Bases:
BaseFractionalDerivativeFractional Fourier Transform implementation.
Uses the special implementation from algorithms.
- Parameters:
order (float | FractionalOrder)
- __init__(order, **kwargs)[source]
Initialize fractional derivative.
- Parameters:
order (float | FractionalOrder) – Fractional order
definition – Mathematical definition
use_jax – Whether to use JAX optimizations
use_numba – Whether to use NUMBA optimizations
- class hpfracc.core.fractional_implementations.MillerRossDerivative(order, **kwargs)[source]
Bases:
BaseFractionalDerivativeMiller-Ross fractional derivative implementation.
This is a generalization of the Riemann-Liouville derivative.
- Parameters:
order (float | FractionalOrder)
- __init__(order, **kwargs)[source]
Initialize fractional derivative.
- Parameters:
order (float | FractionalOrder) – Fractional order
definition – Mathematical definition
use_jax – Whether to use JAX optimizations
use_numba – Whether to use NUMBA optimizations
- class hpfracc.core.fractional_implementations.WeylDerivative(order, **kwargs)[source]
Bases:
BaseFractionalDerivativeWeyl fractional derivative implementation.
Uses the advanced implementation from algorithms with FFT convolution and parallel processing optimizations.
- Parameters:
order (float | FractionalOrder)
- __init__(order, **kwargs)[source]
Initialize fractional derivative.
- Parameters:
order (float | FractionalOrder) – Fractional order
definition – Mathematical definition
use_jax – Whether to use JAX optimizations
use_numba – Whether to use NUMBA optimizations
- class hpfracc.core.fractional_implementations.MarchaudDerivative(order, **kwargs)[source]
Bases:
BaseFractionalDerivativeMarchaud fractional derivative implementation.
Uses the advanced implementation from algorithms with difference quotient convolution and memory optimization.
- Parameters:
order (float | FractionalOrder)
- __init__(order, **kwargs)[source]
Initialize fractional derivative.
- Parameters:
order (float | FractionalOrder) – Fractional order
definition – Mathematical definition
use_jax – Whether to use JAX optimizations
use_numba – Whether to use NUMBA optimizations
- class hpfracc.core.fractional_implementations.HadamardDerivative(order, **kwargs)[source]
Bases:
BaseFractionalDerivativeHadamard fractional derivative implementation.
Uses the advanced implementation from algorithms with logarithmic kernels.
- Parameters:
order (float | FractionalOrder)
- __init__(order, **kwargs)[source]
Initialize fractional derivative.
- Parameters:
order (float | FractionalOrder) – Fractional order
definition – Mathematical definition
use_jax – Whether to use JAX optimizations
use_numba – Whether to use NUMBA optimizations
- class hpfracc.core.fractional_implementations.ReizFellerDerivative(order, **kwargs)[source]
Bases:
BaseFractionalDerivativeReiz-Feller fractional derivative implementation.
Uses the advanced implementation from algorithms with spectral methods.
- Parameters:
order (float | FractionalOrder)
- __init__(order, **kwargs)[source]
Initialize fractional derivative.
- Parameters:
order (float | FractionalOrder) – Fractional order
definition – Mathematical definition
use_jax – Whether to use JAX optimizations
use_numba – Whether to use NUMBA optimizations
- class hpfracc.core.fractional_implementations.ParallelOptimizedRiemannLiouville(order, **kwargs)[source]
Bases:
BaseFractionalDerivativeParallel-optimized Riemann-Liouville fractional derivative.
Uses parallel processing and load balancing for high-performance computation.
- Parameters:
order (float | FractionalOrder)
- __init__(order, **kwargs)[source]
Initialize fractional derivative.
- Parameters:
order (float | FractionalOrder) – Fractional order
definition – Mathematical definition
use_jax – Whether to use JAX optimizations
use_numba – Whether to use NUMBA optimizations
- class hpfracc.core.fractional_implementations.ParallelOptimizedCaputo(order, **kwargs)[source]
Bases:
BaseFractionalDerivativeParallel-optimized Caputo fractional derivative.
Uses parallel processing and load balancing for high-performance computation.
- Parameters:
order (float | FractionalOrder)
- __init__(order, **kwargs)[source]
Initialize fractional derivative.
- Parameters:
order (float | FractionalOrder) – Fractional order
definition – Mathematical definition
use_jax – Whether to use JAX optimizations
use_numba – Whether to use NUMBA optimizations
- class hpfracc.core.fractional_implementations.RieszFisherOperator(alpha, **kwargs)[source]
Bases:
BaseFractionalDerivativeRiesz-Fisher fractional operator implementation.
The Riesz-Fisher operator is a combination of left and right fractional derivatives/integrals that is particularly useful in signal processing and image analysis. It’s defined as:
R^α f(x) = (1/2) * [D^α_+ f(x) + D^α_- f(x)]
where D^α_+ is the left-sided and D^α_- is the right-sided operator.
For α > 0: acts as a derivative For α < 0: acts as an integral For α = 0: acts as identity
- Parameters:
alpha (float | FractionalOrder)
- __init__(alpha, **kwargs)[source]
Initialize fractional derivative.
- Parameters:
order – Fractional order
definition – Mathematical definition
use_jax – Whether to use JAX optimizations
use_numba – Whether to use NUMBA optimizations
alpha (float | FractionalOrder)
- class hpfracc.core.fractional_implementations.AdomianDecompositionMethod(max_terms=10, tolerance=1e-06)[source]
Bases:
objectAdomian Decomposition Method for solving fractional differential equations.
This is an analytical method that decomposes the solution into a series of components that can be computed iteratively.
- solve(equation, initial_condition, domain, **kwargs)[source]
Solve a fractional differential equation using Adomian decomposition.
- Parameters:
- Returns:
Solution dictionary with components and convergence info
- Return type:
- compute_adomian_polynomials(nonlinear_term, u_series, order)[source]
Compute Adomian polynomials for nonlinear terms.
- hpfracc.core.fractional_implementations.create_fractional_integral(method, alpha, **kwargs)[source]
Create a fractional integral implementation.
- Parameters:
method (str) – Integration method (“RL” for Riemann-Liouville)
alpha (float | FractionalOrder) – Fractional order
**kwargs – Additional parameters
- Returns:
Fractional integral implementation
- hpfracc.core.fractional_implementations.create_riesz_fisher_operator(alpha, **kwargs)[source]
Create a Riesz-Fisher fractional operator.
- Parameters:
alpha (float | FractionalOrder) – Fractional order - α > 0: acts as a derivative - α < 0: acts as an integral - α = 0: acts as identity
**kwargs – Additional parameters
- Returns:
RieszFisherOperator instance
Core Derivatives
Base classes for fractional derivatives.
This module provides abstract base classes and common interfaces for implementing different fractional derivative definitions.
- class hpfracc.core.derivatives.BaseFractionalDerivative(order, definition=None, use_jax=False, use_numba=True)[source]
Bases:
ABCAbstract base class for fractional derivatives.
This class defines the common interface that all fractional derivative implementations must follow.
- Parameters:
order (float | FractionalOrder)
definition (FractionalDefinition | None)
use_jax (bool)
use_numba (bool)
- __init__(order, definition=None, use_jax=False, use_numba=True)[source]
Initialize fractional derivative.
- Parameters:
order (float | FractionalOrder) – Fractional order
definition (FractionalDefinition | None) – Mathematical definition
use_jax (bool) – Whether to use JAX optimizations
use_numba (bool) – Whether to use NUMBA optimizations
- abstract compute(f, x, **kwargs)[source]
Compute the fractional derivative of function f at point(s) x.
- class hpfracc.core.derivatives.FractionalDerivativeOperator(alpha, definition_type=DefinitionType.CAPUTO, use_jax=False, use_numba=True)[source]
Bases:
objectHigh-level operator for fractional derivatives.
This class provides a unified interface for different fractional derivative definitions and implementations.
- Parameters:
alpha (float | FractionalOrder)
definition_type (str | DefinitionType)
use_jax (bool)
use_numba (bool)
- __init__(alpha, definition_type=DefinitionType.CAPUTO, use_jax=False, use_numba=True)[source]
Initialize fractional derivative operator.
- Parameters:
alpha (float | FractionalOrder) – Fractional order
definition_type (str | DefinitionType) – Type of fractional definition
use_jax (bool) – Whether to use JAX optimizations
use_numba (bool) – Whether to use NUMBA optimizations
- compute_numerical(f_values, x_values, **kwargs)[source]
Compute the fractional derivative numerically.
- set_implementation(implementation)[source]
Set the implementation for this operator.
- Parameters:
implementation (BaseFractionalDerivative)
- class hpfracc.core.derivatives.FractionalDerivativeFactory[source]
Bases:
objectFactory class for creating fractional derivative implementations.
This class provides a convenient way to create different types of fractional derivative implementations.
- register_implementation(definition_type, implementation_class)[source]
Register an implementation for a specific definition type.
- Parameters:
definition_type (DefinitionType) – Type of fractional definition
implementation_class (type) – Implementation class
- create(definition_type, alpha, use_jax=False, use_numba=True, **kwargs)[source]
Create a fractional derivative implementation.
- Parameters:
definition_type (str | DefinitionType) – Type of fractional definition
alpha (float | FractionalOrder) – Fractional order
use_jax (bool) – Whether to use JAX optimizations
use_numba (bool) – Whether to use NUMBA optimizations
**kwargs – Additional parameters for the implementation
- Returns:
Fractional derivative implementation
- Return type:
- class hpfracc.core.derivatives.FractionalDerivativeChain(derivatives)[source]
Bases:
objectChain of fractional derivatives for composition.
This class allows composing multiple fractional derivatives to create higher-order or mixed-order derivatives.
- Parameters:
derivatives (List[BaseFractionalDerivative])
- __init__(derivatives)[source]
Initialize derivative chain.
- Parameters:
derivatives (List[BaseFractionalDerivative]) – List of fractional derivatives to chain
- class hpfracc.core.derivatives.FractionalDerivativeProperties[source]
Bases:
objectProperties and utilities for fractional derivatives.
- static check_linearity(derivative, f, g, x, a=1.0, b=1.0, tolerance=1e-10)[source]
Check if a fractional derivative satisfies linearity.
- Parameters:
- Returns:
True if linearity is satisfied
- Return type:
- hpfracc.core.derivatives.create_fractional_derivative(definition_type, alpha, use_jax=False, use_numba=True, **kwargs)[source]
Create a fractional derivative implementation.
- Parameters:
definition_type (str | DefinitionType) – Type of fractional definition
alpha (float | FractionalOrder) – Fractional order
use_jax (bool) – Whether to use JAX optimizations
use_numba (bool) – Whether to use NUMBA optimizations
**kwargs – Additional parameters
- Returns:
Fractional derivative implementation
- Return type:
- hpfracc.core.derivatives.create_derivative_operator(definition_type, alpha, use_jax=False, use_numba=True)[source]
Create a fractional derivative operator.
- Parameters:
definition_type (str | DefinitionType) – Type of fractional definition
alpha (float | FractionalOrder) – Fractional order
use_jax (bool) – Whether to use JAX optimizations
use_numba (bool) – Whether to use NUMBA optimizations
- Returns:
Fractional derivative operator
- Return type:
- hpfracc.core.derivatives.caputo(f, alpha, **kwargs)[source]
Convenience function for Caputo derivative.
Core Integrals
Fractional Integrals Module
This module provides comprehensive implementations of fractional integrals including: - Riemann-Liouville fractional integrals - Caputo fractional integrals - Weyl fractional integrals - Hadamard fractional integrals - Numerical methods for fractional integration - Special cases and analytical solutions
- class hpfracc.core.integrals.FractionalIntegral(order, method='RL')[source]
Bases:
objectBase class for fractional integral implementations.
This class provides the foundation for different types of fractional integrals and their numerical implementations.
- Parameters:
order (float | FractionalOrder)
method (str)
- __init__(order, method='RL')[source]
Initialize fractional integral.
- Parameters:
order (float | FractionalOrder) – Fractional order (0 < α < 1 for most methods)
method (str) – Integration method (“RL”, “Caputo”, “Weyl”, “Hadamard”)
- class hpfracc.core.integrals.RiemannLiouvilleIntegral(order)[source]
Bases:
FractionalIntegralRiemann-Liouville fractional integral.
The Riemann-Liouville fractional integral of order α is defined as:
I^α f(t) = (1/Γ(α)) ∫₀ᵗ (t-τ)^(α-1) f(τ) dτ
where Γ(α) is the gamma function.
- Parameters:
order (float | FractionalOrder)
- __init__(order)[source]
Initialize fractional integral.
- Parameters:
order (float | FractionalOrder) – Fractional order (0 < α < 1 for most methods)
method – Integration method (“RL”, “Caputo”, “Weyl”, “Hadamard”)
- class hpfracc.core.integrals.CaputoIntegral(order)[source]
Bases:
FractionalIntegralCaputo fractional integral.
The Caputo fractional integral is related to the Riemann-Liouville integral and is often more suitable for initial value problems.
Supports all fractional orders α ≥ 0: - For 0 < α < 1: Equals Riemann-Liouville integral - For α ≥ 1: Uses decomposition I^α = I^n * I^β where α = n + β
Examples
>>> from hpfracc.core.integrals import CaputoIntegral >>> def f(x): return x**2 >>> # For 0 < α < 1 >>> integral_05 = CaputoIntegral(0.5) >>> result = integral_05(f, 1.0) >>> # For α ≥ 1 >>> integral_15 = CaputoIntegral(1.5) >>> result = integral_15(f, 1.0)
- Parameters:
order (float | FractionalOrder)
- __init__(order)[source]
Initialize fractional integral.
- Parameters:
order (float | FractionalOrder) – Fractional order (0 < α < 1 for most methods)
method – Integration method (“RL”, “Caputo”, “Weyl”, “Hadamard”)
- class hpfracc.core.integrals.WeylIntegral(order)[source]
Bases:
FractionalIntegralWeyl fractional integral.
The Weyl fractional integral is suitable for functions defined on the entire real line and is particularly useful for periodic functions.
- Parameters:
order (float | FractionalOrder)
- __init__(order)[source]
Initialize fractional integral.
- Parameters:
order (float | FractionalOrder) – Fractional order (0 < α < 1 for most methods)
method – Integration method (“RL”, “Caputo”, “Weyl”, “Hadamard”)
- class hpfracc.core.integrals.HadamardIntegral(order)[source]
Bases:
FractionalIntegralHadamard fractional integral.
The Hadamard fractional integral uses logarithmic kernels and is defined as: I^α_H f(t) = (1/Γ(α)) ∫₁ᵗ (ln(t/τ))^(α-1) f(τ) dτ/τ
- Parameters:
order (float | FractionalOrder)
- __init__(order)[source]
Initialize fractional integral.
- Parameters:
order (float | FractionalOrder) – Fractional order (0 < α < 1 for most methods)
method – Integration method (“RL”, “Caputo”, “Weyl”, “Hadamard”)
- hpfracc.core.integrals.create_fractional_integral(order, method='RL')[source]
Factory function to create fractional integral objects.
- Parameters:
order (float | FractionalOrder) – Fractional order
method (str) – Integration method (“RL”, “Caputo”, “Weyl”, “Hadamard”)
- Returns:
Appropriate fractional integral object
- Return type:
- hpfracc.core.integrals.analytical_fractional_integral(f_type, alpha, x)[source]
Compute analytical fractional integrals for common functions.
- hpfracc.core.integrals.trapezoidal_fractional_integral(f, x, alpha, method='RL')[source]
Compute fractional integral using trapezoidal rule.
- hpfracc.core.integrals.simpson_fractional_integral(f, x, alpha, method='RL')[source]
Compute fractional integral using Simpson’s rule.
- hpfracc.core.integrals.fractional_integral_properties(alpha)[source]
Return mathematical properties of fractional integrals.
- hpfracc.core.integrals.validate_fractional_integral(f, integral_result, x, alpha, method='RL')[source]
Validate fractional integral computation.
- class hpfracc.core.integrals.MillerRossIntegral(order)[source]
Bases:
FractionalIntegralMiller-Ross fractional integral.
The Miller-Ross fractional integral is defined as: I^α_MR f(t) = (1/Γ(α)) ∫₀ᵗ (t-τ)^(α-1) f(τ) dτ
This is similar to Riemann-Liouville but with different normalization.
- Parameters:
order (float | FractionalOrder)
- __init__(order)[source]
Initialize fractional integral.
- Parameters:
order (float | FractionalOrder) – Fractional order (0 < α < 1 for most methods)
method – Integration method (“RL”, “Caputo”, “Weyl”, “Hadamard”)
- class hpfracc.core.integrals.MarchaudIntegral(order)[source]
Bases:
FractionalIntegralMarchaud fractional integral.
The Marchaud fractional integral is defined as: I^α_M f(t) = (1/Γ(α)) ∫₀ᵗ (t-τ)^(α-1) f(τ) dτ
This is a generalization that can handle more general kernels.
- Parameters:
order (float | FractionalOrder)
- __init__(order)[source]
Initialize fractional integral.
- Parameters:
order (float | FractionalOrder) – Fractional order (0 < α < 1 for most methods)
method – Integration method (“RL”, “Caputo”, “Weyl”, “Hadamard”)
- class hpfracc.core.integrals.FractionalIntegralFactory[source]
Bases:
objectFactory class for creating fractional integral implementations.
This class provides a convenient way to create different types of fractional integral implementations.
- register_implementation(method, implementation_class)[source]
Register an implementation for a specific method.
- create(method, alpha, **kwargs)[source]
Create a fractional integral implementation.
- Parameters:
method (str) – Integration method
alpha (float | FractionalOrder) – Fractional order
**kwargs – Additional parameters for the implementation
- Returns:
Fractional integral implementation
- Return type:
- hpfracc.core.integrals.create_fractional_integral_factory(method, order, **kwargs)[source]
Create a fractional integral implementation using the factory.
- Parameters:
method (str) – Integration method (“RL”, “Caputo”, “Weyl”, “Hadamard”)
alpha – Fractional order
**kwargs – Additional parameters
order (float | FractionalOrder)
- Returns:
Fractional integral implementation
- Return type:
Machine Learning Module
Fractional Autograd Framework
Spectral fractional calculus utilities for ML integration.
This module provides a small, self-contained implementation that satisfies the expectations encoded in the extensive test-suite that accompanies the library. It focuses on three primary responsibilities:
Safe FFT utilities with backend selection and graceful fallbacks.
Spectral fractional derivative helpers that operate on PyTorch tensors while remaining differentiable with respect to both the input and the fractional order parameter
alpha.Thin neural-network wrappers (layers, learnable alpha parameters, and simple network scaffolding) that integrate the derivative into PyTorch models.
The goal is functional correctness and API compatibility rather than raw numerical performance; consequently many routines favour clarity and predictability over micro-optimisation. Every public utility is intentionally simple and well-behaved so that the surrounding tests can exercise a broad range of scenarios (different dtypes, devices, edge-cases, etc.).
- hpfracc.ml.spectral_autograd.set_fft_backend(backend)[source]
Select the preferred FFT backend.
- Parameters:
backend (str) – One of the identifiers listed in
_ALLOWED_BACKENDS. The value is stored verbatim (after lower-casing) for retrieval viaget_fft_backend(), while internal helpers map it to the effective behaviour (Torch FFT, NumPy FFT, robust fallback, etc.).- Return type:
- hpfracc.ml.spectral_autograd.get_fft_backend()[source]
Return the currently configured FFT backend identifier.
- Return type:
- hpfracc.ml.spectral_autograd.safe_fft(x, dim=-1, norm='ortho', backend=None)[source]
FFT helper that honours the configured backend and preserves dtype.
- hpfracc.ml.spectral_autograd.robust_fft(x, dim=-1, norm='ortho')[source]
FFT with an automatic fallback to NumPy when PyTorch fails.
- hpfracc.ml.spectral_autograd.spectral_fractional_derivative(x, alpha, kernel_type='riesz', dim=-1, **kwargs)[source]
Dispatcher for spectral fractional derivative. Selects backend based on input tensor type.
- hpfracc.ml.spectral_autograd.fractional_derivative(x, alpha, kernel_type='riesz', dim=-1, norm='ortho', backend=None, epsilon=1e-06)[source]
Public alias used throughout the tests.
- class hpfracc.ml.spectral_autograd.SpectralFractionalDerivative[source]
Bases:
objectCallable wrapper that mimics the autograd
Function.applyinterface.
- class hpfracc.ml.spectral_autograd.SpectralFractionalFunction[source]
Bases:
objectLegacy-style interface exposing explicit
forward/backwardhooks.
- class hpfracc.ml.spectral_autograd.SpectralFractionalLayer(*args, **kwargs)[source]
Bases:
ModuleApply a spectral fractional derivative inside a PyTorch layer.
- Parameters:
- class hpfracc.ml.spectral_autograd.SpectralFractionalNetwork(*args, **kwargs)[source]
Bases:
ModuleSimple network that incorporates spectral fractional layers.
Modes - unified (default): unified adaptive framework (input_dim, hidden_dims, output_dim). - model: model-specific/coverage style (input_size, hidden_sizes, output_size).
Backends - torch (default), jax, numba. If unavailable, CPU-safe fallbacks are used.
- Parameters:
input_size (Optional[int])
hidden_sizes (Optional[Sequence[int]])
output_size (Optional[int])
alpha (_Alpha)
input_dim (Optional[int])
hidden_dims (Optional[Sequence[int]])
output_dim (Optional[int])
kernel_type (str)
activation (Union[str, nn.Module, None])
learnable_alpha (bool)
backend (_Backend)
norm (str)
epsilon (float)
mode (str)
- __init__(input_size=None, hidden_sizes=None, output_size=None, alpha=0.5, *, input_dim=None, hidden_dims=None, output_dim=None, kernel_type='riesz', activation='relu', learnable_alpha=False, backend=None, norm='ortho', epsilon=1e-06, mode='unified', **kwargs)[source]
- class hpfracc.ml.spectral_autograd.BoundedAlphaParameter(*args, **kwargs)[source]
Bases:
ModuleLearnable scalar constrained to the open interval (alpha_min, alpha_max).
- hpfracc.ml.spectral_autograd.create_fractional_layer(input_size=None, *, alpha=0.5, kernel_type='riesz', dim=-1, norm='ortho', backend=None, epsilon=1e-06, learnable_alpha=False)[source]
- hpfracc.ml.spectral_autograd.benchmark_backends(x, alpha, *, iterations=10, kernel_type='riesz', dim=-1, norm='ortho', epsilon=1e-06)[source]
Crude benchmarking helper used in documentation and diagnostics.
- hpfracc.ml.spectral_autograd.original_get_fractional_kernel(alpha, n, kernel_type='riesz', epsilon=1e-06, dtype=None, device=None)[source]
- hpfracc.ml.spectral_autograd.original_spectral_fractional_derivative(x, alpha, kernel_type='riesz', dim=-1, norm='ortho', backend=None, epsilon=1e-06)[source]
- hpfracc.ml.spectral_autograd.OriginalSpectral
alias of
SpectralFractionalDerivative
- hpfracc.ml.spectral_autograd.OriginalSpectralFractionalLayer
alias of
SpectralFractionalLayer
- hpfracc.ml.spectral_autograd.OriginalSpectralFractionalNetwork
alias of
SpectralFractionalNetwork
- hpfracc.ml.spectral_autograd.original_create_fractional_layer(input_size=None, *, alpha=0.5, kernel_type='riesz', dim=-1, norm='ortho', backend=None, epsilon=1e-06, learnable_alpha=False)
- hpfracc.ml.spectral_autograd._numpy_fft(x, dim=-1, norm='ortho')[source]
Compute an FFT via NumPy, preserving dtype and device.
This path intentionally leaves the PyTorch autograd graph, as it is used exclusively as a robustness fallback when Torch’s FFT is unavailable or explicitly bypassed by tests.
Stochastic Memory Sampling for Fractional Derivatives
This module implements unbiased estimators for fractional derivatives using stochastic sampling of the memory history instead of full computation.
- class hpfracc.ml.stochastic_memory_sampling.StochasticMemorySampler(alpha, method='importance', **kwargs)[source]
Bases:
objectBase class for stochastic memory sampling strategies.
- class hpfracc.ml.stochastic_memory_sampling.ImportanceSampler(alpha, tau=0.1, **kwargs)[source]
Bases:
StochasticMemorySamplerImportance sampling for fractional derivative memory.
Uses power-law distribution p(j) ∝ (n-j)^(-(1+α-τ)) where τ controls the tempering of the heavy tail.
- class hpfracc.ml.stochastic_memory_sampling.StratifiedSampler(alpha, recent_window=32, tail_ratio=0.3, **kwargs)[source]
Bases:
StochasticMemorySamplerStratified sampling with recent window and tail sampling.
Samples densely from recent history and sparsely from tail.
- class hpfracc.ml.stochastic_memory_sampling.ControlVariateSampler(alpha, baseline_window=16, **kwargs)[source]
Bases:
StochasticMemorySamplerControl variate sampling with deterministic baseline.
Uses a cheap deterministic approximation (e.g., short memory) as baseline and samples only the residual tail.
- compute_baseline(x)[source]
Compute deterministic baseline using recent window.
- Parameters:
x (torch.Tensor)
- Return type:
torch.Tensor
- class hpfracc.ml.stochastic_memory_sampling.StochasticFractionalDerivative(*args, **kwargs)[source]
Bases:
FunctionPyTorch autograd function for stochastic fractional derivatives.
- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- class hpfracc.ml.stochastic_memory_sampling.StochasticFractionalLayer(*args, **kwargs)[source]
Bases:
ModulePyTorch module for stochastic fractional derivatives.
- hpfracc.ml.stochastic_memory_sampling.stochastic_fractional_derivative(x, alpha, k=64, method='importance', **kwargs)[source]
Convenience function for stochastic fractional derivative.
- hpfracc.ml.stochastic_memory_sampling.create_stochastic_fractional_layer(alpha, k=64, method='importance', **kwargs)[source]
Convenience function for creating stochastic fractional layer.
- Parameters:
- Return type:
Probabilistic Fractional Orders Implementation
This module implements probabilistic fractional orders where the fractional order itself becomes a random variable, enabling uncertainty quantification and robust optimization.
- hpfracc.ml.probabilistic_fractional_orders.model(x, y)[source]
NumPyro model for Bayesian fractional order.
- hpfracc.ml.probabilistic_fractional_orders.guide(x, y)[source]
NumPyro guide for Bayesian fractional order.
- class hpfracc.ml.probabilistic_fractional_orders.ProbabilisticFractionalOrder(*args, **kwargs)[source]
Bases:
ModuleRepresents a fractional order alpha as a random variable.
- class hpfracc.ml.probabilistic_fractional_orders.ProbabilisticFractionalLayer(*args, **kwargs)[source]
Bases:
ModulePyTorch module for probabilistic fractional derivatives.
- sample_alpha(n_samples=1)[source]
Sample fractional orders from the distribution.
- Parameters:
n_samples (int)
- Return type:
torch.Tensor
- hpfracc.ml.probabilistic_fractional_orders.create_probabilistic_fractional_layer(**kwargs)[source]
Create a probabilistic fractional layer.
- Return type:
- hpfracc.ml.probabilistic_fractional_orders.create_normal_alpha_layer(mean, std, learnable=True, **kwargs)[source]
Create probabilistic fractional layer with normal distribution (torch-backed).
- Parameters:
- Return type:
- hpfracc.ml.probabilistic_fractional_orders.create_uniform_alpha_layer(low, high, learnable=False, **kwargs)[source]
Create probabilistic fractional layer with uniform distribution (torch-backed).
- Parameters:
- Return type:
- hpfracc.ml.probabilistic_fractional_orders.create_beta_alpha_layer(a, b, learnable=False, **kwargs)[source]
Create probabilistic fractional layer with beta distribution (torch-backed).
- Parameters:
- Return type:
Variance-aware training hooks for stochastic and probabilistic fractional calculus.
This module provides training utilities that monitor and control variance in stochastic fractional derivatives and probabilistic fractional orders.
- class hpfracc.ml.variance_aware_training.VarianceMetrics(mean, std, variance, coefficient_of_variation, sample_count, timestamp)[source]
Bases:
objectContainer for variance-related metrics.
- Parameters:
- class hpfracc.ml.variance_aware_training.VarianceMonitor(window_size=100, log_level='INFO')[source]
Bases:
objectMonitor variance in stochastic fractional derivatives.
- property current_metrics
Backward compatibility property for current metrics.
- get_metrics(name=None)[source]
Get current metrics for a component.
- Parameters:
name (str | None)
- Return type:
VarianceMetrics | None
- get_history(name)[source]
Get historical metrics for a component.
- Parameters:
name (str)
- Return type:
- class hpfracc.ml.variance_aware_training.StochasticSeedManager(base_seed=42)[source]
Bases:
objectManage random seeds for stochastic fractional derivatives.
- Parameters:
base_seed (int)
- class hpfracc.ml.variance_aware_training.VarianceAwareCallback(monitor, seed_manager, log_interval=10, variance_check_interval=5)[source]
Bases:
objectCallback for variance-aware training.
- Parameters:
monitor (VarianceMonitor)
seed_manager (StochasticSeedManager)
log_interval (int)
variance_check_interval (int)
- __init__(monitor, seed_manager, log_interval=10, variance_check_interval=5)[source]
- Parameters:
monitor (VarianceMonitor)
seed_manager (StochasticSeedManager)
log_interval (int)
variance_check_interval (int)
- on_epoch_begin(epoch, **kwargs)[source]
Called at the beginning of each epoch.
- Parameters:
epoch (int)
- on_batch_begin(batch_idx, **kwargs)[source]
Called at the beginning of each batch.
- Parameters:
batch_idx (int)
- class hpfracc.ml.variance_aware_training.AdaptiveSamplingManager(initial_k=32, min_k=8, max_k=256, variance_threshold=0.1)[source]
Bases:
objectAdaptively adjust sampling parameters based on variance.
- class hpfracc.ml.variance_aware_training.VarianceAwareTrainer(model, optimizer, loss_fn, variance_monitor=None, seed_manager=None, adaptive_sampling=None, callbacks=None)[source]
Bases:
objectEnhanced trainer with variance awareness for stochastic fractional calculus.
- Parameters:
model (torch.nn.Module)
optimizer (torch.optim.Optimizer)
loss_fn (torch.nn.Module)
variance_monitor (VarianceMonitor | None)
seed_manager (StochasticSeedManager | None)
adaptive_sampling (AdaptiveSamplingManager | None)
callbacks (List[VarianceAwareCallback] | None)
- __init__(model, optimizer, loss_fn, variance_monitor=None, seed_manager=None, adaptive_sampling=None, callbacks=None)[source]
- Parameters:
model (torch.nn.Module)
optimizer (torch.optim.Optimizer)
loss_fn (torch.nn.Module)
variance_monitor (VarianceMonitor | None)
seed_manager (StochasticSeedManager | None)
adaptive_sampling (AdaptiveSamplingManager | None)
callbacks (List[VarianceAwareCallback] | None)
GPU Optimization
GPU optimization utilities for fractional calculus computations.
This module provides GPU acceleration features including Automatic Mixed Precision (AMP), chunked FFT operations, and performance profiling for fractional calculus operations.
- class hpfracc.ml.gpu_optimization.PerformanceMetrics(operation, device, dtype, input_shape, execution_time, memory_used, memory_peak, throughput, timestamp)[source]
Bases:
objectContainer for performance metrics.
- Parameters:
- __init__(operation, device, dtype, input_shape, execution_time, memory_used, memory_peak, throughput, timestamp)
- class hpfracc.ml.gpu_optimization.GPUProfiler(device='cuda')[source]
Bases:
objectSimple profiler for GPU operations.
- Parameters:
device (str)
- class hpfracc.ml.gpu_optimization.ChunkedFFT(chunk_size=1024, overlap=128)[source]
Bases:
objectChunked FFT operations for large sequences.
- fft_chunked(x, dim=-1)[source]
Perform chunked FFT on large sequences.
- Parameters:
x (torch.Tensor)
dim (int)
- Return type:
torch.Tensor
- class hpfracc.ml.gpu_optimization.AMPFractionalEngine(base_engine, use_amp=True, dtype=torch.float16)[source]
Bases:
objectAutomatic Mixed Precision wrapper for fractional engines.
- Parameters:
use_amp (bool)
dtype (torch.dtype)
- __init__(base_engine, use_amp=True, dtype=torch.float16)[source]
- Parameters:
use_amp (bool)
dtype (torch.dtype)
- class hpfracc.ml.gpu_optimization.GPUOptimizedSpectralEngine(engine_type='fft', use_amp=True, chunk_size=1024, dtype=torch.float16)[source]
Bases:
objectGPU-optimized spectral engine with AMP and chunked FFT.
- forward(x, alpha)[source]
GPU-optimized forward pass.
- Parameters:
x (torch.Tensor)
alpha (float)
- Return type:
torch.Tensor
- _compute_spectral_transform(x, alpha)[source]
Compute spectral transform with GPU optimizations.
- Parameters:
x (torch.Tensor)
alpha (float)
- Return type:
torch.Tensor
- class hpfracc.ml.gpu_optimization.GPUOptimizedStochasticSampler(base_sampler, use_amp=True, batch_size=1024)[source]
Bases:
objectGPU-optimized stochastic memory sampler.
- hpfracc.ml.gpu_optimization.gpu_optimization_context(use_amp=True, dtype=torch.float16)[source]
Context manager for GPU optimization.
- Parameters:
use_amp (bool)
dtype (torch.dtype)
- hpfracc.ml.gpu_optimization.benchmark_gpu_optimization()[source]
Benchmark GPU optimization performance.
Backend Management
Backend Management System for Multi-Framework Support
This module provides unified interfaces for PyTorch, JAX, and NUMBA backends, enabling seamless switching between frameworks and automatic backend selection based on data type, hardware availability, and performance requirements.
- class hpfracc.ml.backends.BackendType(value)[source]
Bases:
EnumAvailable computation backends
- TORCH = 'torch'
- JAX = 'jax'
- NUMBA = 'numba'
- AUTO = 'auto'
- class hpfracc.ml.backends.BackendManager(preferred_backend=BackendType.AUTO, force_cpu=False, enable_jit=True, enable_gpu=True)[source]
Bases:
objectManages backend selection and provides unified interfaces
This class handles automatic backend selection based on: - Data type and size - Hardware availability (CPU/GPU) - Performance requirements - User preferences
- Parameters:
preferred_backend (BackendType)
force_cpu (bool)
enable_jit (bool)
enable_gpu (bool)
- __init__(preferred_backend=BackendType.AUTO, force_cpu=False, enable_jit=True, enable_gpu=True)[source]
- Parameters:
preferred_backend (BackendType)
force_cpu (bool)
enable_jit (bool)
enable_gpu (bool)
- _detect_available_backends()[source]
Detect which backends are available on the system
- Return type:
- _select_optimal_backend()[source]
Select the optimal backend based on preferences and availability
- Return type:
- _initialize_backend_configs()[source]
Initialize backend-specific configurations
- Return type:
Dict[BackendType, Dict[str, Any]]
- get_backend_config(backend=None)[source]
Get configuration for a specific backend
- Parameters:
backend (BackendType | None)
- Return type:
- switch_backend(backend)[source]
Switch to a different backend
- Parameters:
backend (BackendType)
- Return type:
- hpfracc.ml.backends.get_backend_manager()[source]
Get the global backend manager instance
- Return type:
- hpfracc.ml.backends.set_backend_manager(manager)[source]
Set the global backend manager instance
- Parameters:
manager (BackendManager)
- Return type:
None
- hpfracc.ml.backends.switch_backend(backend)[source]
Switch to a different backend
- Parameters:
backend (BackendType)
- Return type:
Tensor Operations
Unified Tensor Operations for Multi-Backend Support
This module provides consistent tensor operations across PyTorch, JAX, and a NumPy-backed “NUMBA lane” (arrays are NumPy; numba is a compiler elsewhere), enabling seamless switching between frameworks while maintaining the same API.
- class hpfracc.ml.tensor_ops.TensorOps(backend=None)[source]
Bases:
objectUnified tensor operations across different backends.
Notes
AUTO is resolved to a concrete, installed backend during __init__.
NUMBA lane uses NumPy arrays (numba itself is not a tensor library).
JAX random ops require a PRNG key; pass via kwargs (key=…).
- Parameters:
backend (BackendType | str | None)
- __init__(backend=None)[source]
- Parameters:
backend (BackendType | str | None)
- _resolve_backend(backend, backend_manager)[source]
Pick a concrete, installed backend with sensible fallbacks. Priority:
explicit backend (if not AUTO) when installed
backend_manager.active_backend (if not AUTO) when installed
fallback order: TORCH -> JAX -> NUMBA (NumPy)
- Parameters:
backend (BackendType | None)
- _get_tensor_lib_for_backend(backend)[source]
Get tensor library for a specific backend (imports guarded).
- Parameters:
backend (BackendType)
- Return type:
- no_grad()[source]
Context manager for disabling gradient computation. - PyTorch: torch.no_grad() - JAX: there is no true ‘no_grad’ context; we return a nullcontext().
Use jax.lax.stop_gradient at call sites if you need it.
NUMBA lane: nullcontext()
- repeat(tensor, repeats, dim=0)[source]
Repeat elements along a specified axis (element-wise repeat). For tiling the whole array shape, use tile(…) helper below.
- transpose(tensor, *args, **kwargs)[source]
- Transpose a tensor. Supports signatures:
transpose(tensor) for 2D: matrix transpose; otherwise reverse axes
transpose(tensor, dim0, dim1) : swap two axes (positional)
transpose(tensor, dim0=…, dim1=…) : swap two axes (keyword)
transpose(tensor, dims=(…)) : permute by dims
- hpfracc.ml.tensor_ops.get_tensor_ops(backend=None)[source]
Get the global tensor operations instance (resolves AUTO safely).
- Parameters:
backend (BackendType | None)
- Return type:
- hpfracc.ml.tensor_ops.create_tensor(data, **kwargs)[source]
Create a tensor using the current backend.
- hpfracc.ml.tensor_ops.switch_backend(backend)[source]
Switch to a different backend and update tensor operations.
- Parameters:
backend (BackendType)
- Return type:
None
Core ML Components
Core Machine Learning Components for Fractional Calculus
This module provides the foundational ML classes that integrate fractional calculus with neural networks, attention mechanisms, loss functions, and AutoML capabilities.
- class hpfracc.ml.core.MLConfig(device='cpu', dtype='float32', fractional_order=0.5, use_gpu=False, batch_size=32, learning_rate=0.001, max_epochs=100, validation_split=0.2, early_stopping_patience=10, model_save_path='models/', log_interval=10, backend=BackendType.AUTO)[source]
Bases:
objectConfiguration for ML components
- Parameters:
- backend: BackendType = 'auto'
- __init__(device='cpu', dtype='float32', fractional_order=0.5, use_gpu=False, batch_size=32, learning_rate=0.001, max_epochs=100, validation_split=0.2, early_stopping_patience=10, model_save_path='models/', log_interval=10, backend=BackendType.AUTO)
- class hpfracc.ml.core.FractionalNeuralNetwork(input_size, hidden_sizes, output_size, fractional_order=0.5, activation='relu', dropout=0.1, config=None, backend=None)[source]
Bases:
objectNeural network with fractional calculus integration
This class provides a flexible framework for building neural networks that incorporate fractional derivatives in their forward pass. Supports multiple backends: PyTorch, JAX, and NUMBA.
- Parameters:
- __init__(input_size, hidden_sizes, output_size, fractional_order=0.5, activation='relu', dropout=0.1, config=None, backend=None)[source]
- class hpfracc.ml.core.FractionalAttention(d_model, n_heads=8, fractional_order=0.5, dropout=0.1, backend=None)[source]
Bases:
objectAttention mechanism with fractional calculus integration
This class implements attention mechanisms that use fractional derivatives to capture long-range dependencies and temporal relationships. Supports multiple backends: PyTorch, JAX, and NUMBA.
- Parameters:
d_model (int)
n_heads (int)
fractional_order (float)
dropout (float)
backend (BackendType | None)
- __init__(d_model, n_heads=8, fractional_order=0.5, dropout=0.1, backend=None)[source]
- Parameters:
d_model (int)
n_heads (int)
fractional_order (float)
dropout (float)
backend (BackendType | None)
- class hpfracc.ml.core.FractionalLossFunction(fractional_order=0.5, backend=None)[source]
Bases:
objectBase class for loss functions with fractional calculus integration
This class provides a framework for creating loss functions that incorporate fractional derivatives to capture complex relationships. Supports multiple backends: PyTorch, JAX, and NUMBA.
- Parameters:
fractional_order (float)
backend (BackendType | None)
- __init__(fractional_order=0.5, backend=None)[source]
- Parameters:
fractional_order (float)
backend (BackendType | None)
- class hpfracc.ml.core.FractionalMSELoss(fractional_order=0.5, backend=None)[source]
Bases:
FractionalLossFunctionMean Squared Error loss with fractional calculus integration
- Parameters:
fractional_order (float)
backend (BackendType | None)
- class hpfracc.ml.core.FractionalCrossEntropyLoss(fractional_order=0.5, backend=None)[source]
Bases:
FractionalLossFunctionCross Entropy loss with fractional calculus integration
- Parameters:
fractional_order (float)
backend (BackendType | None)
- class hpfracc.ml.core.FractionalAutoML(config=None)[source]
Bases:
objectAutomated Machine Learning for fractional calculus parameters
This class provides automated optimization of fractional orders and other hyperparameters for optimal performance on specific tasks.
- Parameters:
config (MLConfig | None)
- optimize_fractional_order(model_class, train_data, val_data, param_ranges, n_trials=50, metric='accuracy')[source]
Optimize fractional order and other hyperparameters
- Parameters:
- Returns:
Dictionary with best parameters and optimization results
- Return type:
Neural Network Layers
Comprehensive Optimal Neural Network Layers with Fractional Calculus
This module provides the optimal hybrid implementation of all neural network layers with fractional calculus integration, combining the best performance, features, and stability from all implementations.
Performance: 7.56x faster than original implementation Stability: 100% success rate across all test cases Features: Complete layer type coverage with optimal architecture
Author: Davian R. Chin, Department of Biomedical Engineering, University of Reading Comprehensive Optimal Implementation: September 2025
- class hpfracc.ml.layers.LayerConfig(fractional_order=None, method='RL', use_fractional=True, activation='relu', dropout=0.1, backend=BackendType.AUTO, device=None, dtype=torch.float32, enable_caching=True, enable_benchmarking=False, performance_mode='balanced')[source]
Bases:
objectOptimal configuration for all fractional layers
- Parameters:
fractional_order (FractionalOrder)
method (str)
use_fractional (bool)
activation (str)
dropout (float)
backend (BackendType)
device (torch.device | None)
dtype (torch.dtype)
enable_caching (bool)
enable_benchmarking (bool)
performance_mode (str)
- fractional_order: FractionalOrder = None
- backend: BackendType = 'auto'
- __init__(fractional_order=None, method='RL', use_fractional=True, activation='relu', dropout=0.1, backend=BackendType.AUTO, device=None, dtype=torch.float32, enable_caching=True, enable_benchmarking=False, performance_mode='balanced')
- Parameters:
fractional_order (FractionalOrder | None)
method (str)
use_fractional (bool)
activation (str)
dropout (float)
backend (BackendType)
device (torch.device | None)
dtype (torch.dtype)
enable_caching (bool)
enable_benchmarking (bool)
performance_mode (str)
- Return type:
None
- class hpfracc.ml.layers.BackendManager[source]
Bases:
objectIntelligent backend management with workload-aware selection and performance learning
- class hpfracc.ml.layers.FractionalOps(config)[source]
Bases:
objectOptimal fractional operations with performance optimization
- Parameters:
config (LayerConfig)
- __init__(config)[source]
- Parameters:
config (LayerConfig)
- class hpfracc.ml.layers.FractionalLayerBase(*args, **kwargs)[source]
Bases:
Module,ABCOptimal base class for all fractional layers
- Parameters:
config (LayerConfig)
backend (BackendType | None)
- __init__(config, *, backend=None)[source]
- Parameters:
config (LayerConfig)
backend (BackendType | None)
- apply_fractional_derivative(x)[source]
Apply fractional derivative with optimal backend selection
- Parameters:
x (torch.Tensor)
- Return type:
torch.Tensor
- apply_activation(x)[source]
Apply activation function
- Parameters:
x (torch.Tensor)
- Return type:
torch.Tensor
- class hpfracc.ml.layers.FractionalConv1D(*args, **kwargs)[source]
Bases:
FractionalLayerBaseOptimal 1D Convolutional layer with fractional calculus integration
- Parameters:
in_channels (int)
out_channels (int)
kernel_size (int)
stride (int)
padding (int)
dilation (int)
groups (int)
bias (bool)
config (LayerConfig)
backend (BackendType | None)
- __init__(in_channels, out_channels, kernel_size, stride=1, padding=0, dilation=1, groups=1, bias=True, config=None, backend=None)[source]
- Parameters:
in_channels (int)
out_channels (int)
kernel_size (int)
stride (int)
padding (int)
dilation (int)
groups (int)
bias (bool)
config (LayerConfig | None)
backend (BackendType | None)
- class hpfracc.ml.layers.FractionalConv2D(*args, **kwargs)[source]
Bases:
FractionalLayerBaseOptimal 2D Convolutional layer with fractional calculus integration
- Parameters:
- class hpfracc.ml.layers.FractionalLinear(*args, **kwargs)[source]
Bases:
FractionalLayerBaseOptimal Linear layer with fractional calculus integration
- Parameters:
in_features (int)
out_features (int)
bias (bool)
config (LayerConfig)
backend (BackendType | None)
- __init__(in_features, out_features, bias=True, config=None, backend=None)[source]
- Parameters:
in_features (int)
out_features (int)
bias (bool)
config (LayerConfig | None)
backend (BackendType | None)
- class hpfracc.ml.layers.FractionalLSTM(*args, **kwargs)[source]
Bases:
FractionalLayerBaseMinimal LSTM layer wrapper satisfying tests.
- Parameters:
input_size (int)
hidden_size (int)
num_layers (int)
bidirectional (bool)
dropout (float)
bias (bool)
config (LayerConfig)
backend (BackendType | None)
fractional_order (float)
- __init__(input_size, hidden_size, num_layers=1, bidirectional=False, dropout=0.0, bias=True, config=None, backend=None, fractional_order=0.5)[source]
- Parameters:
input_size (int)
hidden_size (int)
num_layers (int)
bidirectional (bool)
dropout (float)
bias (bool)
config (LayerConfig | None)
backend (BackendType | None)
fractional_order (float)
- class hpfracc.ml.layers.FractionalTransformer(*args, **kwargs)[source]
Bases:
FractionalLayerBaseMinimal Transformer wrapper satisfying tests.
- Parameters:
- class hpfracc.ml.layers.FractionalPooling(*args, **kwargs)[source]
Bases:
FractionalLayerBaseMinimal pooling wrapper satisfying tests.
- Parameters:
- class hpfracc.ml.layers.FractionalBatchNorm1d(*args, **kwargs)[source]
Bases:
FractionalLayerBaseMinimal BatchNorm1d wrapper satisfying tests.
- Parameters:
num_features (int)
eps (float)
momentum (float)
affine (bool)
track_running_stats (bool)
config (LayerConfig)
backend (BackendType | None)
- __init__(num_features, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True, config=None, backend=None)[source]
- Parameters:
num_features (int)
eps (float)
momentum (float)
affine (bool)
track_running_stats (bool)
config (LayerConfig | None)
backend (BackendType | None)
- class hpfracc.ml.layers.FractionalDropout(*args, **kwargs)[source]
Bases:
FractionalLayerBaseMinimal Dropout wrapper satisfying tests.
- Parameters:
p (float)
inplace (bool)
config (LayerConfig)
backend (BackendType | None)
- __init__(p=0.5, inplace=False, config=None, backend=None)[source]
- Parameters:
p (float)
inplace (bool)
config (LayerConfig | None)
backend (BackendType | None)
- class hpfracc.ml.layers.FractionalLayerNorm(*args, **kwargs)[source]
Bases:
FractionalLayerBaseMinimal LayerNorm wrapper satisfying tests.
- Parameters:
eps (float)
elementwise_affine (bool)
config (LayerConfig)
backend (BackendType | None)
- __init__(normalized_shape, eps=1e-05, elementwise_affine=True, config=None, backend=None)[source]
- Parameters:
eps (float)
elementwise_affine (bool)
config (LayerConfig | None)
backend (BackendType | None)
- class hpfracc.ml.layers.FractionalMaxUnpool1d(*args, **kwargs)[source]
Bases:
FractionalLayerBase- Parameters:
kernel_size (int)
stride (int)
padding (int)
config (LayerConfig)
backend (BackendType | None)
- __init__(kernel_size, stride=1, padding=0, output_size=None, config=None, backend=None)[source]
- Parameters:
kernel_size (int)
stride (int)
padding (int)
config (LayerConfig | None)
backend (BackendType | None)
- class hpfracc.ml.layers.FractionalMaxUnpool2d(*args, **kwargs)[source]
Bases:
FractionalLayerBase- Parameters:
- class hpfracc.ml.layers.FractionalMaxUnpool3d(*args, **kwargs)[source]
Bases:
FractionalLayerBase- Parameters:
Graph Neural Networks
Fractional Graph Neural Network Layers
This module provides Graph Neural Network layers with fractional calculus integration, supporting multiple backends (PyTorch, JAX, NUMBA) and various graph operations.
- class hpfracc.ml.gnn_layers.BaseFractionalGNNLayer(in_channels, out_channels, fractional_order=0.5, method='RL', use_fractional=True, activation='relu', dropout=0.1, bias=True, backend=None)[source]
Bases:
ABCBase class for fractional GNN layers
This abstract class defines the interface for all fractional GNN layers, ensuring consistency across different backends and implementations.
- Parameters:
in_channels (int)
out_channels (int)
fractional_order (float | FractionalOrder)
method (str)
use_fractional (bool)
activation (str)
dropout (float)
bias (bool)
backend (BackendType | None)
- __init__(in_channels, out_channels, fractional_order=0.5, method='RL', use_fractional=True, activation='relu', dropout=0.1, bias=True, backend=None)[source]
- Parameters:
in_channels (int)
out_channels (int)
fractional_order (float | FractionalOrder)
method (str)
use_fractional (bool)
activation (str)
dropout (float)
bias (bool)
backend (BackendType | None)
- class hpfracc.ml.gnn_layers.FractionalGraphConv(in_channels, out_channels, fractional_order=0.5, method='RL', use_fractional=True, activation='relu', dropout=0.1, bias=True, backend=None)[source]
Bases:
BaseFractionalGNNLayerFractional Graph Convolutional Layer
This layer applies fractional derivatives to node features before performing graph convolution operations.
- Parameters:
in_channels (int)
out_channels (int)
fractional_order (float | FractionalOrder)
method (str)
use_fractional (bool)
activation (str)
dropout (float)
bias (bool)
backend (BackendType | None)
- forward(x, edge_index, edge_weight=None, **kwargs)[source]
Forward pass through the fractional graph convolution layer
- _torch_forward(x, edge_index, edge_weight=None, **kwargs)[source]
PyTorch implementation of forward pass
- _numba_forward(x, edge_index, edge_weight=None, **kwargs)[source]
NUMBA implementation of forward pass
- _jax_scatter_add(out, row, col, edge_weight=None)[source]
JAX implementation of scatter add operation
- _numba_scatter_add(out, row, col, edge_weight=None)[source]
NUMBA implementation of scatter add operation
- class hpfracc.ml.gnn_layers.FractionalGraphAttention(in_channels, out_channels, heads=8, fractional_order=0.5, method='RL', use_fractional=True, activation='relu', dropout=0.1, bias=True, backend=None, **kwargs)[source]
Bases:
BaseFractionalGNNLayerFractional Graph Attention Layer
This layer applies fractional derivatives to node features and uses attention mechanisms for graph convolution.
- Parameters:
- __init__(in_channels, out_channels, heads=8, fractional_order=0.5, method='RL', use_fractional=True, activation='relu', dropout=0.1, bias=True, backend=None, **kwargs)[source]
- forward(x, edge_index, edge_weight=None, **kwargs)[source]
Forward pass through the fractional graph attention layer
- class hpfracc.ml.gnn_layers.FractionalGraphPooling(in_channels, out_channels=None, pooling_ratio=0.5, fractional_order=0.5, method='RL', use_fractional=True, activation='relu', dropout=0.1, bias=True, backend=None, **kwargs)[source]
Bases:
BaseFractionalGNNLayerFractional Graph Pooling Layer
This layer applies fractional derivatives to node features and performs hierarchical pooling operations on graphs.
- Parameters:
- __init__(in_channels, out_channels=None, pooling_ratio=0.5, fractional_order=0.5, method='RL', use_fractional=True, activation='relu', dropout=0.1, bias=True, backend=None, **kwargs)[source]
- forward(x, edge_index, batch=None, **kwargs)[source]
Forward pass through the fractional graph pooling layer
Complete Fractional Graph Neural Network Architectures
This module provides complete GNN architectures with fractional calculus integration, including various model types and configurations for different graph learning tasks.
- class hpfracc.ml.gnn_models.BaseFractionalGNN(input_dim, hidden_dim, output_dim, num_layers=3, fractional_order=0.5, method='RL', use_fractional=True, activation='relu', dropout=0.1, backend=None)[source]
Bases:
ABCBase class for fractional Graph Neural Networks
This abstract class defines the interface for all fractional GNN models, ensuring consistency across different architectures and backends.
- Parameters:
- __init__(input_dim, hidden_dim, output_dim, num_layers=3, fractional_order=0.5, method='RL', use_fractional=True, activation='relu', dropout=0.1, backend=None)[source]
- class hpfracc.ml.gnn_models.FractionalGCN(input_dim, hidden_dim, output_dim, num_layers=3, fractional_order=0.5, method='RL', use_fractional=True, activation='relu', dropout=0.1, backend=None)[source]
Bases:
BaseFractionalGNNFractional Graph Convolutional Network
A GNN architecture that uses fractional graph convolution layers for node classification, graph classification, and other tasks.
- Parameters:
- class hpfracc.ml.gnn_models.FractionalGAT(input_dim, hidden_dim, output_dim, num_layers=3, num_heads=8, fractional_order=0.5, method='RL', use_fractional=True, activation='relu', dropout=0.1, backend=None)[source]
Bases:
BaseFractionalGNNFractional Graph Attention Network
A GNN architecture that uses fractional graph attention layers for enhanced graph representation learning.
- Parameters:
- __init__(input_dim, hidden_dim, output_dim, num_layers=3, num_heads=8, fractional_order=0.5, method='RL', use_fractional=True, activation='relu', dropout=0.1, backend=None)[source]
- class hpfracc.ml.gnn_models.FractionalGraphSAGE(input_dim, hidden_dim, output_dim, num_layers=3, num_samples=25, fractional_order=0.5, method='RL', use_fractional=True, activation='relu', dropout=0.1, backend=None)[source]
Bases:
BaseFractionalGNNFractional GraphSAGE Network
A GNN architecture that uses fractional graph convolution layers with neighbor sampling for scalable graph learning.
- Parameters:
- __init__(input_dim, hidden_dim, output_dim, num_layers=3, num_samples=25, fractional_order=0.5, method='RL', use_fractional=True, activation='relu', dropout=0.1, backend=None)[source]
- class hpfracc.ml.gnn_models.FractionalGraphUNet(input_dim, hidden_dim, output_dim, num_layers=4, pooling_ratio=0.5, fractional_order=0.5, method='RL', use_fractional=True, activation='relu', dropout=0.1, backend=None)[source]
Bases:
BaseFractionalGNNFractional Graph U-Net
A hierarchical GNN architecture that uses fractional calculus for multi-scale graph representation learning.
- Parameters:
- __init__(input_dim, hidden_dim, output_dim, num_layers=4, pooling_ratio=0.5, fractional_order=0.5, method='RL', use_fractional=True, activation='relu', dropout=0.1, backend=None)[source]
- class hpfracc.ml.gnn_models.FractionalGNNFactory[source]
Bases:
objectFactory class for creating fractional GNN models
This class provides a convenient interface for creating different types of fractional GNN architectures with consistent configurations.
Loss Functions
Loss Functions with Fractional Calculus Integration
This module provides loss functions that incorporate fractional derivatives, enabling enhanced training dynamics and potentially better convergence. Supports multiple backends: PyTorch, JAX, and NUMBA.
- class hpfracc.ml.losses.FractionalLossFunction(fractional_order=0.5, method='RL', backend=None)[source]
Bases:
ABCBase class for loss functions with fractional calculus integration
This class provides a framework for loss functions that can apply fractional derivatives to predictions before computing the loss. Supports multiple backends: PyTorch, JAX, and NUMBA.
- Parameters:
fractional_order (float)
method (str)
backend (BackendType | None)
- __init__(fractional_order=0.5, method='RL', backend=None)[source]
- Parameters:
fractional_order (float)
method (str)
backend (BackendType | None)
- class hpfracc.ml.losses.FractionalMSELoss(fractional_order=0.5, method='RL', reduction='mean', backend=None)[source]
Bases:
FractionalLossFunctionMean Squared Error loss with fractional calculus integration
- Parameters:
fractional_order (float)
method (str)
reduction (str)
backend (BackendType | None)
- class hpfracc.ml.losses.FractionalCrossEntropyLoss(fractional_order=0.5, method='RL', reduction='mean', backend=None)[source]
Bases:
FractionalLossFunctionCross Entropy loss with fractional calculus integration
- Parameters:
fractional_order (float)
method (str)
reduction (str)
backend (BackendType | None)
- class hpfracc.ml.losses.FractionalHuberLoss(fractional_order=0.5, method='RL', delta=1.0, reduction='mean', backend=None)[source]
Bases:
FractionalLossFunctionHuber loss with fractional calculus integration
- Parameters:
fractional_order (float)
method (str)
delta (float)
reduction (str)
backend (BackendType | None)
- class hpfracc.ml.losses.FractionalSmoothL1Loss(fractional_order=0.5, method='RL', beta=1.0, reduction='mean', backend=None)[source]
Bases:
FractionalLossFunctionSmooth L1 loss with fractional calculus integration
- Parameters:
fractional_order (float)
method (str)
beta (float)
reduction (str)
backend (BackendType | None)
- class hpfracc.ml.losses.FractionalKLDivLoss(fractional_order=0.5, method='RL', reduction='mean', backend=None)[source]
Bases:
FractionalLossFunctionKL Divergence loss with fractional calculus integration
- Parameters:
fractional_order (float)
method (str)
reduction (str)
backend (BackendType | None)
- class hpfracc.ml.losses.FractionalBCELoss(fractional_order=0.5, method='RL', reduction='mean', backend=None)[source]
Bases:
FractionalLossFunctionBinary Cross Entropy loss with fractional calculus integration
- Parameters:
fractional_order (float)
method (str)
reduction (str)
backend (BackendType | None)
- class hpfracc.ml.losses.FractionalNLLLoss(fractional_order=0.5, method='RL', reduction='mean', backend=None)[source]
Bases:
FractionalLossFunctionNegative Log Likelihood loss with fractional calculus integration
- Parameters:
fractional_order (float)
method (str)
reduction (str)
backend (BackendType | None)
- class hpfracc.ml.losses.FractionalPoissonNLLLoss(fractional_order=0.5, method='RL', log_input=True, full=False, reduction='mean', backend=None)[source]
Bases:
FractionalLossFunctionPoisson Negative Log Likelihood loss with fractional calculus integration
- Parameters:
- class hpfracc.ml.losses.FractionalCosineEmbeddingLoss(fractional_order=0.5, method='RL', margin=0.0, reduction='mean', backend=None)[source]
Bases:
FractionalLossFunctionCosine Embedding loss with fractional calculus integration
- Parameters:
fractional_order (float)
method (str)
margin (float)
reduction (str)
backend (BackendType | None)
- class hpfracc.ml.losses.FractionalMarginRankingLoss(fractional_order=0.5, method='RL', margin=0.0, reduction='mean', backend=None)[source]
Bases:
FractionalLossFunctionMargin Ranking loss with fractional calculus integration
- Parameters:
fractional_order (float)
method (str)
margin (float)
reduction (str)
backend (BackendType | None)
- class hpfracc.ml.losses.FractionalMultiMarginLoss(fractional_order=0.5, method='RL', p=1, margin=1.0, reduction='mean', backend=None)[source]
Bases:
FractionalLossFunctionMulti Margin loss with fractional calculus integration
- Parameters:
- class hpfracc.ml.losses.FractionalTripletMarginLoss(fractional_order=0.5, method='RL', margin=1.0, p=2.0, reduction='mean', backend=None)[source]
Bases:
FractionalLossFunctionTriplet Margin loss with fractional calculus integration
- Parameters:
- class hpfracc.ml.losses.FractionalCTCLoss(fractional_order=0.5, method='RL', blank=0, reduction='mean', backend=None)[source]
Bases:
FractionalLossFunctionConnectionist Temporal Classification loss with fractional calculus integration
- Parameters:
fractional_order (float)
method (str)
blank (int)
reduction (str)
backend (BackendType | None)
- class hpfracc.ml.losses.FractionalCustomLoss(loss_fn, fractional_order=0.5, method='RL', backend=None)[source]
Bases:
FractionalLossFunctionCustom loss function with fractional calculus integration
- Parameters:
fractional_order (float)
method (str)
backend (BackendType | None)
- __init__(loss_fn, fractional_order=0.5, method='RL', backend=None)[source]
- Parameters:
fractional_order (float)
method (str)
backend (BackendType | None)
- class hpfracc.ml.losses.FractionalCombinedLoss(loss_functions, weights=None, fractional_order=0.5, method='RL', backend=None)[source]
Bases:
FractionalLossFunctionCombined loss function with fractional calculus integration
- Parameters:
loss_functions (list)
weights (list)
fractional_order (float)
method (str)
backend (BackendType | None)
- class hpfracc.ml.losses.FractionalSDEMSELoss(num_samples=10, reduction='mean', fractional_order=0.5, method='RL', backend=None)[source]
Bases:
FractionalLossFunctionMSE loss for fractional SDE trajectory matching.
Computes L2 distance between predicted and target trajectories, accounting for stochastic variability through multiple samples.
- Parameters:
num_samples (int)
reduction (str)
fractional_order (float)
method (str)
backend (BackendType | None)
- __init__(num_samples=10, reduction='mean', fractional_order=0.5, method='RL', backend=None)[source]
Initialize SDE MSE loss.
- Parameters:
num_samples (int) – Number of stochastic samples to average over
reduction (str) – Reduction type (“mean”, “sum”, “none”)
fractional_order (float) – Fractional order for loss computation
method (str) – Fractional derivative method
backend (BackendType | None) – Computation backend
- class hpfracc.ml.losses.FractionalKLDivergenceLoss(eps=1e-08, fractional_order=0.5, method='RL', backend=None)[source]
Bases:
FractionalLossFunctionKL divergence loss for matching SDE distributions.
Measures divergence between predicted and target distributions in stochastic dynamics.
- Parameters:
eps (float)
fractional_order (float)
method (str)
backend (BackendType | None)
- __init__(eps=1e-08, fractional_order=0.5, method='RL', backend=None)[source]
Initialize KL divergence loss.
- Parameters:
eps (float) – Small constant for numerical stability
fractional_order (float) – Fractional order for loss computation
method (str) – Fractional derivative method
backend (BackendType | None) – Computation backend
- class hpfracc.ml.losses.FractionalPathwiseLoss(uncertainty_weight=1.0, fractional_order=0.5, method='RL', backend=None)[source]
Bases:
FractionalLossFunctionPathwise loss with uncertainty weighting.
Weighted loss that accounts for prediction uncertainty in stochastic trajectories.
- Parameters:
uncertainty_weight (float)
fractional_order (float)
method (str)
backend (BackendType | None)
- __init__(uncertainty_weight=1.0, fractional_order=0.5, method='RL', backend=None)[source]
Initialize pathwise loss.
- Parameters:
uncertainty_weight (float) – Weight for uncertainty term
fractional_order (float) – Fractional order for loss computation
method (str) – Fractional derivative method
backend (BackendType | None) – Computation backend
- class hpfracc.ml.losses.FractionalMomentMatchingLoss(moments=None, weights=None, fractional_order=0.5, method='RL', backend=None)[source]
Bases:
FractionalLossFunctionMoment matching loss for SDE distributions.
Matches statistical moments (mean, variance, etc.) between predicted and target distributions.
- Parameters:
moments (list)
weights (list)
fractional_order (float)
method (str)
backend (BackendType | None)
- __init__(moments=None, weights=None, fractional_order=0.5, method='RL', backend=None)[source]
Initialize moment matching loss.
- Parameters:
moments (list | None) – List of moments to match (default: [1, 2] for mean, variance)
weights (list | None) – Weights for each moment
fractional_order (float) – Fractional order for loss computation
method (str) – Fractional derivative method
backend (BackendType | None) – Computation backend
Optimizers
Detailed API Documentation
Core Definitions
FractionalOrder
- class hpfracc.FractionalOrder(alpha, validate=True, method=None)[source]
Bases:
objectRepresents a fractional order with validation and properties.
The fractional order α can be any real number, but typically we consider 0 < α < 2 for most applications.
- Parameters:
alpha (float | FractionalOrder)
validate (bool)
method (str)
- __init__(alpha, validate=True, method=None)[source]
Initialize fractional order.
- Parameters:
alpha (float | FractionalOrder) – Fractional order value
validate (bool) – Whether to validate the order range
method (str | None)
Core Fractional Calculus Methods
OptimizedRiemannLiouville
- class hpfracc.OptimizedRiemannLiouville(order)[source]
Bases:
FractionalOperatorOptimized implementation of the Riemann-Liouville fractional derivative.
- Parameters:
order (float | FractionalOrder)
- __init__(order)[source]
- Parameters:
order (float | FractionalOrder)
- __init__(order)[source]
- Parameters:
order (float | FractionalOrder)
OptimizedCaputo
- class hpfracc.OptimizedCaputo(order)[source]
Bases:
FractionalOperatorOptimized implementation of the Caputo fractional derivative.
Note: Caputo derivative is defined for all alpha > 0. The implementation uses the standard formulation: D^α f(t) = I^(n-α) f^(n)(t) where n = ceil(α)
- Parameters:
order (float | FractionalOrder)
- __init__(order)[source]
- Parameters:
order (float | FractionalOrder)
- __init__(order)[source]
- Parameters:
order (float | FractionalOrder)
OptimizedGrunwaldLetnikov
- class hpfracc.OptimizedGrunwaldLetnikov(order)[source]
Bases:
FractionalOperatorOptimized implementation of the Grünwald-Letnikov fractional derivative.
- Parameters:
order (float | FractionalOrder)
- __init__(order)
- Parameters:
order (float | FractionalOrder)
RiemannLiouvilleDerivative
- class hpfracc.core.derivatives.RiemannLiouvilleDerivative(order, **kwargs)[source]
Bases:
BaseFractionalDerivativeRiemann-Liouville fractional derivative implementation.
Uses the optimized implementation from algorithms.
- Parameters:
order (float | FractionalOrder)
- __init__(order, **kwargs)[source]
Initialize fractional derivative.
- Parameters:
order (float | FractionalOrder) – Fractional order
definition – Mathematical definition
use_jax – Whether to use JAX optimizations
use_numba – Whether to use NUMBA optimizations
- __init__(order, **kwargs)[source]
Initialize fractional derivative.
- Parameters:
order (float | FractionalOrder) – Fractional order
definition – Mathematical definition
use_jax – Whether to use JAX optimizations
use_numba – Whether to use NUMBA optimizations
CaputoDerivative
- class hpfracc.core.derivatives.CaputoDerivative(order, **kwargs)[source]
Bases:
BaseFractionalDerivativeCaputo fractional derivative implementation.
Uses the optimized implementation from algorithms.
- Parameters:
order (float | FractionalOrder)
- __init__(order, **kwargs)[source]
Initialize fractional derivative.
- Parameters:
order (float | FractionalOrder) – Fractional order
definition – Mathematical definition
use_jax – Whether to use JAX optimizations
use_numba – Whether to use NUMBA optimizations
- __init__(order, **kwargs)[source]
Initialize fractional derivative.
- Parameters:
order (float | FractionalOrder) – Fractional order
definition – Mathematical definition
use_jax – Whether to use JAX optimizations
use_numba – Whether to use NUMBA optimizations
GrunwaldLetnikovDerivative
- class hpfracc.core.derivatives.GrunwaldLetnikovDerivative(order, **kwargs)[source]
Bases:
BaseFractionalDerivativeGrunwald-Letnikov fractional derivative implementation.
Uses the optimized implementation from algorithms.
- Parameters:
order (float | FractionalOrder)
- __init__(order, **kwargs)[source]
Initialize fractional derivative.
- Parameters:
order (float | FractionalOrder) – Fractional order
definition – Mathematical definition
use_jax – Whether to use JAX optimizations
use_numba – Whether to use NUMBA optimizations
- __init__(order, **kwargs)[source]
Initialize fractional derivative.
- Parameters:
order (float | FractionalOrder) – Fractional order
definition – Mathematical definition
use_jax – Whether to use JAX optimizations
use_numba – Whether to use NUMBA optimizations
Backend Management
BackendType
BackendManager
- class hpfracc.ml.backends.BackendManager(preferred_backend=BackendType.AUTO, force_cpu=False, enable_jit=True, enable_gpu=True)[source]
Bases:
objectManages backend selection and provides unified interfaces
This class handles automatic backend selection based on: - Data type and size - Hardware availability (CPU/GPU) - Performance requirements - User preferences
- Parameters:
preferred_backend (BackendType)
force_cpu (bool)
enable_jit (bool)
enable_gpu (bool)
- __init__(preferred_backend=BackendType.AUTO, force_cpu=False, enable_jit=True, enable_gpu=True)[source]
- Parameters:
preferred_backend (BackendType)
force_cpu (bool)
enable_jit (bool)
enable_gpu (bool)
- _detect_available_backends()[source]
Detect which backends are available on the system
- Return type:
- _select_optimal_backend()[source]
Select the optimal backend based on preferences and availability
- Return type:
- _initialize_backend_configs()[source]
Initialize backend-specific configurations
- Return type:
Dict[BackendType, Dict[str, Any]]
- get_backend_config(backend=None)[source]
Get configuration for a specific backend
- Parameters:
backend (BackendType | None)
- Return type:
- switch_backend(backend)[source]
Switch to a different backend
- Parameters:
backend (BackendType)
- Return type:
Tensor Operations
TensorOps
- class hpfracc.ml.tensor_ops.TensorOps(backend=None)[source]
Bases:
objectUnified tensor operations across different backends.
Notes
AUTO is resolved to a concrete, installed backend during __init__.
NUMBA lane uses NumPy arrays (numba itself is not a tensor library).
JAX random ops require a PRNG key; pass via kwargs (key=…).
- Parameters:
backend (BackendType | str | None)
- __init__(backend=None)[source]
- Parameters:
backend (BackendType | str | None)
- transpose(tensor, *args, **kwargs)[source]
- Transpose a tensor. Supports signatures:
transpose(tensor) for 2D: matrix transpose; otherwise reverse axes
transpose(tensor, dim0, dim1) : swap two axes (positional)
transpose(tensor, dim0=…, dim1=…) : swap two axes (keyword)
transpose(tensor, dims=(…)) : permute by dims
- __init__(backend=None)[source]
- Parameters:
backend (BackendType | str | None)
- _resolve_backend(backend, backend_manager)[source]
Pick a concrete, installed backend with sensible fallbacks. Priority:
explicit backend (if not AUTO) when installed
backend_manager.active_backend (if not AUTO) when installed
fallback order: TORCH -> JAX -> NUMBA (NumPy)
- Parameters:
backend (BackendType | None)
- _get_tensor_lib_for_backend(backend)[source]
Get tensor library for a specific backend (imports guarded).
- Parameters:
backend (BackendType)
- Return type:
- no_grad()[source]
Context manager for disabling gradient computation. - PyTorch: torch.no_grad() - JAX: there is no true ‘no_grad’ context; we return a nullcontext().
Use jax.lax.stop_gradient at call sites if you need it.
NUMBA lane: nullcontext()
- repeat(tensor, repeats, dim=0)[source]
Repeat elements along a specified axis (element-wise repeat). For tiling the whole array shape, use tile(…) helper below.
- transpose(tensor, *args, **kwargs)[source]
- Transpose a tensor. Supports signatures:
transpose(tensor) for 2D: matrix transpose; otherwise reverse axes
transpose(tensor, dim0, dim1) : swap two axes (positional)
transpose(tensor, dim0=…, dim1=…) : swap two axes (keyword)
transpose(tensor, dims=(…)) : permute by dims
Neural Networks
FractionalNeuralNetwork
FractionalLayer
Graph Neural Networks
FractionalGCN
- class hpfracc.ml.gnn_models.FractionalGCN(input_dim, hidden_dim, output_dim, num_layers=3, fractional_order=0.5, method='RL', use_fractional=True, activation='relu', dropout=0.1, backend=None)[source]
Bases:
BaseFractionalGNNFractional Graph Convolutional Network
A GNN architecture that uses fractional graph convolution layers for node classification, graph classification, and other tasks.
- Parameters:
- __init__(input_dim, hidden_dim, output_dim, num_layers=3, fractional_order=0.5, method='RL', use_fractional=True, activation='relu', dropout=0.1, backend=None)
FractionalGAT
- class hpfracc.ml.gnn_models.FractionalGAT(input_dim, hidden_dim, output_dim, num_layers=3, num_heads=8, fractional_order=0.5, method='RL', use_fractional=True, activation='relu', dropout=0.1, backend=None)[source]
Bases:
BaseFractionalGNNFractional Graph Attention Network
A GNN architecture that uses fractional graph attention layers for enhanced graph representation learning.
- Parameters:
- __init__(input_dim, hidden_dim, output_dim, num_layers=3, num_heads=8, fractional_order=0.5, method='RL', use_fractional=True, activation='relu', dropout=0.1, backend=None)[source]
- __init__(input_dim, hidden_dim, output_dim, num_layers=3, num_heads=8, fractional_order=0.5, method='RL', use_fractional=True, activation='relu', dropout=0.1, backend=None)[source]
FractionalGraphSAGE
- class hpfracc.ml.gnn_models.FractionalGraphSAGE(input_dim, hidden_dim, output_dim, num_layers=3, num_samples=25, fractional_order=0.5, method='RL', use_fractional=True, activation='relu', dropout=0.1, backend=None)[source]
Bases:
BaseFractionalGNNFractional GraphSAGE Network
A GNN architecture that uses fractional graph convolution layers with neighbor sampling for scalable graph learning.
- Parameters:
- __init__(input_dim, hidden_dim, output_dim, num_layers=3, num_samples=25, fractional_order=0.5, method='RL', use_fractional=True, activation='relu', dropout=0.1, backend=None)[source]
- __init__(input_dim, hidden_dim, output_dim, num_layers=3, num_samples=25, fractional_order=0.5, method='RL', use_fractional=True, activation='relu', dropout=0.1, backend=None)[source]
FractionalGraphUNet
- class hpfracc.ml.gnn_models.FractionalGraphUNet(input_dim, hidden_dim, output_dim, num_layers=4, pooling_ratio=0.5, fractional_order=0.5, method='RL', use_fractional=True, activation='relu', dropout=0.1, backend=None)[source]
Bases:
BaseFractionalGNNFractional Graph U-Net
A hierarchical GNN architecture that uses fractional calculus for multi-scale graph representation learning.
- Parameters:
- __init__(input_dim, hidden_dim, output_dim, num_layers=4, pooling_ratio=0.5, fractional_order=0.5, method='RL', use_fractional=True, activation='relu', dropout=0.1, backend=None)[source]
- forward(x, edge_index, batch=None, **kwargs)[source]
Forward pass through the fractional Graph U-Net
- __init__(input_dim, hidden_dim, output_dim, num_layers=4, pooling_ratio=0.5, fractional_order=0.5, method='RL', use_fractional=True, activation='relu', dropout=0.1, backend=None)[source]
GNN Factory
- class hpfracc.ml.gnn_models.FractionalGNNFactory[source]
Bases:
objectFactory class for creating fractional GNN models
This class provides a convenient interface for creating different types of fractional GNN architectures with consistent configurations.
- static create_model(model_type, input_dim, hidden_dim, output_dim, **kwargs)[source]
Create a fractional GNN model of the specified type
- Parameters:
- Returns:
Configured fractional GNN model
- Return type:
GNN Layers
FractionalGCNLayer
FractionalGATLayer
FractionalGraphSAGELayer
Attention Mechanisms
FractionalAttention
Fractional Autograd Framework
SpectralAutogradEngine
StochasticMemorySampler
- class hpfracc.ml.stochastic_memory_sampling.StochasticMemorySampler(alpha, method='importance', **kwargs)[source]
Bases:
objectBase class for stochastic memory sampling strategies.
ProbabilisticFractionalLayer
- class hpfracc.ml.probabilistic_fractional_orders.ProbabilisticFractionalLayer(*args, **kwargs)[source]
Bases:
ModulePyTorch module for probabilistic fractional derivatives.
- sample_alpha(n_samples=1)[source]
Sample fractional orders from the distribution.
- Parameters:
n_samples (int)
- Return type:
torch.Tensor
- sample_alpha(n_samples=1)[source]
Sample fractional orders from the distribution.
- Parameters:
n_samples (int)
- Return type:
torch.Tensor
VarianceAwareTrainer
- class hpfracc.ml.variance_aware_training.VarianceAwareTrainer(model, optimizer, loss_fn, variance_monitor=None, seed_manager=None, adaptive_sampling=None, callbacks=None)[source]
Bases:
objectEnhanced trainer with variance awareness for stochastic fractional calculus.
- Parameters:
model (torch.nn.Module)
optimizer (torch.optim.Optimizer)
loss_fn (torch.nn.Module)
variance_monitor (VarianceMonitor | None)
seed_manager (StochasticSeedManager | None)
adaptive_sampling (AdaptiveSamplingManager | None)
callbacks (List[VarianceAwareCallback] | None)
- __init__(model, optimizer, loss_fn, variance_monitor=None, seed_manager=None, adaptive_sampling=None, callbacks=None)[source]
- Parameters:
model (torch.nn.Module)
optimizer (torch.optim.Optimizer)
loss_fn (torch.nn.Module)
variance_monitor (VarianceMonitor | None)
seed_manager (StochasticSeedManager | None)
adaptive_sampling (AdaptiveSamplingManager | None)
callbacks (List[VarianceAwareCallback] | None)
- __init__(model, optimizer, loss_fn, variance_monitor=None, seed_manager=None, adaptive_sampling=None, callbacks=None)[source]
- Parameters:
model (torch.nn.Module)
optimizer (torch.optim.Optimizer)
loss_fn (torch.nn.Module)
variance_monitor (VarianceMonitor | None)
seed_manager (StochasticSeedManager | None)
adaptive_sampling (AdaptiveSamplingManager | None)
callbacks (List[VarianceAwareCallback] | None)
GPU Optimization
GPUProfiler
- class hpfracc.ml.gpu_optimization.GPUProfiler(device='cuda')[source]
Bases:
objectSimple profiler for GPU operations.
- Parameters:
device (str)
ChunkedFFT
- class hpfracc.ml.gpu_optimization.ChunkedFFT(chunk_size=1024, overlap=128)[source]
Bases:
objectChunked FFT operations for large sequences.
- fft_chunked(x, dim=-1)[source]
Perform chunked FFT on large sequences.
- Parameters:
x (torch.Tensor)
dim (int)
- Return type:
torch.Tensor
AMPFractionalEngine
- class hpfracc.ml.gpu_optimization.AMPFractionalEngine(base_engine, use_amp=True, dtype=torch.float16)[source]
Bases:
objectAutomatic Mixed Precision wrapper for fractional engines.
- Parameters:
use_amp (bool)
dtype (torch.dtype)
- __init__(base_engine, use_amp=True, dtype=torch.float16)[source]
- Parameters:
use_amp (bool)
dtype (torch.dtype)
- forward(x, alpha, **kwargs)[source]
Forward pass with AMP support.
- Parameters:
x (torch.Tensor)
alpha (float)
- Return type:
torch.Tensor
- backward(grad_output, **kwargs)[source]
Backward pass with AMP support.
- Parameters:
grad_output (torch.Tensor)
- Return type:
torch.Tensor
- __init__(base_engine, use_amp=True, dtype=torch.float16)[source]
- Parameters:
use_amp (bool)
dtype (torch.dtype)
Utility Functions
Fractional Derivative Creation
- hpfracc.core.derivatives.create_fractional_derivative(definition_type, alpha, use_jax=False, use_numba=True, **kwargs)[source]
Create a fractional derivative implementation.
- Parameters:
definition_type (str | DefinitionType) – Type of fractional definition
alpha (float | FractionalOrder) – Fractional order
use_jax (bool) – Whether to use JAX optimizations
use_numba (bool) – Whether to use NUMBA optimizations
**kwargs – Additional parameters
- Returns:
Fractional derivative implementation
- Return type:
- hpfracc.core.derivatives.riemann_liouville(f, alpha, **kwargs)[source]
Convenience function for Riemann-Liouville derivative.
Backend Utilities
Tensor Utilities
Model Utilities
Configuration
Default Parameters
- hpfracc.core.definitions.DEFAULT_FRACTIONAL_ORDER = 0.5
- hpfracc.ml.backends.DEFAULT_BACKEND = BackendType.JAX
- hpfracc.ml.tensor_ops.DEFAULT_DTYPE = 'float32'
Supported Backends
- hpfracc.ml.backends.SUPPORTED_BACKENDS = [BackendType.TORCH, BackendType.JAX, BackendType.NUMBA]
Supported GNN Types
- hpfracc.ml.gnn_models.SUPPORTED_GNN_TYPES = ['gcn', 'gat', 'sage', 'unet']
Supported Derivative Methods
- hpfracc.core.derivatives.SUPPORTED_METHODS = ['RL', 'Caputo', 'GL']
Error Classes
Type Hints
Core Types
ML Types
Usage Examples
Basic Fractional Calculus
from hpfracc.core.definitions import FractionalOrder
from hpfracc.core.derivatives import create_fractional_derivative
import numpy as np
# Create fractional derivative
alpha = FractionalOrder(0.5)
deriv = create_fractional_derivative(alpha, method="RL")
# Test function
def f(x):
return np.exp(-x)
# Compute derivative
x = np.linspace(0, 1, 100)
result = deriv(f, x)
Neural Network Usage
from hpfracc.ml import FractionalNeuralNetwork
from hpfracc.core.definitions import FractionalOrder
from hpfracc.ml.backends import BackendType
import numpy as np
# Create model
model = FractionalNeuralNetwork(
input_dim=10,
hidden_dims=[32, 16],
output_dim=1,
fractional_order=FractionalOrder(0.5),
backend=BackendType.JAX
)
# Forward pass
X = np.random.randn(100, 10)
output = model.forward(X)
GNN Usage
from hpfracc.ml import FractionalGNNFactory
from hpfracc.core.definitions import FractionalOrder
from hpfracc.ml.backends import BackendType
import numpy as np
# Create GNN
gnn = FractionalGNNFactory.create_model(
model_type='gcn',
input_dim=16,
hidden_dim=32,
output_dim=4,
fractional_order=FractionalOrder(0.5),
backend=BackendType.TORCH
)
# Graph data
node_features = np.random.randn(50, 16)
edge_index = np.random.randint(0, 50, (2, 100))
# Forward pass
output = gnn.forward(node_features, edge_index)
Backend Management
from hpfracc.ml.backends import BackendManager, BackendType
# Check available backends
available = BackendManager.get_available_backends()
print(f"Available: {available}")
# Set backend
BackendManager.set_backend(BackendType.JAX)
# Get current backend
current = BackendManager.get_current_backend()
print(f"Current: {current}")
Fractional Autograd Framework
import torch
from hpfracc.ml.spectral_autograd import SpectralAutogradEngine
from hpfracc.ml.stochastic_memory_sampling import StochasticMemorySampler
from hpfracc.ml.probabilistic_fractional_orders import ProbabilisticFractionalLayer
# Create spectral autograd engine
spectral_engine = SpectralAutogradEngine(alpha=0.5, method="mellin")
# Create stochastic memory sampler
sampler = StochasticMemorySampler(k=32, method="importance")
# Create probabilistic fractional layer
prob_layer = ProbabilisticFractionalLayer(mean=0.5, std=0.1, learnable=True)
# Forward pass with autograd
x = torch.randn(100, 10, requires_grad=True)
result = spectral_engine(x)
# Backward pass
loss = result.sum()
loss.backward()
print(f"Gradients computed: {x.grad is not None}")
GPU Optimization
import torch
from hpfracc.ml.gpu_optimization import GPUProfiler, ChunkedFFT, gpu_optimization_context
# GPU profiling
profiler = GPUProfiler()
with profiler:
# Your GPU operations here
x = torch.randn(1000, 1000, device='cuda')
result = torch.fft.fft(x)
# Chunked FFT for large sequences
chunked_fft = ChunkedFFT(chunk_size=1024)
x = torch.randn(10000, device='cuda')
result = chunked_fft.forward(x)
# GPU optimization context
with gpu_optimization_context(use_amp=True, chunk_size=512):
# Your fractional calculus operations here
pass
Performance Considerations
Backend Selection
PyTorch: Best for GPU acceleration and complex neural networks
JAX: Best for functional programming and TPU acceleration
NUMBA: Best for CPU optimization and lightweight deployment
Memory Management
Use batch processing for large datasets
Clear intermediate tensors when possible
Monitor memory usage with large models
Computation Optimization
Choose appropriate fractional derivative method for your use case
Use JIT compilation when available
Profile performance with different backends
Troubleshooting
Common Issues
Backend not available .. code-block:: python
# Check available backends from hpfracc.ml.backends import BackendManager available = BackendManager.get_available_backends() print(f”Available: {available}”)
Invalid fractional order .. code-block:: python
# Valid orders: -1 < order < 2 from hpfracc.core.definitions import FractionalOrder try:
order = FractionalOrder(0.5) # Valid
- except ValueError as e:
print(f”Error: {e}”)
Tensor shape mismatch .. code-block:: python
# Ensure input dimensions match model expectations model = FractionalNeuralNetwork(input_dim=10, …) X = np.random.randn(100, 10) # Correct shape # X = np.random.randn(100, 5) # Wrong shape - will fail
Debugging Tips
Enable debug logging
Check tensor shapes and types
Verify backend compatibility
Test with small datasets first
For more detailed examples, see Basic Examples and Advanced Examples.