Removed unused mapprimeind methods from tensor classes and an unnecessary include from observer.h
Changed free primelevel methods in index.h to templates. Removed duplicate methods from itensor.h. Added a unit test for ITensor::norm.
Changed struct inqn into a subclass of Index, class IndexQN. Renamed IQIndex::iq() to IQIndex::indices(). Will allow templated methods such as hasindex to work for IQIndex too. Also makes it easy to treat and IndexQN as an Index by using a reference and avoids code duplication/fragmentation.
Fixed a bug in MPS addition caused during last commit (switching to IndexQN).
Updated printing of class QN.
Moved totalQN code to mps.cc.
Changed definition of IndexVal and IQIndexVal to inherit from Index and IQIndex, respectively.
Fixed deprimed template methods. Index version now includes optional IndexType argument. Added tensor version allowing one to specify a particular index.
Removed some unused print class methods.
Removed some little or unused constructors from IQIndex. Moved methods dir, qn, and find_iqind outside class definitions of IQIndex and IQTensor (in the case of find_iqind). Changed order of IQIndex declarations to match that of Index for documentation purposes.
Renamed measure.h to stats.h and renamed class Measure to class Stats. Also renamed member function ave to avg.
Fixed bug in IQCombiner where Arrow of right IQIndex was getting set by IQIndReIm Arrow.
Added IQIndex constructors accepting up to 6 Index and QN pairs.
Updated itensor/Makefile to reflect renaming of measure.h to stats.h.
Added a couple of comments.
Added findByQN method for IQIndex.
Fixed a bug in IQTensor::randomize where the divergence wasn't being computed correctly.
Added normLogNum() methods to ITensor and IQTensor and reimplemented norm() methods in terms of normLogNum() to check for overflows. Also added normNoScale() to ITensor.