Spectrum branch

The branch "spectrum" contains the code needed to read in a matrix and calculate "D1" by re-using the hash table and D2 code.