Major refactor of IQTensor storage to position ITensor blocks deterministically, thinking of IQTensor as a tensor of tensors. Still needs debugging.
Fixed a potential bug in SkipIterator.
Restored IQTData::Null() to allow iteration over blocks of default initialized IQTensor.
Added SkipIterator to dependencies
Added basic printout for SkipIterator.
Changed semantics of IQTDat to have size, empty, and clear methods refer to whether blocks are valid or not instead of size of container. Added method maxSize to check size of container.
Changed ITensor::valid to check type_ flag.
Fixed various bugs in new implementation of IQTensor::operator*=
Fixed tieIndices and trace to work with new IQTDat storage.
Reimplemented IQTensor non-contracting product.
Added contracting product test to unittest/iqtensor_test.cc
Removed test target from unittest Makefile (should use test-g target).
Fixed an issue where ITensor type was being converted from Diag to Dense because of behavior of IQTensor::getBlock.
Fixed a subtle bug in how trace(Tensor) template method was calling IQTensor::trace. Added a regression test to iqtensor_test.cc
Added a small optimization to IQTensor::takeRealPart.
Lightened the cost of default constructing an ITensor.
Cleaned up some deprecated or unused code in IQTensor::operator+=
New implementation of IQTensor::operator*= that appears to be about 10% faster than the version from commit 04bb42b2
Fixed over-by-one bug in SkipIterator
Added missing condenser.o dependency to Makefile.