libICA - ICA library

fastICA C implementation

Martin Týma

Description

libICA is an C library that implements the FastICA [1] algorithm for Independent Component Analysis (ICA). It is based on the CRAN fastICA [2] package for R.

Synopsis

#include <libICA.h>

void fastICA(double** X, int rows, int cols,
     int compc, double** K, double** W,
     double** A, double** S);

Parametes:

X
pre-processed data matrix [rows, cols]
compc
number of components to be extracted
K
pre-whitening matrix that projects data onto the first compc principal components
W
estimated un-mixing matrix
A
estimated mixing matrix
S
estimated source matrix

Details

libICA uses the parallel scheme in which the components are estimated simultaneously and the logcosh() function with alpha = 1 for the approximation to neg-entropy. See the CRAN fastICA manual [3] for details.

Doxygen documentation

Example

The sources contain an simple example program named fastICA which uses the library as well as sample data, which are equivalent to the CRAN fastICA example #2.

License

libICA is distributed under the GPL v.2 license.

References

[1] http://www.cis.hut.fi/projects/ica/fastica/
[2] http://cran.r-project.org/src/contrib/Descriptions/fastICA.html
[3] http://cran.r-project.org/doc/packages/fastICA.pdf

Source codes

libICA.tar.bz2 - libICA library