TO DO LIST

- check more carefully single precision
- check with duplicated singularvalues
- no-malloc mode

(optional optimization)
- do all the allocations in the allocate part 
- support static matrices
- return a error at compilation time when using integer matrices (int, long, std::complex<int>, ...)
- To solve the secular equation using FMM:
http://www.stat.uchicago.edu/~lekheng/courses/302/classics/greengard-rokhlin.pdf

