peps

Function peps 

Source
pub fn peps(
    length: usize,
    depth: usize,
    physical_dim: u64,
    virtual_dim: u64,
    layers: usize,
) -> Tensor
Expand description

Generates the structure for a PEPS with length x depth dimensions and with layers layers.

The EdgeIndex in the PEPS bond_dims for each layer is ordered as physical bonds to previous layer, physical bonds to next layer, vertical virtual bonds, horizontal virtual bonds.

Each new layer other than the final layer adds:

  • p = length * depth physical bonds
  • vv = (length - 1) * depth vertical virtual bonds
  • vh = (depth - 1) * length horizontal virtual bonds

Bonds for the kth layer, where k is not the initial or final layer, then run from:

  • physical bonds to previous layer: (k-1) * (p+vv+vh): (kp) + (k-1) * (vv+vh)
  • physical bonds to next layer: k * (p+vv+vh)

§Arguments

  • length - length of the PEPS
  • depth - depth of the PEPS
  • physical_dim - physical dimension of the PEPs
  • virtual_dim - virtual bond dimension between lattice sites in the PEPs
  • layers - number of operator layers in PEPS, 0 layers returns an inner product of two states.

§Returns

Tensor representing a PEPS.

§Panics

Panics if length < 2 or depth < 2.