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 Aout of JA is linked with the Bin 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.