use std::complex<double> instead of Complex
move unused diagonalization routines into the legacy module
move conversion functions into the legacy module