channel_props.is_unitary¶
Determines if a channel is unitary.
Functions¶
|
Given a quantum channel, determine if it is unitary. |
Module Contents¶
- channel_props.is_unitary.is_unitary(phi)¶
Given a quantum channel, determine if it is unitary.
(Section 2.2.1: Definitions and Basic Notions Concerning Channels from [1]).
Let \(\mathcal{X}\) be a complex Euclidean space an let \(U \in U(\mathcal{X})\) be a unitary operator. Then a unitary channel is defined as:
\[\Phi(X) = U X U^*.\]Examples
The identity channel is one example of a unitary channel:
\[\begin{split}U = \begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix}.\end{split}\]We can verify this as follows:
>>> from toqito.channel_props import is_unitary >>> import numpy as np >>> kraus_ops = [[np.identity(2), np.identity(2)]] >>> is_unitary(kraus_ops) True
We can also specify the input as a Choi matrix. For instance, consider the Choi matrix corresponding to the \(2\)-dimensional completely depolarizing channel.
\[\begin{split}\Omega = \frac{1}{2} \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{pmatrix}.\end{split}\]We may verify that this channel is not a unitary channel.
>>> from toqito.channels import depolarizing >>> from toqito.channel_props import is_unitary >>> is_unitary(depolarizing(2)) False
References
[1]John Watrous. The Theory of Quantum Information. Cambridge University Press, 2018. URL: https://johnwatrous.com/wp-content/uploads/TQI.pdf, doi:10.1017/9781316848142.
- Parameters:
phi (numpy.ndarray | list[list[numpy.ndarray]]) – The channel provided as either a Choi matrix or a list of Kraus operators.
- Returns:
True
if the channel is a unitary channel, andFalse
otherwise.- Return type:
bool