Bob misses a naive Fisher LDA implementation
Created by: anjos
The current implementation of FisherLDA on Bob uses Lapack's dsygv
, which is supposed to be more numerically stable than using dsyevd
since it does not require the inversion of Sw. It can still fail in certain conditions. Another implementation that would still use dsyevd
would be possible using the pseudo-inverse instead of the inverse of Sw and that could be more robust - but slower - in certain cases.
Lapack does not provide a pseudo-inverse function, but that should be easily implementable using QR factorization or SVD:
http://icl.cs.utk.edu/lapack-forum/archives/lapack/msg01395.html