[ ] It would be good to show x = sim(b), I think we should advertise it's use more as a way to make temporary indices as an alternative to tags and prime levels. Also, we should add a constructor x = sim(b,"...") as a way to assign new tags and prime levels to the similar index.
[ ] Is the description of the delta correct here? I thought it didn't simply replace the Index of the ITensor, but actually did a sparse diagonal multiplication. Does it act differently for delta with more than two indices?
Code Formulas (http://www.itensor.org/docs.cgi?vers=cppv3&page=formulas) updates for V3:
NOTE:
are linked twice, update for V2 docs as well.
Evaluate a Function on Each Element of a Tensor (http://www.itensor.org/docs.cgi?vers=cppv3&page=formulas/visit):
[ ]
randomize(T)
->T.randomize()
Extract the Storage of a Dense ITensor (http://www.itensor.org/docs.cgi?vers=cppv3&page=formulas):
[ ] Update
Index
constructors[ ]
randomize(T)
->T.randomize()
Create a set of Site indices to use as a lattice (http://www.itensor.org/docs.cgi?vers=cppv3&page=formulas/index_sites):
[ ]
nameint("site_",7)
->format("site_%d",7)
(nameint
was removed since there is no name anymore)[ ] Change
Index
constructors[ ] Change
IndexVal
constructors from e.g.i(1)
->i=1
Make a single-site operator (no quantum numbers) (http://www.itensor.org/docs.cgi?vers=cppv3&page=formulas/itensor_single_site_op):
[ ] Change
Index
constructors[ ]
s(1)
->s=1
Exactly Compute the Ground State of a Small Hamiltonian (http://www.itensor.org/docs.cgi?vers=cppv3&page=formulas/simple_ed)
[ ] Code is not found, make sure it is updated for V3
Replace an ITensor Index with Another Index (http://www.itensor.org/docs.cgi?vers=cppv3&page=formulas/itensor_replace_index):
[ ] It would be good to show
x = sim(b)
, I think we should advertise it's use more as a way to make temporary indices as an alternative to tags and prime levels. Also, we should add a constructorx = sim(b,"...")
as a way to assign new tags and prime levels to the similar index.[ ] Is the description of the
delta
correct here? I thought it didn't simply replace the Index of the ITensor, but actually did a sparse diagonal multiplication. Does it act differently fordelta
with more than two indices?Perform a basic DMRG calculation (http://www.itensor.org/docs.cgi?vers=cppv3&page=formulas/basic_dmrg):
[ ]
MPO
->toMPO
[ ]
maxm
->maxDim
[ ] Add
{"ConserveQNs=",false}
argMake a Ladder Hamiltonian for DMRG (http://www.itensor.org/docs.cgi?vers=cppv3&page=formulas/ladder):
[ ]
MPO
->toMPO
[ ] Add
{"ConserveQNs=",false}
arg[ ]
maxm
->maxDim
Make a 2D Hamiltonian for DMRG (http://www.itensor.org/docs.cgi?vers=cppv3&page=formulas):
[ ]
IQMPO
->toMPO
[ ]
IQMPS
->MPS
[ ]
maxm
->maxDim
Compute excited states using DMRG (http://www.itensor.org/docs.cgi?vers=cppv3&page=formulas/excited_dmrg)
[ ] Add
{"ConserveQNs=",false}
arg[ ]
maxm
->maxDim
[ ]
MPO
->toMPO
Measure local properties of an MPS wavefunction (http://www.itensor.org/docs.cgi?vers=cppv3&page=formulas/measure_mps):
psi.A(j)
->psi(j)
Site
->"Site"
T.real()
->elt(T)
sites.op(...)
->op(sites,...)
Measure two-point correlator from an MPS wavefunction (http://www.itensor.org/docs.cgi?vers=cppv3&page=formulas/correlator_mps):
sites.op("Op1",i)
- >op(sites,"Op1",i)
, etc.Link
->"Link"
, etc.psi.A(i)
->psi(i)
, etc.commonIndex(psi.A(i),psi.A(i+1),Link)
->linkInd(psi,i)
psi.A(i)*op_i*dag(prime(psi.A(i),Site,ir))
->prime(psi(i),linkInd(psi,i-1))*op_i*dag(prime(psi(i)))
C *= psi.A(k);
->auto sk = siteInd(psi,k); C *= prime(psi(k),sk);
C *= dag(prime(psi.A(k),Link));
->C *= dag(prime(psi(k)));
C *= psi.A(j);
->auto lj = linkInd(psi,j); C *= prime(psi(j),lj);
C *= dag(prime(psi.A(j),jl,Site));
->C *= dag(prime(psi(j)));
C.real()
->elt(C)
Compute entanglement entropy (http://www.itensor.org/docs.cgi?vers=cppv3&page=formulas/entanglement_mps):
psi.A(b)
->psi(b)
commonIndex(psi.A(i),psi.A(i+1),Link)
->linkInd(psi,i)
Measure spinless fermion two-point correlator (http://www.itensor.org/docs.cgi?vers=cppv3&page=formulas/spinless_correlator_mps):
Compute a two-site reduced density matrix from an MPS (http://www.itensor.org/docs.cgi?vers=cppv3&page=formulas/mps_two_rdm):
Operator matrix elements involving two MPS (http://www.itensor.org/docs.cgi?vers=cppv3&page=formulas/two_mps):
Time-evolving an MPS with Trotter Gates (http://www.itensor.org/docs.cgi?vers=cppv3&page=formulas/tevol_trotter):
BondGate<ITensor>
->BondGate
sites.op(...)
->op(sites,...)
?Time-evolving an MPS with an MPO (matrix product operator) (http://www.itensor.org/docs.cgi?vers=cppv3&page=formulas/tevol_mps_mpo):
psi.A(3)
->psi(3)
noprime
->noPrime
toExpH<ITensor>
->toExpH
exactApplyMPO(...)
->applyMPO(...,{"Method=","DensityMatrix"})
,fitApplyMPO(...)
-> ..., ect.normalize(psi)
->psi.normalize()
Applying a two-site 'gate' to an MPS (http://www.itensor.org/docs.cgi?vers=cppv3&page=formulas/gate):
psi.A(3)
->psi(3)
noprime
->noPrime
psi.setA(3,U)
->psi.set(3,U)