Implements the FastICA algorithm