NormDisentangler
full name: tenpy.algorithms.disentangler.NormDisentangler
parent module:
tenpy.algorithms.disentangler
type: class
Inheritance Diagram
Methods
|
|
|
Given theta and U, find U2 maximizing |
- class tenpy.algorithms.disentangler.NormDisentangler(parent)[source]
Bases:
Disentangler
Find optimal U for which the truncation of U|theta> has maximal overlap with U|theta>.
Reads of the following options 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.
disent_trunc_par
dict
Truncation parameters; defaults to trunc_params.
disent_norm_chi
iterable
To find the optimal U it can help to increase chi_max of disent_trunc_par slowly, the default is
range(1, disent_trunc_par['chi_max']+1)
. However, that’s very slow for large chi_max, so we allow to change it. (In fact, it makes the disentangler scale worse than the rest of TEBD.)Arguments and return values are the same as for
disentangle()
.- iter(theta, U, trunc_params)[source]
Given theta and U, find U2 maximizing
<theta|U2 truncate(U |theta>)
.Finds unitary U2 which maximizes Tr(U
- Parameters:
- Returns:
trunc_err (TruncationError) – Norm error discarded during the truncation of
U|theta>
.new_U (
Array
) – Unitary with legs'q0', 'q1', 'q0*', 'q1*'
. Chosen such thatnew_U|theta>
has maximal overlap with the truncatedU|theta>
.