Calculation of CTMRG projectors (varipeps.ctmrg.projectors)

varipeps.ctmrg.projectors.calc_bottom_projectors(peps_tensors: Sequence[Sequence[Array]], peps_tensor_objs: Sequence[Sequence[PEPS_Tensor]], config: VariPEPS_Config, state: VariPEPS_Global_State) Bottom_Projectors[source]

Calculate the bottom projectors for the CTMRG method.

Parameters:
  • peps_tensors (sequence of sequence of jax.numpy.ndarray) – Nested list of the PEPS tensor arrays. The row (first) index corresponds to the x axis, the column (second) index to y.

  • peps_tensor_objs (sequence of sequence of PEPS_Tensor) – Nested list of the PEPS tensor objects. Same format as for peps_tensors.

  • config (VariPEPS_Config) – Global configuration object of the variPEPS library. Please see its class definition for details.

  • state (VariPEPS_Global_State) – Global state object of the variPEPS library. It is used to transport a common state across different parts of the framework. Please see its class definition for details.

Returns:

The bottom left and right projectors.

Return type:

Bottom_Projectors

varipeps.ctmrg.projectors.calc_bottom_projectors_split_transfer(peps_tensors: Sequence[Sequence[Array]], peps_tensor_objs: Sequence[Sequence[PEPS_Tensor]], config: VariPEPS_Config, state: VariPEPS_Global_State) Bottom_Projectors_Split_Transfer[source]

Calculate the bottom projectors for the CTMRG method. This functions uses the CTMRG method with split transfer matrices for the bra and ket layer.

Parameters:
  • peps_tensors (sequence of sequence of jax.numpy.ndarray) – Nested list of the PEPS tensor arrays. The row (first) index corresponds to the x axis, the column (second) index to y.

  • peps_tensor_objs (sequence of sequence of PEPS_Tensor) – Nested list of the PEPS tensor objects. Same format as for peps_tensors.

Returns:

The left top and bottom projectors for both layer.

Return type:

tuple(jax.numpy.ndarray, jax.numpy.ndarray)

varipeps.ctmrg.projectors.calc_left_projectors(peps_tensors: Sequence[Sequence[Array]], peps_tensor_objs: Sequence[Sequence[PEPS_Tensor]], config: VariPEPS_Config, state: VariPEPS_Global_State) Left_Projectors[source]

Calculate the left projectors for the CTMRG method.

Parameters:
  • peps_tensors (sequence of sequence of jax.numpy.ndarray) – Nested list of the PEPS tensor arrays. The row (first) index corresponds to the x axis, the column (second) index to y.

  • peps_tensor_objs (sequence of sequence of PEPS_Tensor) – Nested list of the PEPS tensor objects. Same format as for peps_tensors.

  • config (VariPEPS_Config) – Global configuration object of the variPEPS library. Please see its class definition for details.

  • state (VariPEPS_Global_State) – Global state object of the variPEPS library. It is used to transport a common state across different parts of the framework. Please see its class definition for details.

Returns:

The left top and bottom projectors.

Return type:

Left_Projectors

varipeps.ctmrg.projectors.calc_left_projectors_split_transfer(peps_tensors: Sequence[Sequence[Array]], peps_tensor_objs: Sequence[Sequence[PEPS_Tensor]], config: VariPEPS_Config, state: VariPEPS_Global_State) Left_Projectors_Split_Transfer[source]

Calculate the left projectors for the CTMRG method. This functions uses the CTMRG method with split transfer matrices for the bra and ket layer.

Parameters:
  • peps_tensors (sequence of sequence of jax.numpy.ndarray) – Nested list of the PEPS tensor arrays. The row (first) index corresponds to the x axis, the column (second) index to y.

  • peps_tensor_objs (sequence of sequence of PEPS_Tensor) – Nested list of the PEPS tensor objects. Same format as for peps_tensors.

Returns:

The left top and bottom projectors for both layer.

Return type:

tuple(jax.numpy.ndarray, jax.numpy.ndarray)

varipeps.ctmrg.projectors.calc_right_projectors(peps_tensors: Sequence[Sequence[Array]], peps_tensor_objs: Sequence[Sequence[PEPS_Tensor]], config: VariPEPS_Config, state: VariPEPS_Global_State) Right_Projectors[source]

Calculate the right projectors for the CTMRG method.

Parameters:
  • peps_tensors (sequence of sequence of jax.numpy.ndarray) – Nested list of the PEPS tensor arrays. The row (first) index corresponds to the x axis, the column (second) index to y.

  • peps_tensor_objs (sequence of sequence of PEPS_Tensor) – Nested list of the PEPS tensor objects. Same format as for peps_tensors.

  • config (VariPEPS_Config) – Global configuration object of the variPEPS library. Please see its class definition for details.

  • state (VariPEPS_Global_State) – Global state object of the variPEPS library. It is used to transport a common state across different parts of the framework. Please see its class definition for details.

Returns:

The right top and bottom projectors.

Return type:

Right_Projectors

varipeps.ctmrg.projectors.calc_right_projectors_split_transfer(peps_tensors: Sequence[Sequence[Array]], peps_tensor_objs: Sequence[Sequence[PEPS_Tensor]], config: VariPEPS_Config, state: VariPEPS_Global_State) Right_Projectors_Split_Transfer[source]

Calculate the right projectors for the CTMRG method. This functions uses the CTMRG method with split transfer matrices for the bra and ket layer.

Parameters:
  • peps_tensors (sequence of sequence of jax.numpy.ndarray) – Nested list of the PEPS tensor arrays. The row (first) index corresponds to the x axis, the column (second) index to y.

  • peps_tensor_objs (sequence of sequence of PEPS_Tensor) – Nested list of the PEPS tensor objects. Same format as for peps_tensors.

Returns:

The left top and bottom projectors for both layer.

Return type:

tuple(jax.numpy.ndarray, jax.numpy.ndarray)

varipeps.ctmrg.projectors.calc_top_projectors(peps_tensors: Sequence[Sequence[Array]], peps_tensor_objs: Sequence[Sequence[PEPS_Tensor]], config: VariPEPS_Config, state: VariPEPS_Global_State) Top_Projectors[source]

Calculate the top projectors for the CTMRG method.

Parameters:
  • peps_tensors (sequence of sequence of jax.numpy.ndarray) – Nested list of the PEPS tensor arrays. The row (first) index corresponds to the x axis, the column (second) index to y.

  • peps_tensor_objs (sequence of sequence of PEPS_Tensor) – Nested list of the PEPS tensor objects. Same format as for peps_tensors.

  • config (VariPEPS_Config) – Global configuration object of the variPEPS library. Please see its class definition for details.

  • state (VariPEPS_Global_State) – Global state object of the variPEPS library. It is used to transport a common state across different parts of the framework. Please see its class definition for details.

Returns:

The top left and right projectors.

Return type:

Top_Projectors

varipeps.ctmrg.projectors.calc_top_projectors_split_transfer(peps_tensors: Sequence[Sequence[Array]], peps_tensor_objs: Sequence[Sequence[PEPS_Tensor]], config: VariPEPS_Config, state: VariPEPS_Global_State) Top_Projectors_Split_Transfer[source]

Calculate the top projectors for the CTMRG method. This functions uses the CTMRG method with split transfer matrices for the bra and ket layer.

Parameters:
  • peps_tensors (sequence of sequence of jax.numpy.ndarray) – Nested list of the PEPS tensor arrays. The row (first) index corresponds to the x axis, the column (second) index to y.

  • peps_tensor_objs (sequence of sequence of PEPS_Tensor) – Nested list of the PEPS tensor objects. Same format as for peps_tensors.

Returns:

The left top and bottom projectors for both layer.

Return type:

tuple(jax.numpy.ndarray, jax.numpy.ndarray)