REVISION HISTORY:
Version 2017-revision B
Version 2017-revision B (October 2017)
A minor bug in print_spectrum has been fixed. (by Sijia S. Dong)