added support for eigen, the c++ matrix header lib