toqito.state_props.renyi_entropy

Calculates the Rényi entropy metric of a quantum state.

Module Contents

toqito.state_props.renyi_entropy.renyi_entropy(rho, alpha)[source]

Compute the Rényi entropy of a density matrix [@Muller_2013_Renyi_Generalization].

Let (P in text{Pos}(mathcal{X})) be a positive semidefinite operator, for a complex Euclidean space (mathcal{X}). Then one defines the Rényi entropy of order (alphageqslant0) as

[

H_{alpha}(P) = H_{alpha}(lambda(P)),

]

where (lambda(P)) is the vector of eigenvalues of (P) and where the function (H(cdot)) is the classical Rényi entropy of order (alpha) defined as

[

H_{alpha}(u) = frac{1}{1-alpha}logleft(sum_{a in Sigma} u(a)^{alpha}right),

]

where the (log) function is assumed to be the base-2 logarithm, and where (Sigma) is an alphabet where (u in [0, infty)^{Sigma}) is a vector of nonnegative real numbers indexed by (Sigma). It recovers the von Neumann entropy for (alpha=1) and the min-entropy for (alpha=+infty).

Examples

Consider the following Bell state:

[

u = frac{1}{sqrt{2}} left(|00 rangle + |11 rangle right) in mathcal{X}.

]

The corresponding density matrix of (u) may be calculated by:

[
rho = u u^* = frac{1}{2} begin{pmatrix}

1 & 0 & 0 & 1 \ 0 & 0 & 0 & 0 \ 0 & 0 & 0 & 0 \ 1 & 0 & 0 & 1

end{pmatrix} in text{D}(mathcal{X}).

]

Calculating the Rényi entropy of order (2) of (rho) in |toqito⟩ can be done as follows.

```python exec=”1” source=”above” from toqito.state_props import renyi_entropy import numpy as np test_input_mat = np.array(

[[1 / 2, 0, 0, 1 / 2], [0, 0, 0, 0], [0, 0, 0, 0], [1 / 2, 0, 0, 1 / 2]]

)

print(renyi_entropy(test_input_mat, 2)) ```

Consider the density operator corresponding to the maximally mixed state of dimension two

[

rho = frac{1}{2} begin{pmatrix}

1 & 0 \ 0 & 1

end{pmatrix}.

]

As this state is maximally mixed, the Rényi entropy of (rho) is equal to one for all orders (alpha). We can see this in |toqito⟩ as follows.

`python exec="1" source="above" from toqito.state_props import renyi_entropy import numpy as np rho = 1/2 * np.identity(2) print(renyi_entropy(rho, 3/2)) `

Parameters:
  • rho (numpy.ndarray) – Density operator.

  • alpha (float) – Order for the Rényi entropy. Note that numerical instability may happen for small positive values because

  • decomposition. (of the computation of the spectral)

Returns:

The Rényi entropy of order alpha of rho.

Return type:

float