PartitionedMPSs
Documentation for PartitionedMPSs.
PartitionedMPSs.LazyContraction
PartitionedMPSs.PartitionedMPS
PartitionedMPSs.Projector
PartitionedMPSs.Projector
PartitionedMPSs.SubDomainMPS
Base.:&
Base.:+
Base.:<
Base.:|
Base.getindex
Base.isdisjoint
Base.keys
Base.length
Base.values
LinearAlgebra.norm
PartitionedMPSs._add_patching
PartitionedMPSs._next_projindex
PartitionedMPSs.adaptive_patching
PartitionedMPSs.adaptive_patching
PartitionedMPSs.adaptivecontract
PartitionedMPSs.add_patching
PartitionedMPSs.contract
PartitionedMPSs.extractdiagonal
PartitionedMPSs.makesitediagonal
PartitionedMPSs.projcontract
PartitionedMPSs.projcontract
PartitionedMPSs.project
PartitionedMPSs.rearrange_siteinds
PartitionedMPSs.siteindices
PartitionedMPSs.LazyContraction
— TypeLazy evaluation for contraction of two SubDomainMPS objects.
PartitionedMPSs.PartitionedMPS
— TypePartitionedMPS is a structure that holds multiple MPSs (SubDomainMPS) that are associated with different non-overlapping projectors.
PartitionedMPSs.Projector
— TypeA projector represents a projection of a tensor from a set of its indices to integers. Each index is projected to a positive integer.
PartitionedMPSs.Projector
— MethodConstructing a projector from a single pair of index and integer.
PartitionedMPSs.SubDomainMPS
— TypeAn MPS with a projector.
Base.:&
— Methoda & b
represents the intersection of the indices that a
and b
are projected at.
Base.:+
— MethodAdd two PartitionedMPS objects.
If the two projects have the same projectors in the same order, the resulting PartitionedMPS will have the same projectors in the same order. By default, we use directsum
algorithm to compute the sum and no truncation is performed.
Base.:<
— Methoda < b
means that a
is projected at a subset of the indices that b
is projected at.
Base.:|
— Methoda | b
represents the union of the indices that a
and b
are projected at.
If a
is projected at inds=1
and b
is not projected for the same inds
, then a | b
is not projected for inds
.
Base.getindex
— MethodIndexing for PartitionedMPS. This is deprecated and will be removed in the future.
Base.isdisjoint
— MethodReturn if projectors are not overlapping
Base.keys
— MethodReturn the keys, i.e., projectors of the PartitionedMPS.
Base.length
— MethodGet the number of sites in the PartitionedMPS
Base.values
— MethodReturn the values, i.e., SubDomainMPS of the PartitionedMPS.
LinearAlgebra.norm
— MethodReturn the norm of the PartitionedMPS.
PartitionedMPSs._add_patching
— MethodAdd multiple SubDomainMPS objects on the same projector.
If the bond dimension of the result reaches maxdim
, perform patching recursively to reduce the bond dimension.
PartitionedMPSs._next_projindex
— MethodReturn the next index to be projected.
PartitionedMPSs.adaptive_patching
— MethodAdaptive patching
Do patching recursively to reduce the bond dimension. If the bond dimension of a SubDomainMPS exceeds maxdim
, perform patching.
PartitionedMPSs.adaptive_patching
— MethodAdaptive patching
Do patching recursively to reduce the bond dimension. If the bond dimension of a SubDomainMPS exceeds maxdim
, perform patching.
PartitionedMPSs.adaptivecontract
— FunctionPerform contruction of two PartitionedMPS objects.
The SubDomainMPS objects of each PartitionedMPS do not overlap with each other. This makes the algorithm much simpler
PartitionedMPSs.add_patching
— MethodAdd multiple PartitionedMPS objects.
PartitionedMPSs.contract
— MethodContract two Blocked MPS objects.
At each site, the objects must share at least one site index.
PartitionedMPSs.extractdiagonal
— MethodExtract diagonal of the PartitionedMPS for s
, s'
, ... for a given site index s
, where s
must have a prime level of 0.
PartitionedMPSs.makesitediagonal
— MethodMake the PartitionedMPS diagonal for a given site index s
by introducing a dummy index s'
.
PartitionedMPSs.projcontract
— MethodProject two SubDomainMPS objects to proj
before contracting them. The results are summed.
PartitionedMPSs.projcontract
— MethodProject two SubDomainMPS objects to proj
before contracting them.
PartitionedMPSs.project
— MethodProject the LazyContraction object to prj
before evaluating it.
This may result in projecting the external indices of a
and b
.
PartitionedMPSs.rearrange_siteinds
— MethodRearrange the site indices of the PartitionedMPS according to the given order. If nessecary, tensors are fused or split to match the new order.
PartitionedMPSs.siteindices
— MethodReturn the site indices of the PartitionedMPS. The site indices are returned as a vector of sets, where each set corresponds to the site indices at each site.