IT++ Logo
Namespaces
fastica.cpp File Reference

Implementation of FastICA (Independent Component Analysis) for IT++. More...

#include <itpp/signal/fastica.h>
#include <itpp/signal/sigfun.h>
#include <itpp/signal/resampling.h>
#include <itpp/base/algebra/eigen.h>
#include <itpp/base/algebra/svd.h>
#include <itpp/base/math/trig_hyp.h>
#include <itpp/base/matfunc.h>
#include <itpp/base/random.h>
#include <itpp/base/sort.h>
#include <itpp/base/specmat.h>
#include <itpp/base/svec.h>
#include <itpp/base/math/min_max.h>
#include <itpp/stat/misc_stat.h>

Go to the source code of this file.

Namespaces

namespace  itpp
 itpp namespace
 

Functions

static void selcol (const mat oldMatrix, const vec maskVector, mat &newMatrix)
 Local functions for FastICA.
 
static int pcamat (const mat vectors, const int numOfIC, int firstEig, int lastEig, mat &Es, vec &Ds)
 Local functions for FastICA.
 
static void remmean (mat inVectors, mat &outVectors, vec &meanValue)
 Local functions for FastICA.
 
static void whitenv (const mat vectors, const mat E, const mat D, mat &newVectors, mat &whiteningMatrix, mat &dewhiteningMatrix)
 Local functions for FastICA.
 
static mat orth (const mat A)
 Local functions for FastICA.
 
static mat mpower (const mat A, const double y)
 Local functions for FastICA.
 
static ivec getSamples (const int max, const double percentage)
 Local functions for FastICA.
 
static vec sumcol (const mat A)
 Local functions for FastICA.
 
static bool fpica (const mat X, const mat whiteningMatrix, const mat dewhiteningMatrix, const int approach, const int numOfIC, const int g, const int finetune, const double a1, const double a2, double myy, const int stabilization, const double epsilon, const int maxNumIterations, const int maxFinetune, const int initState, mat guess, double sampleSize, mat &A, mat &W)
 Local functions for FastICA.
 

Detailed Description

Implementation of FastICA (Independent Component Analysis) for IT++.

Author
Francois Cayre and Teddy Furon

Copyright (C) 1995-2010 (see AUTHORS file for a list of contributors)

This file is part of IT++ - a C++ library of mathematical, signal processing, speech processing, and communications classes and functions.

IT++ is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

IT++ is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with IT++. If not, see http://www.gnu.org/licenses/.


This is IT++ implementation of the original Matlab package FastICA.

This code is Copyright (C) 2004 by: Francois CAYRE and Teddy FURON TEMICS Project INRIA/Rennes (IRISA) Campus Universitaire de Beaulieu 35042 RENNES cedex FRANCE

Email : first.nosp@m.name.nosp@m..last.nosp@m.name.nosp@m.@iris.nosp@m.a.fr

Matlab package is Copyright (C) 1998 by: Jarmo HURRI, Hugo GAVERT, Jaakko SARELA and Aapo HYVARINEN Laboratory of Information and Computer Science Helsinki University of Technology *

URL : http://www.cis.hut.fi/projects/ica/fastica/about.shtml

If you use results given by this FastICA software in an article for a scientific journal, conference proceedings or similar, please include the following original reference in the bibliography :

A. Hyvarinen, Fast and Robust Fixed-Point Algorithms for Independent Component Analysis, IEEE Transactions on Neural Networks 10(3):626-634, 1999

Differences with the original Matlab implementation:

Definition in file fastica.cpp.

SourceForge Logo

Generated on Sat Jul 6 2013 10:54:27 for IT++ by Doxygen 1.8.2