Interesting paper, terry, thanks...
I have started reading it, but I notice some mention of SVD, as well as PCA and ICA. It also appears that there is some similarities between the problems these methods attempt to address.
Just out of curiosity, have you looked at/used simpler SVD-like...