wavelet_leader_diagnostics

Function wavelet_leader_diagnostics 

Source
pub fn wavelet_leader_diagnostics<T>(
    signal: &Signal<T>,
    wavelet: &dyn Wavelet,
    config: MultifractalConfig,
) -> Result<WaveletLeaderDiagnostics>
Expand description

Compute wavelet-leader scaling diagnostics in a single call.

This is a convenience wrapper around wavelet_leader_scaling that returns the moments q, scaling exponents ζ(q), and two scalar scores:

  • curvature_score: |ζ’’(0)| based on ζ(−1), ζ(0), ζ(1) if available
  • linearity_r2: R² of the best linear fit ζ(q) ≈ a·q + b

§Examples

use iron_wave::analysis::multifractal::*;
use iron_wave::{Signal, Wavelet};
use iron_wave::wavelets::{Daubechies, DaubechiesType};

let data: Vec<f64> = (0..512).map(|i| (i as f64 * 0.1).sin()).collect();
let signal = Signal::new(data);
let wavelet = Daubechies::new(DaubechiesType::Db4);

let config = MultifractalConfig::with_moments(-2.0, 2.0, 1.0)
    .with_bootstrap_samples(0);

let diag = wavelet_leader_diagnostics(&signal, &wavelet, config)?;

println!("q: {:?}", diag.moments);
println!("ζ(q): {:?}", diag.scaling_exponents);
println!("Curvature score |ζ''(0)|: {:?}", diag.curvature_score);
println!("Linearity R²: {:?}", diag.linearity_r2);