ITensor: Interface improvements; count.h library
Miles, Srwhite59, Jessica Alfonsi, Andrey E. Antipov, Guy Cohen, Lucas O. Wagner, SDepenbrock, G1257, Kyungmin Lee, Erik Schnetter, jgukelberger · Zenodo (CERN European Organization for Nuclear Research) · 2015
Created setA method for MPS/IQMPS. Similar to Anc but better, more self-documenting name. Call psi.setA(j,T); to set tensor at site j to be the tensor T. svd methods now recognize LeftIndexName, RightIndexName, LeftIndexType, RightIndexType (or just IndexType) named args for specifying properties of newly created indices. Very useful for 2D tensor network algorithms. Added count.h mini-library to utilities. Allows writing for loops over integers as for(auto n : count(4)) for n=0,1,2,3 or for(auto n : count1(4)) for n=1,2,3,4 (notice the count1 versus count). Also writing for(auto n : index(v)) makes n an integer iterating from 0 up to < v.size(). Created an external norm(T) function for ITensors and IQTensors. Fixed a bug where ITensor svd in "ShowEigs" mode was not reporting correct truncation error.