Replaced some explicit types with appropriate typedefs.
Major refactor of DMRGWorker.h. DMRGWorker no longer a class and removed BaseDMRGWorker.h. Now all current DMRG methods share the same templated code. Changed LocalMPOSet to be zero indexed over vector of MPOs.
WARNING: this update may break your build. To fix it, please make a new options.mk file based on the newest version of options.mk.sample. Renamed and added some of the variables in options.mk.sample. Updated Makefiles throughout to use these new variables (making them considerably simpler).
Added indices() accessor method to ITSparse and IQTSparse.
Added free (copying) mapPrime method for Index.
Added an error check (in debug mode) if calling noprime on a tensor leads to duplicate indices. Thanks to Andy Ferris for pointing out this bug.
Big cleanup and update of iqindex.h/cc. Removed Imaker enum in favor of static methods using existing constructors. Made IQIndexDat storage private. Removed some unused or redundant methods.
Added template method swapPrime(Tensor T,int plev1, int plev2) which returns a copy of T with prime levels plev1 and plev2 switched. Thanks to Andy Ferris for the suggestion.
Moved DMRGWorker.h contents into dmrg.h. Removed DMRGWorker.h. Added default opts to DMRGWorker arguments. Removed some unnecessary code in LocalOp and related classes.
Fixed printing of Index's to show uniqueReal before primelevel applied.
New DMRG template method: DMRG on an open MPO with boundary tensors.
Extended SweepSetter to allow Opt arguments to appear in comma-separated value list. Currently accepts Repeat(n) which causes last arg to appear n times in a row.
Some tweaks to MPS. Implemented operator/=(Real) and made norm() use ortho center if available. Position now accepts UseOrigM option.
More support for options throughout DMRG and LocalOp related classes.
Added a small optimization to ITensor::operator+=
Updated directMultiply code and turned it back on for ITensor contractions (goal is to get rid of reshaping of ITensors).
Added some documentation to counter.h. Commented out unused comparison operators.
Fixed bug in operator+= introduced in recent commit c032909bfb9ce79710cc0a201fe2c24f3ebd0a9b
Some minor changes to class Counter: removed argument from reset(int) method and renamed rn_ and r_ to rn and r.
Added new experimental directMultiply code (not the default yet). Changed method signature of _ind and made it a free method.