adpeps.ipeps.ipeps

iPEPS module for optimization with CTM

For an example of how to run a simulation see adpeps.simulation.run_ipeps_gs

The module is initialized from one of the specific model files, which return the initial boundary and site tensors

The list of parameters is set to the elements of the individual site tensors

Conventions for indices:

  • Site tensors:

    A: [phys, right, top, left, bottom]
    
  • Boundary tensors:

    C1: [right, bottom]
    C2: [left,  bottom]
    C3: [top,   left]
    C4: [right, top]
    T1: [right, left, ket, bra]
    T2: [top,   bottom, ket, bra]
    T3: [right, left, ket, bra]
    T4: [top,   bottom, ket, bra]
    

Order of boundary tensors:

C1 - T1 - C2
|    |    |
T4 - A  - T2
|    |    |
C4 - T3 - C3
class iPEPS[source]

Initialize the iPEPS based on the settings in adpeps.ipeps.config

converge_boundaries()[source]

Performs CTM on the boundary tensors until convergence, without gradient tracking

fill(A)[source]

Fill the site tensors with the elements The elements can be specified either as a list of (d,D,D,D,D)-dimensional arrays or one 1-dimensional array of all elements concatenated

numel()[source]

Number of variational parameters

parse_elements(elements)[source]

Returns site tensors filled with the input elements

run(params)[source]

Run the simulation

Parameters

params (jax._src.numpy.lax_numpy.ndarray) – variational parameters

Returns

energy of iPEPS

Return type

ndarray

class iPEPS_exci[source]

Excited-state variant of the iPEPS class

fill(B)[source]

Fill the site tensors with the elements The elements can be specified either as a list of (d,D,D,D,D)-dimensional arrays or one 1-dimensional array of all elements concatenated

init_A_tensor(d, D, pattern)[source]

The elements will be randomized based on sim_config.seed

init_ctm_tensors(A, Ad)[source]

Returns initital boundary T-tensors based on the unit cell tensors and empty trivial boundary C-tensors