# RenyiDisentangler¶

Inheritance Diagram Methods

 RenyiDisentangler.__init__(parent) Initialize self. RenyiDisentangler.iter(theta, U) Given theta and U, find another U which reduces the 2nd Renyi entropy.
class tenpy.algorithms.purification_tebd.RenyiDisentangler(parent)[source]

Iterative find U which minimized the second Renyi entropy.

Reads of the following TEBD_params as break criteria for the iteration:

key

type

description

disent_eps

float

Break, if the change in the Renyi entropy S(n=2) per iteration is smaller than this value.

disent_max_iter

float

Maximum number of iterations to perform.

Arguments and return values are the same as for disentangle().

iter(theta, U)[source]

Given theta and U, find another U which reduces the 2nd Renyi entropy.

Temporarily view the different U as independt and mimizied one of them - this corresponds to a linearization of the cost function. Defining Utheta as the application of U to theata, and combining the p legs of theta with 'vL', 'vR', this function contracts:

|     .----theta----.
|     |    |   |    |
|     |    q0  q1   |
|     |             |
|     |        q1*  |
|     |        |    |
|     |  .-Utheta*-.
|     |  | |
|     |  .-Utheta--.
|     |        |    |
|     |    q0* |    |
|     |    |   |    |
|     .----Utheta*-.


The trace yields the second Renyi entropy S2. Further, we calculate the unitary U with maximum overlap with this network.

Parameters
Returns

• S2 (float) – Renyi entopy (n=2), $$S2 = \frac{1}{1-2} \log tr(\rho_L^2)$$ of U theta.

• new_U (Array) – Unitary with legs 'q0', 'q1', 'q0*', 'q1*', which should disentangle theta.