RGRDMT.CGmapping_from_ALMethod
CGmapping_from_AL(AL::AbstractTensorMap, k0::Integer, n::Integer)

Constructs a CG mapping from an abstract tensor map AL.

Arguments

  • AL::AbstractTensorMap: The abstract tensor map.
  • k0::Integer: The value of k0.
  • n::Integer: The value of n.

Returns

  • If n == k0, returns a tuple (V0, V1, V2) where:
    • V0: A matrix of size D^2 x (d^k0) representing the finite part of the CG mapping.
    • V1: A sparse matrix of size D^2 x (D^2 * d) representing the left-infinite part of the CG mapping.
    • V2: A sparse matrix of size D^2 x (D^2 * d) representing the right-infinite part of the CG mapping.
  • If n != k0, returns a tuple (V0, L, R) where:
    • V0: A matrix of size D^2 x (d^k0) representing the finite part of the CG mapping.
    • L: A matrix of size D^2 x (D^2 * d) representing the left-infinite part of the CG mapping.
    • R: A matrix of size D^2 x (D^2 * d) representing the right-infinite part of the CG mapping.
source
RGRDMT.approx_ground_stateMethod

approxgroundstate(H::MPOHamiltonian{T}, ψ_good::InfiniteMPS, d::Integer, D::Integer) where {T}

Approximates the ground state of a given Hamiltonian using the variational uniform matrix product state (VUMPS) algorithm.

Arguments

  • H::MPOHamiltonian{T}: The Hamiltonian for which the ground state is to be approximated.
  • ψ_good::InfiniteMPS: An initial guess for the ground state.
  • d::Integer: The local Hilbert space dimension.
  • D::Integer: The bond dimension.

Returns

  • ψ_approx::InfiniteMPS: The approximate ground state.
source
RGRDMT.good_ground_stateMethod
good_ground_state(H::MPOHamiltonian{T}, D::Integer) where {T}

Compute the ground state of a given MPOHamiltonian using the VUMPS algorithm.

Arguments

  • H::MPOHamiltonian{T}: The MPOHamiltonian representing the Hamiltonian of the system.
  • D::Integer: The bond dimension of the MPS.

Returns

  • groundstate: The ground state of the system.
source
RGRDMT.load_HamiltonianMethod
load_Hamiltonian(filename::String)

Load the Hamiltonian matrix and the exact eigenvalues from a file.

This function is only used when loading ground state MPS from MATLAB computation using VUMPS implemented here

Arguments

  • filename::String: The name of the file containing the Hamiltonian matrix.

Returns

  • H: The Hamiltonian matrix.
  • Eexact: The exact eigenvalues.
source
RGRDMT.load_MPSMethod
load_MPS(filename::String, D::Integer)

Load an MPS (Matrix Product State) from a file.

Arguments

  • filename::String: The path to the file containing the MPS data.
  • D::Integer: The virtual bond dimension of the MPS.

Returns

  • ψ: The loaded MPS as an InfiniteMPS object.
  • upperBdFromMPS: The upper bound of ground state energy achieved by the MPS.
source
RGRDMT.one_step_approx_dualMethod

onestepapprox_dual(h::AbstractMatrix{V}, n::Integer, optimizer=SCS.Optimizer) where {V}

Compute the one-step approximation of the dual energy for a given Hamiltonian.

Arguments

  • h::AbstractMatrix{V}: The Hamiltonian matrix.
  • n::Integer: The number of spins.
  • optimizer=SCS.Optimizer: The optimizer to use for solving the optimization problem.

Returns

  • ElocTIRig::Float64: The one-step approximation of the dual energy with the lowest eigenvalue added.
  • ElocTI::Float64: The one-step approximation of the dual energy.

Example

source
RGRDMT.two_step_approxMethod
two_step_approx(h::AbstractMatrix{V}, D::Integer, n::Integer,
    W2::AbstractMatrix{T}, L2::AbstractMatrix{T}, R2::AbstractMatrix{T},
    optimizer=SCS.Optimizer) where {V,T}

Approximates a two-step Renormalization Group (RG) transformation for a given Hamiltonian h using the specified parameters.

Arguments

  • h::AbstractMatrix{V}: The input Hamiltonian matrix.
  • D::Integer: The bond dimension.
  • n::Integer: The number of RG steps.
  • W2::AbstractMatrix{T}: The second layer of the RG transformation.
  • L2::AbstractMatrix{T}: The left transformation matrix for the second layer.
  • R2::AbstractMatrix{T}: The right transformation matrix for the second layer.
  • optimizer=SCS.Optimizer: The optimizer to use for solving the optimization problem.

Returns

The objective value of the optimization problem.

Example

source