Algorithms
Generic
TensorRenormalizationGroups.AbstractRenormalizationAlgorithm — Typeabstract type AbstractRenormalizationAlgorithmAbstract supertype of all algorithms available in this package.
TensorRenormalizationGroups.AbstractBoundaryAlgorithm — Typeabstract type AbstractBoundaryAlgorithm <: AbstractRenormalizationAlgorithmAbstract supertype of all boundary algorithms
TensorRenormalizationGroups.AbstractGrainingAlgorithm — Typeabstract type AbstractGrainingAlgorithm <: AbstractRenormalizationAlgorithmAbstract supertype of all coarse-graining algorithms.
TensorRenormalizationGroups.AbstractRenormalizationRuntime — Typeabstract type AbstractRenormalizationRuntimeAbstract supertype of all algorithm-specific runtime state objects.
TensorRenormalizationGroups.AbstractBoundaryRuntime — Typeabstract type AbstractBoundaryRuntime <: AbstractRenormalizationRuntimeAbstract supertype of all boundary runtime objects.
TensorRenormalizationGroups.AbstractGrainingRuntime — Typeabstract type AbstractGrainingRuntime <: AbstractRenormalizationRuntimeAbstract supertype of all coarse-graining runtime state objects.
VUMPS
TensorRenormalizationGroups.VUMPS — Typestruct VUMPS <: AbstractBoundaryAlgorithmStores the parameters for the variational uniform matrix product state (VUMPS) boundary algorithm.
Fields
bonddim::Int64: The bond dimension of the boundary.maxiter::Int64: Maximum number of iterations.tol::Float64: Convergence tolerance.verbose::Bool: Whentrue, will print algorithm convergence progress.
Constructor
VUMPS(; bonddim, maxiter=100, tol=1e-12, verbose=true)TensorRenormalizationGroups.VUMPSRuntime — Typestruct VUMPSRuntime{G, AType, CType, FType<:AbstractUnitCell, SType<:AbstractUnitCell} <: AbstractBoundaryRuntimeFields
mps::MPS{G, AType, CType} where {G, AType, CType}: The boundary matrix product state (MPS)fixedpoints::FixedPoints{FType} where FType<:AbstractUnitCell: Left and right fixed points of the transfer matrixsvals::AbstractUnitCell: Singular values used to compute the convergence measure
TensorRenormalizationGroups.MPS — Typestruct MPS{G<:AbstractUnitCellGeometry, AType<:AbstractTensorMap{N, 2}, CType<:AbstractTensorMap{0, 2}}Infinite boundary matrix product state (MPS) in mixed canonical form. MPS tensors have N "physical" indices. Has fields AL, C, AR and derived field AC such that
\[A_L(x,y) C(x,y) \approx C(x - 1, y) A_R(x, y) \approx AC(x, y) \quad \forall x,y \in \Lambda\]
where $\Lambda$ defines the unit cell of geometry G.
Examples
using TensorKit
physbonds = UnitCell(fill(ComplexSpace(2), 2, 1))
virtbonds = UnitCell(fill(ComplexSpace(3), 2, 1))
mps = MPS(rand, ComplexF64, physbonds, virtbonds);
AL, C, AR, AC = mps;
CTensorRenormalizationGroups.FixedPoints — Typestruct FixedPoints{A<:(AbstractUnitCell{G, var"#s290"} where {var"#s290"<:(TensorKit.AbstractTensorMap{T, S, N₁, 2} where {N₁, S, T}), G})} <: TensorRenormalizationGroups.AbstractFixedPointsLeft and right fixed points of the transfer matrix formed from each row-to-row transfer matrix sandwiched between the a boundary MPS and it's adjoint. This struct has two fields :left and :right which can be accessed directly.
CTMRG
TensorRenormalizationGroups.AbstractCornerMethod — Typeabstract type AbstractCornerMethod <: AbstractBoundaryAlgorithmAbstract supertype of all corner-based boundary methods.
TensorRenormalizationGroups.CTMRG — Typestruct CTMRG{SVD<:TensorKit.OrthogonalFactorizationAlgorithm} <: AbstractCornerMethodStores the parameters for the corner transfer matrix renormalization group (CTMRG) boundary algorithm.
Fields
bonddim::Int64: The bond dimension of the boundary.maxiter::Int64: Maximum number of iterations.tol::Float64: Convergence tolerance.verbose::Bool: Whentrue, will print algorithm convergence progress.ptol::Float64: Tolerance used in the pseudoinverse.svdalg::TensorKit.OrthogonalFactorizationAlgorithm: Algorithm used for the SVD. EitherTensorKit.SVD()orTensorKit.SDD().randinit::Bool: Iftrue, intialize with random tensors.
Constructor
CTMRG(; bonddim, maxiter=100, tol=1e-12, verbose=true, ptol=5e-8, svdalg=TensorKit.SVD(), randinit=false)TensorRenormalizationGroups.CornerMethodTensors — Typestruct CornerMethodTensors{C<:Corners, E<:Edges, P<:TensorRenormalizationGroups.Projectors, N<:(AbstractUnitCell{G, ElType} where {G, ElType<:TensorKit.AbstractTensorMap})}Concreate struct containing tensors required for a corner method. Fields are not public. Tensors can be accessed using the field getters corners and edges.
TensorRenormalizationGroups.CornerMethodRuntime — Typestruct CornerMethodRuntime{T<:CornerMethodTensors, S<:TensorRenormalizationGroups.CornerSingularValues} <: AbstractRenormalizationRuntimeRuntime state of a corner method renormalization algorithm. Fields are not public. Tensors can be accessed using the field getters corners and edges.
TensorRenormalizationGroups.Corners — Typestruct Corners{C<:AbstractUnitCell}Struct containing the corner tensors C1, C2, C3 and C4 stored in it's only field :data as a tuple in that order.
TensorRenormalizationGroups.Edges — Typestruct Edges{E<:AbstractUnitCell}Struct containing the edge tensors T1, T2, T3 and T4 stored in it's only field :data as a tuple in that order.
TensorRenormalizationGroups.corners — Functioncorners(x::Union{CornerMethodTensors, CornerMethodRuntime}) -> CornersReturn the corner tensors associated with the object x.
TensorRenormalizationGroups.edges — Functionedges(x::Union{CornerMethodTensors, CornerMethodRuntime}) -> EdgesReturn the edge tensors associated with the object x.
TRG
TensorRenormalizationGroups.TRG — Typestruct TRG{T<:TensorKit.TruncationScheme} <: AbstractRenormalizationAlgorithmStores the parameters for the tensor renormalization group (TRG) coarse graining algorithm.
Fields
trunc::TensorKit.TruncationScheme: TheTruncationSchemeused during the SVD step. SeeTensorKit.TruncationSchemeandTensorKit.tsvdfor more details.maxiter::Int64: Maximum number of iterations.tol::Float64: Convergence tolerance.verbose::Bool: Whentrue, will print algorithm convergence progress.
Constructor
TRG(; trunc, maxiter=20, tol=1e-12, verbose=true)TensorRenormalizationGroups.TRGRuntime — Typestruct TRGRuntime{AType, SType} <: AbstractGrainingRuntimeRuntime objects containing state of a TRG algorithm. The current cumulative value of the contraction can be obtained using the field :
Fields
tensors::Any: Coarse-grained tensors at the current stage of the algorithms runtime.svals::Any: Singular values used for computing convergence tolerance.cumsum::Matrix{Float64}: The current cumulative value of the contraction with respect to each tensor in the unit cell.