toqito.channel_props.is_herm_preserving

toqito.channel_props.is_herm_preserving(phi, rtol=1e-05, atol=1e-08)[source]

Determine whether the given channel is Hermitian-preserving [WatH18].

A map \(\Phi \in \text{T} \left(\mathcal{X}, \mathcal{Y} \right)\) is Hermitian-preserving if it holds that

\[\Phi(H) \in \text{Herm}(\mathcal{Y})\]

for every Hermitian operator \(H \in \text{Herm}(\mathcal{X})\).

Examples

The map \(\Phi\) defined as

\[\Phi(X) = X - U X U^*\]

is Hermitian-preserving, where

\[\begin{split}U = \frac{1}{\sqrt{2}} \begin{pmatrix} 1 & 1 \\ -1 & 1 \end{pmatrix}.\end{split}\]
>>> import numpy as np
>>> from toqito.channel_props import is_herm_preserving
>>> unitary_mat = np.array([[1, 1], [-1, 1]]) / np.sqrt(2)
>>> kraus_ops = [[np.identity(2), np.identity(2)], [unitary_mat, -unitary_mat]]
>>> is_herm_preserving(kraus_ops)
True

We may also verify whether the corresponding Choi matrix of a given map is Hermitian-preserving. The swap operator is the Choi matrix of the transpose map, which is Hermitian-preserving as can be seen as follows:

>>> import numpy as np
>>> from toqito.perms import swap_operator
>>> from toqito.channel_props import is_herm_preserving
>>> unitary_mat = np.array([[1, 1], [-1, 1]]) / np.sqrt(2)
>>> choi_mat = swap_operator(3)
>>> is_herm_preserving(choi_mat)
True

References

[WatH18]

Watrous, John. “The theory of quantum information.” Section: “Linear maps of square operators”. Cambridge University Press, 2018.

Parameters:
  • phi – The channel provided as either a Choi matrix or a list of Kraus operators.

  • rtol – The relative tolerance parameter (default 1e-05).

  • atol – The absolute tolerance parameter (default 1e-08).

Returns:

True if the channel is Hermitian-preserving, and False otherwise.