The CHSH extended nonlocal game

Following our analysis of the BB84 game, let us now define another important extended nonlocal game, \(G_{CHSH}\). This game is defined by a winning condition reminiscent of the standard CHSH nonlocal game.

Let \(\Sigma_A = \Sigma_B = \Gamma_A = \Gamma_B = \{0,1\}\), define a collection of measurements \(\{V(a,b|x,y) : a \in \Gamma_A, b \in \Gamma_B, x \in \Sigma_A, y \in \Sigma_B\} \subset \text{Pos}(\mathcal{R})\) such that

\[\begin{split}\begin{aligned} V(0,0|0,0) = V(0,0|0,1) = V(0,0|1,0) = \begin{pmatrix} 1 & 0 \\ 0 & 0 \end{pmatrix}, \\ V(1,1|0,0) = V(1,1|0,1) = V(1,1|1,0) = \begin{pmatrix} 0 & 0 \\ 0 & 1 \end{pmatrix}, \\ V(0,1|1,1) = \frac{1}{2}\begin{pmatrix} 1 & 1 \\ 1 & 1 \end{pmatrix}, \\ V(1,0|1,1) = \frac{1}{2} \begin{pmatrix} 1 & -1 \\ -1 & 1 \end{pmatrix}, \end{aligned}\end{split}\]

define

\[\begin{split}V(a,b|x,y) = \begin{pmatrix} 0 & 0 \\ 0 & 0 \end{pmatrix}\end{split}\]

for all \(a \oplus b \not= x \land y\), and define \(\pi(0,0) = \pi(0,1) = \pi(1,0) = \pi(1,1) = 1/4\).

In the event that \(a \oplus b \not= x \land y\), the referee’s measurement corresponds to the zero matrix. If instead it happens that \(a \oplus b = x \land y\), the referee then proceeds to measure with respect to one of the measurement operators. This winning condition is reminiscent of the standard CHSH nonlocal game.

We can encode \(G_{CHSH}\) in a similar way using numpy arrays as we did for \(G_{BB84}\).

53 # Define the CHSH extended nonlocal game.
54 import numpy as np
55
56 # The dimension of referee's measurement operators:
57 dim = 2
58 # The number of outputs for Alice and Bob:
59 a_out, b_out = 2, 2
60 # The number of inputs for Alice and Bob:
61 a_in, b_in = 2, 2
62
63 # Define the predicate matrix V(a,b|x,y) \in Pos(R)
64 chsh_pred_mat = np.zeros([dim, dim, a_out, b_out, a_in, b_in])
65
66 # V(0,0|0,0) = V(0,0|0,1) = V(0,0|1,0).
67 chsh_pred_mat[:, :, 0, 0, 0, 0] = np.array([[1, 0], [0, 0]])
68 chsh_pred_mat[:, :, 0, 0, 0, 1] = np.array([[1, 0], [0, 0]])
69 chsh_pred_mat[:, :, 0, 0, 1, 0] = np.array([[1, 0], [0, 0]])
70
71 # V(1,1|0,0) = V(1,1|0,1) = V(1,1|1,0).
72 chsh_pred_mat[:, :, 1, 1, 0, 0] = np.array([[0, 0], [0, 1]])
73 chsh_pred_mat[:, :, 1, 1, 0, 1] = np.array([[0, 0], [0, 1]])
74 chsh_pred_mat[:, :, 1, 1, 1, 0] = np.array([[0, 0], [0, 1]])
75
76 # V(0,1|1,1)
77 chsh_pred_mat[:, :, 0, 1, 1, 1] = 1 / 2 * np.array([[1, 1], [1, 1]])
78
79 # V(1,0|1,1)
80 chsh_pred_mat[:, :, 1, 0, 1, 1] = 1 / 2 * np.array([[1, -1], [-1, 1]])
81
82 # The probability matrix encode \pi(0,0) = \pi(0,1) = \pi(1,0) = \pi(1,1) = 1/4.
83 chsh_prob_mat = np.array([[1 / 4, 1 / 4], [1 / 4, 1 / 4]])

Example: The unentangled value of the CHSH extended nonlocal game

Similar to what we did for the BB84 extended nonlocal game, we can also compute the unentangled value of \(G_{CHSH}\).

 92 # Calculate the unentangled value of the CHSH extended nonlocal game
 93 import numpy as np
 94
 95 from toqito.nonlocal_games.extended_nonlocal_game import ExtendedNonlocalGame
 96
 97 # Define an ExtendedNonlocalGame object based on the CHSH game.
 98 chsh = ExtendedNonlocalGame(chsh_prob_mat, chsh_pred_mat)
 99
100 # The unentangled value is 3/4 = 0.75
101 print("The unentangled value is ", np.around(chsh.unentangled_value(), decimals=2))
The unentangled value is  0.75

We can also run multiple repetitions of \(G_{CHSH}\).

106 # The unentangled value of CHSH under parallel repetition.
107 import numpy as np
108
109 from toqito.nonlocal_games.extended_nonlocal_game import ExtendedNonlocalGame
110
111 # Define the CHSH game for two parallel repetitions.
112 chsh_2_reps = ExtendedNonlocalGame(chsh_prob_mat, chsh_pred_mat, 2)
113
114 # The unentangled value for two parallel repetitions is (3/4)**2 \approx 0.5625
115 print("The unentangled value for two parallel repetitions is ", np.around(chsh_2_reps.unentangled_value(), decimals=2))
The unentangled value for two parallel repetitions is  0.56

Note that strong parallel repetition holds as

\[\omega(G_{CHSH})^2 = \omega(G_{CHSH}^2) = \left(\frac{3}{4}\right)^2.\]

Example: The non-signaling value of the CHSH extended nonlocal game

To obtain an upper bound for \(G_{CHSH}\), we can calculate the non-signaling value.

129 # Calculate the non-signaling value of the CHSH extended nonlocal game.
130 import numpy as np
131
132 from toqito.nonlocal_games.extended_nonlocal_game import ExtendedNonlocalGame
133
134 # Define an ExtendedNonlocalGame object based on the CHSH game.
135 chsh = ExtendedNonlocalGame(chsh_prob_mat, chsh_pred_mat)
136
137 # The non-signaling value is 3/4 = 0.75
138 print("The non-signaling value is ", np.around(chsh.nonsignaling_value(), decimals=2))
/home/docs/checkouts/readthedocs.org/user_builds/toqito/envs/latest/lib/python3.11/site-packages/scs/__init__.py:83: UserWarning: Converting A to a CSC (compressed sparse column) matrix; may take a while.
  warn(
The non-signaling value is  0.75

As we know that \(\omega(G_{CHSH}) = \omega_{ns}(G_{CHSH}) = 3/4\) and that

\[\omega(G) \leq \omega^*(G) \leq \omega_{ns}(G)\]

for any extended nonlocal game, \(G\), we may also conclude that \(\omega^*(G) = 3/4\).

As we know that \(\omega(G_{CHSH}) = \omega_{ns}(G_{CHSH}) = 3/4\) and that

\[\omega(G) \leq \omega^*(G) \leq \omega_{ns}(G)\]

for any extended nonlocal game, \(G\), we may also conclude that \(\omega^*(G_{CHSH}) = 3/4\).

So far, both the BB84 and CHSH examples have demonstrated cases where the unentangled and standard quantum values are equal. In the next tutorial, An extended nonlocal game with quantum advantage we will explore a game based on mutually unbiased bases that exhibits a strict quantum advantage, where \(\omega(G) < \omega^*(G)\).

References

Total running time of the script: (0 minutes 3.239 seconds)

Gallery generated by Sphinx-Gallery