"The only two kinds of comments that are acceptable for completed
code are intent and summary comments."

"A good name for a routine clearly describes everything the routine does."

------------------------------------------------------------------------

TO DO list:

- make a class containing global data (dg, diag, etc.)

- better data hiding (encapsulation)

- input-modify-output order of parameters

- proper handling of scripts (first line), script comments, uniformisation

- functions which do not depend on parameters and global variables
   should be factored out to separate .cc files [especially if they also do not
   depend on the symmetry type!!]

- remove any offset 1 arithmetics [this could lead to bugs, so what to do?]

- WARNING: ISO2LR currently broken

- unit testing withing the NRG Lj source tree. Use #defines etc.

- impurity operator sequence {d,a,b,c,e}. Fix it!

- adding/subtracting 1 for U(1) symmetry is quite confusing and certainly
 unnecessary. Fix it! (and don't forget to modify initial.m as well)...
 
- perform (temp files) cleanup in case of abortion due to some error.

