further performance and memory optimization
change the sorting of the eigens
fix the normalization and the projection code
add a simple test
slight code cleanup
project using multiprocessing
increase the performance by doing some array tricks and getting
rid of np.diag, np.identity calls