Supermap

Supermap.ApplyQuSwitch(qs_k, rho_t, rho_c)
Required packages:

QETLAB

Two n-qubit quantum channels \(\mathcal{N}_1\) and \(\mathcal{N}_2\) have Kraus representations \(\{E_i\}_i\) and \(\{F_j\}_j\)

\[W_{ij} = \ket{0}\bra{0}_c\otimes E_i^{(2)}F_j^{(1)} + \ket{1}\bra{1}_c\otimes F_j^{(1)}E_i^{(2)}\]
Parameters:
  • qs_k (numeric) – Kraus operators of the quantum switch channel

  • rho_t (numeric) – Choi matrix of the target quantum state

  • rho_c (numeric) – Choi matrix of the control quantum state

Returns:

Resulting quantum state after applying the quantum switch.

Return type:

numeric

Examples:
rho_out = ApplyQuSwitch(qs_k, rho, rho_c);
% Apply Quantum Switch to specific target state and control state.
Supermap.LinkProd(JA, JB, DIM)

Link Product of two Quantum channels, where A_out of JA is linked with the B_in of JB.

Required packages:

QETLAB

\[J_{\mathcal{B} \circ \mathcal{A}} = J_{\mathcal{A}} * J_{\mathcal{B}} = Tr_1[(J_{\mathcal{A}} \otimes I_2) \cdot (I_0 \otimes J_{\mathcal{B}}^{T_1})],\]
Parameters:
  • JA (numeric) – The choi matrix of the quantum channel A.

  • JB (numeric) – The choi matrix of the quantum channel B.

  • DIM (int) – The dimensions of channel A and channel B.

Returns:

Resulting Choi matrix of the link product of two Choi matrices JA and JB.

Return type:

numeric

Raises:

error – If the dimension of the input state does not match with the pure stabilizer state matrix, an error is raised.

Examples:
% Link product of two Choi matrices JA and JB:
Jout = LinkProd(JA, JB, [Ain, Aout, Bin, Bout]);
Supermap.QSwitch(JN, d)

Quantum Switch Choi Matrices for Control System Measurement when we insert two same quantum channels N, and set the control qubit with \(|+\rangle\).

Required packages:

QETLAB

Parameters:
  • JN (numeric) – Choi matrix of the channel inserted into Quantum Switch.

  • d (int) – Input dimension of the channel.

Returns:

JoutPlus - Choi matrix for the quantum switch when the control system is measured on \(|+\rangle\);

JoutMinus - Choi matrix for the quantum switch when the control system is measured on \(|-\rangle\)

Return type:

numeric

Raises:

error – None.

Examples:
[JoutPlus, JoutMinus] = QSwitch(JN, d);
% Compute Choi matrices for a quantum switch with control system in :math:`|+\rangle`
% and :math:`|-\rangle` states.
Supermap.QSwitch_Kraus(Kraus_o1, Kraus_o2)

Two \(n\)-qubit quantum channels \(\mathcal{N}_1\) and \(\mathcal{N}_2\) have Kraus representations \(\{E_i\}_i\) and \(\{F_j\}_j\)

\[W_{ij} = \ket{0}\bra{0}_c\otimes E_i^{(2)}F_j^{(1)} + \ket{1}\bra{1}_c\otimes F_j^{(1)}E_i^{(2)}\]
Parameters:
  • Kraus_o1 (numeric) – Cell array of Kraus operators for the first channel.

  • Kraus_o2 (numeric) – Cell array of Kraus operators for the second channel.

Returns:

Cell array of quantum switch Kraus operators.

Return type:

numeric

Raises:

error – None.

Examples:
QS_K = QSwitch_Kraus(Kraus_o1, Kraus_o2);
% Generate quantum switch Kraus operators from two sets of Kraus
% operators.