v2.0.0
Loading...
Searching...
No Matches
UTILSLIB::PicardIca Class Reference

Independent Component Analysis using the Picard algorithm. More...

#include <picard_ica.h>

Static Public Member Functions

static IcaResult run (const Eigen::MatrixXd &matData, int nComponents=-1, int maxIter=200, double tol=1e-7, int lbfgsMemory=7, int randomSeed=42)

Detailed Description

Independent Component Analysis using the Picard algorithm.

Picard uses a preconditioned L-BFGS strategy to minimise the mutual information of the components. Compared to FastICA it typically converges in fewer iterations and handles badly conditioned data more robustly.

Definition at line 56 of file picard_ica.h.

Member Function Documentation

◆ run()

IcaResult PicardIca::run ( const Eigen::MatrixXd & matData,
int nComponents = -1,
int maxIter = 200,
double tol = 1e-7,
int lbfgsMemory = 7,
int randomSeed = 42 )
static

Run the Picard ICA algorithm.

Parameters
[in]matDataInput data (n_channels x n_samples).
[in]nComponentsNumber of components to extract (-1 = all channels).
[in]maxIterMaximum number of iterations (default 200).
[in]tolConvergence tolerance (default 1e-7).
[in]lbfgsMemoryL-BFGS memory length (default 7).
[in]randomSeedSeed for initial weight randomisation (default 42).
Returns
IcaResult with mixing/unmixing matrices and source time series.

Definition at line 71 of file picard_ica.cpp.


The documentation for this class was generated from the following files: