Changed order of steps performed in DMRGObserver::measure to do local measurements first.
Removed Eigensolver class in favor of making davidson and genDavidson free methods taking an OptSet argument.
Created replaceIndex methods for IndexSet, ITensor, and IQTensor.
Fixed an Opt convenience function that was causing buggy behavior.
Converted certain psiHphi and psiHKphi methods to templates over the tensor type.
Added some features to DMRGObserver: persistence of done state, accessor for wavefunction.
Added dir(Arrow) method to Index for interface compatibility with IQIndex.
Fixed IndexSet and IQTensor replaceIndex methods. Added dir(IQTensor,IQIndex) method for finding direction of a given IQIndex. Added findindex(IQIndex,Index) for finding location of an Index in a given IQIndex.
Added template method uniqueIndex which is the opposite of commonIndex.
New design for infinite/iDMRG MPOs: edge tensors are just stored in H.A(0) and H.A(N+1) (for finite MPOs these are just null/default initialized). Greatly simplifies MPO maker interface and idmrg interface. Made necessary adjustments to MPSt and MPOt to allow this feature. Updated Ising and Heisenberg MPO makers to use this convention.
Opt and OptSet now support operator& with const char* option strings.
Updated some tests to compile with latest library changes.
Found and fixed major bug in addition of complex ITensors, triggered for a+b when a real, b complex, and a and b have different Index order. Wrote some related unit tests. Also simplified handling of complex ITensors in expandIndex. Fixes #45.