Derivatives and Integrals API Reference
All fractional derivative and integral classes and functions.
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.
Optimized Methods
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
Advanced Methods
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.
Special Methods
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 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: