# <img src="docs/VERSION/classes/icon.png" class="largeicon"> ITensor Library Classes and Methods # Detailed information about every method and function in the ITensor library. The documentation may omit minor details that do not change how you use a method, like describing a particular function as `f(ITensor T)` even though its actual signature is `f(ITensor const& T)`. ## Utilities * [[Reading and Writing Objects to Disk|classes/readwrite]] * [[Support for MPI (Message Passing Interface) Parallelism|classes/parallel]] * Support for working with lattices: - [[LatticeBond Objects|classes/latticebond]] - [[Functions for Making Lattices|classes/lattice_functions]] * [[BondGate|classes/bondgate]] - type for making quantum circuits or time-evolution gates ## Index * [[Index|classes/index]]. Tensor index. * Special Index modes: - [[QN Index|classes/index_qn]]. Index carrying QN block information. * [[IndexVal|classes/indexval]]. Index-value pair. * [[IndexSet|classes/indexset]]. Container for storing indices. * [[QN|classes/qn]]. Abelian quantum numbers. ## ITensor * [[ITensor|classes/itensor]]. The elementary tensor type. <br/> * Sparse ITensors: - [[QN ITensor|classes/qnitensor]] - [[Single Element ITensor|classes/single_itensor]] - [[Combiner|classes/combiner]] - [[Delta and Diagonal ITensor|classes/diag_itensor]] * [[Tensor Decompositions|classes/decomp]]. Singular value decomposition, density matrix diagonalization, etc. ## Matrix product states (MPS) and matrix product operators (MPO) * [[SiteSet|classes/siteset]]. Collection of site objects, defining a Hilbert space and local operators. <br/> - [[SpinHalf and SpinHalfSite|classes/spinhalf]]. S=1/2 spin sites. <br/> - [[SpinOne and SpinOneSite|classes/spinone]]. S=1 spin sites. <br/> - [[Boson and BosonSite|classes/boson]]. Spinless boson sites with adjustable max occupancy. <br/> - [[Fermion and FermionSite|classes/fermion]]. Spinless fermion sites. <br/> - [[Electron and ElectronSite|classes/electron]]. Spinful fermion sites. <br/> - [[tJ and tJSite|classes/tj]]. t-J model sites. <br/> - [[CustomSpin and CustomSpinSite|classes/customspin]]. Spin sites with custom spin S size. <br/> * [[InitState|classes/initstate]]. Helper object for initializing product-state MPS. <br/> * [[MPS|classes/mps]]. Matrix product state class. <br/> * [[MPO|classes/mpo]]. Matrix product operator class. <br/> * [[Algorithms for MPS and MPO|classes/mps_mpo_algs]]. <br/> * [[AutoMPO|classes/autompo]]. System for making MPOs from sums of local operators. <br/> * [[Time Evolution of MPS|classes/tevol]]. Methods for time evolving MPS. ## Density matrix renormalization group (DMRG) * [[Sweeps|classes/sweeps]]. Class for specifying DMRG accuracy parameters. * [[DMRG|classes/dmrg]]. Interface for running DMRG calculations. <!-- * [[Spectrum|classes/spectrum]]. Class for storing & analyzing density matrix eigenvalue spectrum. * [[InitState|classes/initstate]]. Class for initializing matrix product states. To Do: - gateTEvol function - STOP_DMRG file feature of DMRG codes - InitState - Spectrum - idmrg - Args - LocalOp, LocalMPO, etc. - Observer / DMRGObserver - DMRGObserver related dmrg functions? -->