Crate picard

Crate picard 

Source
Expand description

§Picard

Fast Independent Component Analysis using preconditioned L-BFGS optimization.

This crate implements the Picard algorithm from:

Pierre Ablin, Jean-François Cardoso, Alexandre Gramfort. “Faster independent component analysis by preconditioning with Hessian approximations” IEEE Transactions on Signal Processing, 2018

§Example

use picard::{Picard, PicardConfig};
use ndarray::Array2;

// Generate some test data (n_features x n_samples)
let x = Array2::<f64>::zeros((10, 1000));

// Fit ICA with default settings
let result = Picard::fit(&x)?;

// Or with custom configuration
let config = PicardConfig::builder()
    .n_components(5)
    .max_iter(200)
    .ortho(true)
    .build();
let result = Picard::fit_with_config(&x, &config)?;

// Access results
let sources = &result.sources;
let unmixing = &result.unmixing;

Re-exports§

pub use ndarray;

Modules§

utils
Utility functions for ICA analysis.

Structs§

ConfigBuilder
Builder for constructing PicardConfig with a fluent API.
Cube
Cubic density.
Exp
Exponential density.
Picard
The PICARD Independent Component Analysis solver.
PicardConfig
Configuration parameters for the PICARD algorithm.
PicardResult
Result of running the PICARD algorithm.
Tanh
Hyperbolic tangent density.

Enums§

DensityType
Enumeration of built-in density types.
PicardError
Errors that can occur during PICARD computation.

Traits§

Density
Trait for density functions used in ICA.