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§
- Config
Builder - Builder for constructing
PicardConfigwith a fluent API. - Cube
- Cubic density.
- Exp
- Exponential density.
- Picard
- The PICARD Independent Component Analysis solver.
- Picard
Config - Configuration parameters for the PICARD algorithm.
- Picard
Result - Result of running the PICARD algorithm.
- Tanh
- Hyperbolic tangent density.
Enums§
- Density
Type - Enumeration of built-in density types.
- Picard
Error - Errors that can occur during PICARD computation.
Traits§
- Density
- Trait for density functions used in ICA.