Change Index IQIndexVal::index() to IndexQN IQIndexVal::indexqn(). Made calc_ind_ii a free method, no longer a member of IndexQN.
Renamed some methods of class Permutation.
Moved class BondGate out of tevol.h into separate header file bondgate.h. Fixed reporting of percent done in gateTEvol.
Changed signature of class SpinOne constructor to take an OptSet.
Added bondgate.h to Makefile.
Updated unit tests with latest Permutation class signature and to test changes to IQTensor randomize and norm methods.
Began transitioning matrix library to have all LAPACK wrappers, includes, and typedefs in a single concise header file lapack_wrap.h.
Fixed some code in IQTensor element access methods related to renaming of IQIndexVal index() method to indexqn().
Added new SVDComplex method which just wraps zgesdd. Added lapack_wrap.h to version control.
Updated SVDWorker::svd to use new SVDComplex matrix method.
Removed unused newmid argument from diag_denmat.
Added support for MKL to lapack_wrap.h; reflected change in mkl_utility.cc. Fixed error in options.mk.sample.
Merged platform-dependent _utility.cc and _david.cc files back into single utility.cc and david.cc files. Platform dependent code is now concentrated in lapack_wrap.h.
Simplified implementation of HermitianEigenvalues in matrix/utility.cc. Combined two loops in svd.cc
Removed a buggy optimization in ITensor +=. Also added a helpful comment before multSiteOps.
Fixed some aspects of MPS reading and writing to disk. Copying an MPS now works with doWrite()==true. Calling doWrite(false) after doWrite(true) now copies back tensors from disk. doWrite accepts Option WriteAll to force immediate writing of all tensors.