Mapping of Floret-Pentagon structures (varipeps.mapping.florett_pentagon)

class varipeps.mapping.florett_pentagon.Florett_Pentagon_Expectation_Value(black_gates: Sequence[Array], green_gates: Sequence[Array], blue_gates: Sequence[Array], real_d: int, normalization_factor: int = 9, is_spiral_peps: bool = False, spiral_unitary_operator: Array | None = None)

Bases: Expectation_Model

Class to calculate expectation values for a mapped Florett Pentagon structure.

Structure of the floret-pentagon lattice with the smallest possible unit cell Structure of the floret-pentagon lattice with the smallest possible unit cell
Structure of the floret-pentagon lattice with the bond types marked in color Structure of the floret-pentagon lattice with the bond types marked in color

Parameters:
  • black_gates (sequence of jax.numpy.ndarray) – Sequence with the gates that should be applied to the bonds marked in black in the image above.

  • green_gates (sequence of jax.numpy.ndarray) – Sequence with the gates that should be applied to the bonds marked in green in the image above.

  • blue_gates (sequence of jax.numpy.ndarray) – Sequence with the gates that should be applied to the bonds marked in blue in the image above.

  • real_d (int) – Physical dimension of a single site before mapping.

  • normalization_factor (int, optional) – Factor which should be used to normalize the calculated values. Likely will be 9 for the a single layer structure.

    Default: 9

  • is_spiral_peps (bool, optional) – Flag if the expectation value is for a spiral iPEPS ansatz.

    Default: False

  • spiral_unitary_operator (jax.numpy.ndarray, optional) – Operator used to generate unitary for spiral iPEPS ansatz. Required if spiral iPEPS ansatz is used.

    Default: None

__call__(peps_tensors: Sequence[Array], unitcell: PEPS_Unit_Cell, spiral_vectors: Array | Sequence[Array] | None = None, *, normalize_by_size: bool = True, only_unique: bool = True, return_single_gate_results: bool = False) Array | List[Array]

Calculate the expectation value for PEPS unitcell depending on the gates set in the class.

Parameters:
  • peps_tensors (sequence of jax.numpy.ndarray) – The sequence of unique PEPS tensors in the unitcell.

  • unitcell (PEPS_Unit_Cell) – The PEPS unitcell.

  • spiral_vectors (single or sequence of jax.numpy.ndarray, optional) – If the expectation value is for a spiral iPEPS ansatz, in this argument the wavevectors are expected.

    Default: None

Keyword Arguments:
  • normalize_by_size (bool, optional) – Flag if the expectation value should be normalized by the number of tensors in the unitcell.

    Default: True

  • only_unique (bool, optional) – Flag if the expectation value should be calculated just once for each unique PEPS tensor in the unitcell.

    Default: True

Returns:

The expectation values for all gates. Single tensor if only one gate is applied.

Return type:

jax.numpy.ndarray or list of jax.numpy.ndarray

black_gates: Sequence[Array]
blue_gates: Sequence[Array]
green_gates: Sequence[Array]
is_spiral_peps: bool = False
classmethod load_from_group(grp: Group)
normalization_factor: int = 9
real_d: int
save_to_group(grp: Group)
spiral_unitary_operator: Array | None = None