#171 fastica ignores initial guess


I'm working with the FastICA algorithm (in itpp/signal). I have a working project that uses the "Helsinki University of Technology" MATLAB implementation, and my understanding is that the version contained in IT++ is a direct port. Differences between the results I generate with the IT++ version and the MATLAB version have led me to the following:

It seems that the default behavior of this algorithm is to generate a random initial guess of the solution. However, the function set_init_guess() (member of Fast_ICA) stores a matrix containing an initial guess, which should then be used in place of a random matrix.

However, it seems that this specified initial guess is never accessed, and in fact a flag that indicates whether to use a specified vs. random initial guess is hard-coded in the constructor, but is not checked, thus the algorithm always uses a random guess.

This issue has been corrected in the attached patch.


  • mchaudhuri

    mchaudhuri - 2008-04-13

    Patch correcting this issue.

  • Adam Piątyszek

    Adam Piątyszek - 2008-04-14

    Logged In: YES
    Originator: NO

    Thanks for reporting this bug and providing the patch for solving it. The patch is now included in SVN sources. This report will be closed with the next stable release of IT++.



Log in to post a comment.