quimb.operator.pepobuilder

Tools for building projected entangled pair operators (PEPOs) from arbitrary local terms.

Functions

make_w_array(Lx, Ly, i, j, A, B, C[, cyclic, dtype])

PEPO_nearest_neighbor(A, B, C, Lx, Ly[, cyclic, dtype])

Create a PEPO for a sum of nearest neighbor interactions:

Module Contents

quimb.operator.pepobuilder.make_w_array(Lx, Ly, i, j, A, B, C, cyclic=False, dtype=None)
quimb.operator.pepobuilder.PEPO_nearest_neighbor(A, B, C, Lx, Ly, cyclic=False, dtype=None, **pepo_opts)

Create a PEPO for a sum of nearest neighbor interactions:

\[H = \sum_{\{i,j\}} A_{i} \otimes B_{j} + \sum_i C_{i}\]

where A and B define the left and right hand side of an interaction, and C is an on-site term. For example, the transverse field ising model can be written with A = -j * Z, B = Z, and C = -h * X.

Parameters:
  • A (array_like) – The left hand side interaction matrix.

  • B (array_like) – The right hand side interaction matrix.

  • C (array_like) – The on-site interaction matrix.

  • Lx (int) – The number of sites in the x-direction.

  • Ly (int) – The number of sites in the y-direction.

  • dtype (str or dtype, optional) – The data type of the PEPO tensors. If not provided, it will be inferred from A, B, and C.

  • pepo_opts (dict, optional) – Additional options to pass to the qtn.PEPO constructor.

Return type:

PEPO