LDA.cpp eigennized

I have changed the LAPACK codes into EIGEN3 for the binary classification through LDA.
please dont use asserts when users can cause them to fail. Rather REQUIRE with a proper error message that  tell what is wrong (with details, i.e. numbers here) and how they could be fixed