Core API Reference
Core module providing fundamental definitions, utilities, and base classes.
Fractional Order Definitions
Mathematical definitions for fractional calculus.
This module provides the fundamental mathematical definitions and properties of fractional derivatives and integrals, which form the theoretical foundation for the numerical implementations.
- class hpfracc.core.definitions.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.core.definitions.DefinitionType(value)[source]
Bases:
EnumEnumeration of fractional derivative definitions.
- CAPUTO = 'caputo'
- RIEMANN_LIOUVILLE = 'riemann_liouville'
- GRUNWALD_LETNIKOV = 'grunwald_letnikov'
- MILLER_ROSS = 'miller_ross'
- WEYL = 'weyl'
- MARCHAUD = 'marchaud'
- class hpfracc.core.definitions.FractionalDefinition(order, definition_type)[source]
Bases:
objectBase class for fractional derivative definitions.
This class provides the mathematical framework for different definitions of fractional derivatives and integrals.
- Parameters:
order (float | FractionalOrder)
definition_type (DefinitionType)
- __init__(order, definition_type)[source]
Initialize fractional definition.
- Parameters:
order (float | FractionalOrder) – Fractional order
definition_type (DefinitionType) – Type of fractional definition
- class hpfracc.core.definitions.CaputoDefinition(order)[source]
Bases:
FractionalDefinitionCaputo fractional derivative definition.
The Caputo derivative is defined as: D^α f(x) = (1/Γ(n-α)) ∫₀^x (x-t)^(n-α-1) f^(n)(t) dt
where n = ⌈α⌉ is the smallest integer greater than or equal to α.
- Parameters:
order (float | FractionalOrder)
- __init__(order)[source]
Initialize fractional definition.
- Parameters:
order (float | FractionalOrder) – Fractional order
definition_type – Type of fractional definition
- class hpfracc.core.definitions.RiemannLiouvilleDefinition(order)[source]
Bases:
FractionalDefinitionRiemann-Liouville fractional derivative definition.
The Riemann-Liouville derivative is defined as: D^α f(x) = (1/Γ(n-α)) (d/dx)^n ∫₀^x (x-t)^(n-α-1) f(t) dt
where n = ⌈α⌉ is the smallest integer greater than or equal to α.
- Parameters:
order (float | FractionalOrder)
- __init__(order)[source]
Initialize fractional definition.
- Parameters:
order (float | FractionalOrder) – Fractional order
definition_type – Type of fractional definition
- class hpfracc.core.definitions.GrunwaldLetnikovDefinition(order)[source]
Bases:
FractionalDefinitionGrünwald-Letnikov fractional derivative definition.
The Grünwald-Letnikov derivative is defined as: D^α f(x) = lim_{h→0} h^(-α) Σ_{k=0}^∞ (-1)^k C(α,k) f(x-kh)
where C(α,k) are the generalized binomial coefficients.
- Parameters:
order (float | FractionalOrder)
- __init__(order)[source]
Initialize fractional definition.
- Parameters:
order (float | FractionalOrder) – Fractional order
definition_type – Type of fractional definition
- class hpfracc.core.definitions.FractionalIntegral(order)[source]
Bases:
objectFractional integral definition.
The Riemann-Liouville fractional integral of order α > 0 is defined as: I^α f(x) = (1/Γ(α)) ∫₀^x (x-t)^(α-1) f(t) dt
- Parameters:
order (float | FractionalOrder)
- __init__(order)[source]
Initialize fractional integral.
- Parameters:
order (float | FractionalOrder) – Fractional order (must be positive)
- class hpfracc.core.definitions.FractionalCalculusProperties[source]
Bases:
objectMathematical properties and relationships in fractional calculus.
- hpfracc.core.definitions.create_definition(definition_type, alpha)[source]
Create a fractional derivative definition.
- Parameters:
definition_type (str | DefinitionType) – Type of definition
alpha (float | FractionalOrder) – Fractional order
- Returns:
Fractional derivative definition object
- Return type:
- hpfracc.core.definitions.get_available_definitions()[source]
Get list of available fractional derivative definitions.
- Return type:
Core Utilities
Core Utilities Module
This module provides common utility functions used throughout the HPFRACC library: - Mathematical utilities and helper functions - Type checking and validation utilities - Performance monitoring utilities - Error handling and debugging utilities - Common mathematical operations
- hpfracc.core.utilities.factorial_fractional(n)[source]
Compute factorial for integer and fractional values.
- hpfracc.core.utilities.binomial_coefficient(n, k)[source]
Compute binomial coefficient for real numbers.
- hpfracc.core.utilities.pochhammer_symbol(x, n)[source]
Compute Pochhammer symbol (x)_n = x(x+1)…(x+n-1).
- hpfracc.core.utilities._hypergeometric_series_impl(a, b, z, max_terms=100)[source]
Internal implementation of hypergeometric series.
- hpfracc.core.utilities.hypergeometric_series(a, b, z, max_terms=100)[source]
Compute hypergeometric series pFq(a; b; z).
- hpfracc.core.utilities.bessel_function_first_kind(nu, x)[source]
Compute Bessel function of the first kind J_ν(x).
- hpfracc.core.utilities.modified_bessel_function_first_kind(nu, x)[source]
Compute modified Bessel function of the first kind I_ν(x).
- hpfracc.core.utilities.validate_fractional_order(alpha, min_val=0.0, max_val=2.0)[source]
Validate and convert fractional order.
- Parameters:
alpha (float | FractionalOrder) – Fractional order value
min_val (float) – Minimum allowed value
max_val (float) – Maximum allowed value
- Returns:
Validated FractionalOrder object
- Return type:
- hpfracc.core.utilities.validate_function(f, domain=(0.0, 1.0), n_points=100)[source]
Validate that a function is callable and well-behaved on a domain.
- hpfracc.core.utilities.validate_tensor_input(x, expected_shape=None)[source]
Validate tensor input for fractional calculus operations.
- hpfracc.core.utilities.timing_decorator(func)[source]
Decorator to measure function execution time.
- class hpfracc.core.utilities.PerformanceMonitor[source]
Bases:
objectPerformance monitoring utility for tracking execution times and memory usage.
- class hpfracc.core.utilities.TimerContext(monitor, name)[source]
Bases:
objectContext manager for timing operations.
- Parameters:
monitor (PerformanceMonitor)
name (str)
- __init__(monitor, name)[source]
- Parameters:
monitor (PerformanceMonitor)
name (str)
- class hpfracc.core.utilities.MemoryTrackerContext(monitor, name)[source]
Bases:
objectContext manager for memory tracking.
- Parameters:
monitor (PerformanceMonitor)
name (str)
- __init__(monitor, name)[source]
- Parameters:
monitor (PerformanceMonitor)
name (str)
- exception hpfracc.core.utilities.FractionalCalculusError[source]
Bases:
ExceptionBase exception for fractional calculus operations.
- exception hpfracc.core.utilities.ConvergenceError[source]
Bases:
FractionalCalculusErrorException raised when numerical methods fail to converge.
- exception hpfracc.core.utilities.ValidationError[source]
Bases:
FractionalCalculusErrorException raised when input validation fails.
- hpfracc.core.utilities.safe_divide(numerator, denominator, default=0.0)[source]
Safely divide two numbers, handling division by zero.
- hpfracc.core.utilities.check_numerical_stability(values, tolerance=1e-10)[source]
Check if numerical values are stable.
- hpfracc.core.utilities.vectorize_function(func, vectorize=True)[source]
Vectorize a scalar function for array inputs.
- hpfracc.core.utilities.normalize_array(arr, norm_type='l2')[source]
Normalize an array using different norm types.
- hpfracc.core.utilities.smooth_function(func, smoothing_factor=0.1)[source]
Create a smoothed version of a function using convolution.
- hpfracc.core.utilities.fractional_power(x, alpha)[source]
Compute fractional power with proper handling of negative values.
- hpfracc.core.utilities.fractional_exponential(x, alpha)[source]
Compute fractional exponential function.
- hpfracc.core.utilities.get_default_precision()[source]
Get default numerical precision for the library.
- Return type:
- hpfracc.core.utilities.set_default_precision(precision)[source]
Set default numerical precision for the library.
- Parameters:
precision (int)
- hpfracc.core.utilities.get_available_methods()[source]
Get list of available fractional calculus methods.
- hpfracc.core.utilities.get_method_properties(method)[source]
Get properties of a specific fractional calculus method.
Main Module
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.