i know that this has been already merged and i'm sorry that i'm only joining so late the discussion, but if possible it would be great to set the eigen solver as a parameter of the class.
this would for example enable us to set a GPU based eigen solver for PCA-ing. See viennaCL's lanczos eigen solver:
http://viennacl.sourceforge.net/doc/lanczos_8hpp.html

@karlnapf @mazumdarparijat what do you think?