Defining tensor networks
Unit cells
TensorRenormalizationGroups.AbstractUnitCell — Typeabstract 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.
TensorRenormalizationGroups.UnitCell — Typestruct 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.
Geometry
TensorRenormalizationGroups.AbstractUnitCellGeometry — Typeabstract type AbstractUnitCellGeometryAbstract supertype of all unit cell lattice geometries.
TensorRenormalizationGroups.Square — Typestruct Square <: AbstractUnitCellGeometrySingleton type representing a standard square lattice geometry with coordination number 4.
TensorRenormalizationGroups.SquareSymmetric — Typestruct SquareSymmetric <: AbstractUnitCellGeometrySingleton 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.Tensor-specific
TensorRenormalizationGroups.CompositeTensor — TypeCompositeTensor{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.
TensorRenormalizationGroups.tensortype — Functiontensortype(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.
TensorRenormalizationGroups.virtualspace — Functionvirtualspace(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.
TensorRenormalizationGroups.swapaxes — Functionswapaxes(tensor)Swap the horizontal and the vertical virtual bonds of an object.
TensorRenormalizationGroups.invertaxes — Functioninvertaxes(tensor)Invert the horizontal and the vertical bonds of an object t, that is, south ↔ north and east ↔ west.