Calculate the new CTMRG tensors for a single step (varipeps.ctmrg.absorption)

varipeps.ctmrg.absorption.do_absorption_step(peps_tensors: Sequence[Array], unitcell: PEPS_Unit_Cell, config: VariPEPS_Config, state: VariPEPS_Global_State) PEPS_Unit_Cell[source]

Calculate the all CTMRG tensors after one absorption step and returns the updated unitcell.

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

  • unitcell (PEPS_Unit_Cell) – The unitcell to work on.

  • 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:

New instance of the unitcell with the all updated CTMRG tensors of all elements of the unitcell.

Return type:

PEPS_Unit_Cell

varipeps.ctmrg.absorption.do_absorption_step_split_transfer(peps_tensors: Sequence[Array], unitcell: PEPS_Unit_Cell, config: VariPEPS_Config, state: VariPEPS_Global_State) PEPS_Unit_Cell[source]

Calculate the all CTMRG tensors after one absorption step and returns the updated unitcell. This functions uses the CTMRG method with split transfer matrices for the bra and ket layer.

Parameters:
Returns:

New instance of the unitcell with the all updated CTMRG tensors of all elements of the unitcell.

Return type:

PEPS_Unit_Cell

varipeps.ctmrg.absorption.do_bottom_absorption(peps_tensors: Sequence[Array], unitcell: PEPS_Unit_Cell, config: VariPEPS_Config, state: VariPEPS_Global_State) PEPS_Unit_Cell[source]

Calculate the bottom CTMRG tensors after one absorption step and returns the updated unitcell.

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

  • unitcell (PEPS_Unit_Cell) – The unitcell to work on.

  • 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:

New instance of the unitcell with the updated bottom CTMRG tensors of all elements of the unitcell.

Return type:

PEPS_Unit_Cell

varipeps.ctmrg.absorption.do_bottom_absorption_split_transfer(peps_tensors: Sequence[Array], unitcell: PEPS_Unit_Cell, config: VariPEPS_Config, state: VariPEPS_Global_State) PEPS_Unit_Cell[source]

Calculate the left CTMRG tensors after one absorption step and returns the updated unitcell. This functions uses the CTMRG method with split transfer matrices for the bra and ket layer.

Parameters:
Returns:

New instance of the unitcell with the updated left CTMRG tensors of all elements of the unitcell.

Return type:

PEPS_Unit_Cell

varipeps.ctmrg.absorption.do_left_absorption(peps_tensors: Sequence[Array], unitcell: PEPS_Unit_Cell, config: VariPEPS_Config, state: VariPEPS_Global_State) PEPS_Unit_Cell[source]

Calculate the left CTMRG tensors after one absorption step and returns the updated unitcell.

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

  • unitcell (PEPS_Unit_Cell) – The unitcell to work on.

  • 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:

New instance of the unitcell with the updated left CTMRG tensors of all elements of the unitcell.

Return type:

PEPS_Unit_Cell

varipeps.ctmrg.absorption.do_left_absorption_split_transfer(peps_tensors: Sequence[Array], unitcell: PEPS_Unit_Cell, config: VariPEPS_Config, state: VariPEPS_Global_State) PEPS_Unit_Cell[source]

Calculate the left CTMRG tensors after one absorption step and returns the updated unitcell. This functions uses the CTMRG method with split transfer matrices for the bra and ket layer.

Parameters:
Returns:

New instance of the unitcell with the updated left CTMRG tensors of all elements of the unitcell.

Return type:

PEPS_Unit_Cell

varipeps.ctmrg.absorption.do_right_absorption(peps_tensors: Sequence[Array], unitcell: PEPS_Unit_Cell, config: VariPEPS_Config, state: VariPEPS_Global_State) PEPS_Unit_Cell[source]

Calculate the right CTMRG tensors after one absorption step and returns the updated unitcell.

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

  • unitcell (PEPS_Unit_Cell) – The unitcell to work on.

  • 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:

New instance of the unitcell with the updated right CTMRG tensors of all elements of the unitcell.

Return type:

PEPS_Unit_Cell

varipeps.ctmrg.absorption.do_right_absorption_split_transfer(peps_tensors: Sequence[Array], unitcell: PEPS_Unit_Cell, config: VariPEPS_Config, state: VariPEPS_Global_State) PEPS_Unit_Cell[source]

Calculate the right CTMRG tensors after one absorption step and returns the updated unitcell. This functions uses the CTMRG method with split transfer matrices for the bra and ket layer.

Parameters:
Returns:

New instance of the unitcell with the updated right CTMRG tensors of all elements of the unitcell.

Return type:

PEPS_Unit_Cell

varipeps.ctmrg.absorption.do_top_absorption(peps_tensors: Sequence[Array], unitcell: PEPS_Unit_Cell, config: VariPEPS_Config, state: VariPEPS_Global_State) PEPS_Unit_Cell[source]

Calculate the top CTMRG tensors after one absorption step and returns the updated unitcell.

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

  • unitcell (PEPS_Unit_Cell) – The unitcell to work on.

  • 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:

New instance of the unitcell with the updated top CTMRG tensors of all elements of the unitcell.

Return type:

PEPS_Unit_Cell

varipeps.ctmrg.absorption.do_top_absorption_split_transfer(peps_tensors: Sequence[Array], unitcell: PEPS_Unit_Cell, config: VariPEPS_Config, state: VariPEPS_Global_State) PEPS_Unit_Cell[source]

Calculate the top CTMRG tensors after one absorption step and returns the updated unitcell. This functions uses the CTMRG method with split transfer matrices for the bra and ket layer.

Parameters:
Returns:

New instance of the unitcell with the updated top CTMRG tensors of all elements of the unitcell.

Return type:

PEPS_Unit_Cell