Hi,
There is already a BLAS API built on top of Eigen. To build it, get the source of Eigen, then:
$ mkdir build
$ cd build
$ cmake -DCMAKE_BUILD_TYPE=Release path/to/eigen_source
$ cd blas
$ make
This will produce both a static and a dynamic library.
If your CPU support AVX, then get the devel branch, and enable AVX with:
$ cmake -DCMAKE_BUILD_TYPE=Release path/to/eigen_source -DEIGEN_TEST_AVX=ON
Same for FMA:
$ cmake -DCMAKE_BUILD_TYPE=Release path/to/eigen_source -DEIGEN_TEST_AVX=ON -DEIGEN_TEST_FMA=ON
cheers,
gael