numra-fde 0.1.1

Fractional differential equation solvers for Numra: L1 scheme for Caputo derivatives, with Mittag-Leffler utilities.
Documentation

numra-fde

Fractional differential equation solvers for the Numra workspace — L1 scheme for Caputo derivatives, with Mittag-Leffler utilities for analytical comparison.

Crates.io docs.rs

Solves time-fractional ODEs D^α y(t) = f(t, y) for α ∈ (0, 1] using the Caputo derivative. Reduces to the ordinary derivative at α = 1; preserves the "memory" property for α < 1 (the right-hand side depends on the full history of y).

Example

use numra_fde::{FdeOptions, FdeSolver, FdeSystem, L1Solver};

// Fractional relaxation: D^α y = -λy, y(0) = 1
struct FractionalRelaxation { lambda: f64 }

impl FdeSystem<f64> for FractionalRelaxation {
    fn dim(&self) -> usize { 1 }
    fn alpha(&self) -> f64 { 0.5 }
    fn rhs(&self, _t: f64, y: &[f64], f: &mut [f64]) {
        f[0] = -self.lambda * y[0];
    }
}

let opts = FdeOptions::default().dt(0.01);
let _ = L1Solver::solve(&FractionalRelaxation { lambda: 1.0 }, 0.0, 1.0, &[1.0], &opts);

What's in this crate

  • L1Solver — L1 scheme for the Caputo derivative, accuracy O(dt^{2-α})
  • FdeSystem trait — user-defined RHS plus fractional order α
  • FdeOptions / FdeResult — configuration and diagnostics
  • caputo_weights — quadrature weights for direct use
  • mittag_leffler, mittag_leffler_1 — closed-form Mittag-Leffler function for analytical reference (the FDE analogue of exp for fractional relaxation)
  • gamma — gamma function used internally and re-exported

Composes with

  • numra-interp for post-hoc resampling of the trajectory onto fixed grids
  • numra-stats for descriptive statistics on fractional-decay trajectories
  • numra-fft for spectral analysis of long-memory dynamics
  • numra-special for cross-checking against alternative Mittag-Leffler implementations

See cross-formalism tests for the ODE-approximates-FDE consistency check at α = 1.

Install

[dependencies]
numra-fde = "0.1"

Or via the umbrella crate:

[dependencies]
numra = "0.1"

Documentation

License

Numra Academic & Research License (Non-Commercial). Academic and research use is free; commercial use requires a separate license — contact contact@spectralautomata.com. See LICENSE.