[Eeglablist] FFDiag Algorithm numerical problems
marco.congedo at irisa.fr
Thu Oct 7 01:18:34 PDT 2004
I implemented in DELPHI the FFDiag algorithm for joint diagonalization of
matrices (Ziehe A., Laskov, P., Nolte G., and Muller, K.-R. (2004) A Fast
Algorithm for Joint Diagonalization with Non-orthogonal Transformations
and its application to Blind Source Separation, Journal of Machine
Learning Research, 5, 777-800. Available on the net).
According to the authors FFDiag is very fast, easy to implement, and does
a job at least as good as state-of-the-art algorithms like the one
obtained by Givens rotation of Cardoso and the AC-DC algorithm of Yeredor,
with the advantage the the Joint diagonalizer is not forced to be
orthogonal, so data has not to be whiten for BSS of EEG/MEG data.
When the algorithm converges, I found it is really good, however
I found numerical instability in many situations:
The denominator of updating equations 17 (pag 784, ibidem)
sometimes goes close to zero or negative, which should not be the case.
That is, the off-diagonal element of the upper triangular matrix Z in the
paper sometimes get larger than the corresponding diagonal elements.
This is probably due to the approximation in eq. (10), where
quadratic terms are dropped, assuming they are very small.
My questions are:
Does anybody implemented the FFDiag algorithm and found similar problems?
If so, does anybody have suggestions on how to overcome the problem?
Thank you very much for your attention and help,
Marco Congedo, PhD
SIAMES Project, IRISA
Campus de BeauLieu
35042 Rennes France
More information about the Eeglablist