Defining tensor networks

Unit cells

TensorRenormalizationGroups.AbstractUnitCellType
abstract type AbstractUnitCell{G<:AbstractUnitCellGeometry, ElType, A} <: AbstractArray{ElType, 2}

Abstract supertype of all unit cells (periodic boundary conditions) defined on a lattice with geometry G.

source
TensorRenormalizationGroups.UnitCellType
struct UnitCell{G<:AbstractUnitCellGeometry, ElType, A} <: AbstractUnitCell{G<:AbstractUnitCellGeometry, ElType, A}

Container AbstractMatrix type with periodic boundary conditions, and a lattice geometry specific by type parameter G.

source

Geometry

TensorRenormalizationGroups.SquareSymmetricType
struct SquareSymmetric <: AbstractUnitCellGeometry

Singleton type representing a square lattice with reverse cyclic symmetry. For (2,2) unit cell sizes, this defines a checkerboard lattice geometry.

Examples

julia> UnitCell{SquareSymmetric}([1 2 3; 2 3 1; 3 1 2])
3×3 UnitCell{SquareSymmetric, Int64, Matrix{Int64}}:
 1  2  3
 2  3  1
 3  1  2

julia> UnitCell{SquareSymmetric}([1 2; 3 4])
ERROR: ArgumentError: data does not have the required cyclic symmetry for this lattice geometry.
source

Tensor-specific

TensorRenormalizationGroups.CompositeTensorType
CompositeTensor{M,T,S<:IndexSpace,N₁,N₂, ...} <: AbstractTensorMap{T,S,N₁,N₂}

Subtype of AbstractTensorMap for representing a M-layered tensor map, e.g. a tensor and it's conjugate.

source
TensorRenormalizationGroups.tensortypeFunction

tensortype(x) -> AbstractTensorMap

Return the type of tensor associated with object x, if any. Similar to eltype for container types but always returns an AbstractTensorMap. Defined in both the value and type domains.

source
TensorRenormalizationGroups.virtualspaceFunction
virtualspace(tensor, [dir::Integer])

Return an NTuple{4,<:VectorSpace} containing the east, south, west, and north vector spaces associated with the respective bonds, in that order. If dir is provided, then return the corresponding VectorSpace in that tuple.

Note

For custom data types, this function must be specified for use in contraction algorithms.

source
TensorRenormalizationGroups.swapaxesFunction
swapaxes(tensor)

Swap the horizontal and the vertical virtual bonds of an object.

Note

For custom data types, this function must be specified for use in contraction algorithms.

source
TensorRenormalizationGroups.invertaxesFunction
invertaxes(tensor)

Invert the horizontal and the vertical bonds of an object t, that is, south ↔ north and east ↔ west.

Note

For custom data types, this function must be specified for use in contraction algorithms.

source