Calculation of three sites expectation values

varipeps.expectation.three_sites.calc_three_sites_triangle_without_bottom_left_multiple_gates(peps_tensors: Sequence[Array], peps_tensor_objs: Sequence[PEPS_Tensor], gates: Sequence[Array]) List[Array]

Calculate the three site expectation values for three as triangle ordered PEPS tensor and their environment without the bottom-left tensor.

The order of the PEPS sequence have to be [top-left, top-right, bottom-left, bottom-right].

The gate is applied in the order [top-left, top-right, bottom-right].

Parameters:
  • peps_tensors (sequence of jax.numpy.ndarray) – The PEPS tensor arrays. Have to be the same objects as the tensor attribute of the peps_tensor_obj argument.

  • peps_tensor_objs (sequence of PEPS_Tensor) – PEPS tensor objects.

  • gates (sequence of jax.numpy.ndarray) – Sequence with the gates which should be applied to the PEPS tensors. Gates are expected to be a matrix with first axis corresponding to the Hilbert space and the second axis corresponding to the dual room.

Returns:

List with the calculated expectation values of each gate.

Return type:

list of jax.numpy.ndarray

varipeps.expectation.three_sites.calc_three_sites_triangle_without_bottom_left_single_gate(peps_tensors: Sequence[Array], peps_tensor_objs: Sequence[PEPS_Tensor], gate: Array) Array

Calculate the two site expectation value for three as triangle ordered PEPS tensor and their environment without the bottom-left tensor.

The order of the PEPS sequence have to be [top-left, top-right, bottom-left, bottom-right].

The gate is applied in the order [top-left, top-right, bottom-right].

This function just wraps calc_three_sites_triangle_without_bottom_left_multiple_gates.

Parameters:
  • peps_tensors (sequence of jax.numpy.ndarray) – The PEPS tensor arrays. Have to be the same objects as the tensor attribute of the peps_tensor_obj argument.

  • peps_tensor_objs (sequence of PEPS_Tensor) – PEPS tensor objects.

  • gates (sequence of jax.numpy.ndarray) – Gate which should be applied to the PEPS tensors. The gate is expected to be a matrix with first axis corresponding to the Hilbert space and the second axis corresponding to the dual room.

Returns:

Calculated expectation value of the gate.

Return type:

jax.numpy.ndarray

varipeps.expectation.three_sites.calc_three_sites_triangle_without_bottom_right_multiple_gates(peps_tensors: Sequence[Array], peps_tensor_objs: Sequence[PEPS_Tensor], gates: Sequence[Array]) List[Array]

Calculate the three site expectation values for three as triangle ordered PEPS tensor and their environment without the bottom-right tensor.

The order of the PEPS sequence have to be [top-left, top-right, bottom-left, bottom-left].

The gate is applied in the order [top-left, top-right, bottom-left].

Parameters:
  • peps_tensors (sequence of jax.numpy.ndarray) – The PEPS tensor arrays. Have to be the same objects as the tensor attribute of the peps_tensor_obj argument.

  • peps_tensor_objs (sequence of PEPS_Tensor) – PEPS tensor objects.

  • gates (sequence of jax.numpy.ndarray) – Sequence with the gates which should be applied to the PEPS tensors. Gates are expected to be a matrix with first axis corresponding to the Hilbert space and the second axis corresponding to the dual room.

Returns:

List with the calculated expectation values of each gate.

Return type:

list of jax.numpy.ndarray

varipeps.expectation.three_sites.calc_three_sites_triangle_without_bottom_right_single_gate(peps_tensors: Sequence[Array], peps_tensor_objs: Sequence[PEPS_Tensor], gate: Array) Array

Calculate the two site expectation value for three as triangle ordered PEPS tensor and their environment without the bottom-left tensor.

The order of the PEPS sequence have to be [top-left, top-right, bottom-left, bottom-right].

The gate is applied in the order [top-left, top-right, bottom-left].

This function just wraps calc_three_sites_triangle_without_bottom_right_multiple_gates.

Parameters:
  • peps_tensors (sequence of jax.numpy.ndarray) – The PEPS tensor arrays. Have to be the same objects as the tensor attribute of the peps_tensor_obj argument.

  • peps_tensor_objs (sequence of PEPS_Tensor) – PEPS tensor objects.

  • gates (sequence of jax.numpy.ndarray) – Gate which should be applied to the PEPS tensors. The gate is expected to be a matrix with first axis corresponding to the Hilbert space and the second axis corresponding to the dual room.

Returns:

Calculated expectation value of the gate.

Return type:

jax.numpy.ndarray

varipeps.expectation.three_sites.calc_three_sites_triangle_without_top_left_multiple_gates(peps_tensors: Sequence[Array], peps_tensor_objs: Sequence[PEPS_Tensor], gates: Sequence[Array]) List[Array]

Calculate the three site expectation values for three as triangle ordered PEPS tensor and their environment without the top-left tensor.

The order of the PEPS sequence have to be [top-left, top-right, bottom-left, bottom-right].

The gate is applied in the order [top-right, bottom-left, bottom-right].

Parameters:
  • peps_tensors (sequence of jax.numpy.ndarray) – The PEPS tensor arrays. Have to be the same objects as the tensor attribute of the peps_tensor_obj argument.

  • peps_tensor_objs (sequence of PEPS_Tensor) – PEPS tensor objects.

  • gates (sequence of jax.numpy.ndarray) – Sequence with the gates which should be applied to the PEPS tensors. Gates are expected to be a matrix with first axis corresponding to the Hilbert space and the second axis corresponding to the dual room.

Returns:

List with the calculated expectation values of each gate.

Return type:

list of jax.numpy.ndarray

varipeps.expectation.three_sites.calc_three_sites_triangle_without_top_left_single_gate(peps_tensors: Sequence[Array], peps_tensor_objs: Sequence[PEPS_Tensor], gate: Array) Array

Calculate the two site expectation value for three as triangle ordered PEPS tensor and their environment without the top-left tensor.

The order of the PEPS sequence have to be [top-left, top-right, bottom-left, bottom-right].

The gate is applied in the order [top-right, bottom-left, bottom-right].

This function just wraps calc_three_sites_triangle_without_top_left_multiple_gates.

Parameters:
  • peps_tensors (sequence of jax.numpy.ndarray) – The PEPS tensor arrays. Have to be the same objects as the tensor attribute of the peps_tensor_obj argument.

  • peps_tensor_objs (sequence of PEPS_Tensor) – PEPS tensor objects.

  • gates (sequence of jax.numpy.ndarray) – Gate which should be applied to the PEPS tensors. The gate is expected to be a matrix with first axis corresponding to the Hilbert space and the second axis corresponding to the dual room.

Returns:

Calculated expectation value of the gate.

Return type:

jax.numpy.ndarray

varipeps.expectation.three_sites.calc_three_sites_triangle_without_top_right_multiple_gates(peps_tensors: Sequence[Array], peps_tensor_objs: Sequence[PEPS_Tensor], gates: Sequence[Array]) List[Array]

Calculate the three site expectation values for three as triangle ordered PEPS tensor and their environment without the top-right tensor.

The order of the PEPS sequence have to be [top-left, top-right, bottom-left, bottom-right].

The gate is applied in the order [top-left, bottom-left, bottom-right].

Parameters:
  • peps_tensors (sequence of jax.numpy.ndarray) – The PEPS tensor arrays. Have to be the same objects as the tensor attribute of the peps_tensor_obj argument.

  • peps_tensor_objs (sequence of PEPS_Tensor) – PEPS tensor objects.

  • gates (sequence of jax.numpy.ndarray) – Sequence with the gates which should be applied to the PEPS tensors. Gates are expected to be a matrix with first axis corresponding to the Hilbert space and the second axis corresponding to the dual room.

Returns:

List with the calculated expectation values of each gate.

Return type:

list of jax.numpy.ndarray

varipeps.expectation.three_sites.calc_three_sites_triangle_without_top_right_single_gate(peps_tensors: Sequence[Array], peps_tensor_objs: Sequence[PEPS_Tensor], gate: Array) Array

Calculate the two site expectation value for three as triangle ordered PEPS tensor and their environment without the top-right tensor.

The order of the PEPS sequence have to be [top-left, top-right, bottom-left, bottom-right].

The gate is applied in the order [top-left, bottom-left, bottom-right].

This function just wraps calc_three_sites_triangle_without_top_right_multiple_gates.

Parameters:
  • peps_tensors (sequence of jax.numpy.ndarray) – The PEPS tensor arrays. Have to be the same objects as the tensor attribute of the peps_tensor_obj argument.

  • peps_tensor_objs (sequence of PEPS_Tensor) – PEPS tensor objects.

  • gates (sequence of jax.numpy.ndarray) – Gate which should be applied to the PEPS tensors. The gate is expected to be a matrix with first axis corresponding to the Hilbert space and the second axis corresponding to the dual room.

Returns:

Calculated expectation value of the gate.

Return type:

jax.numpy.ndarray