Extended nonlocal games

In this tutorial, we will define the concept of an extended nonlocal game. Extended nonlocal games are a more general abstraction of nonlocal games wherein the referee, who previously only provided questions and answers to the players, now share a state with the players and is able to perform a measurement on that shared state.

Every extended nonlocal game has a value associated to it. Analogously to nonlocal games, this value is a quantity that dictates how well the players can perform a task in the extended nonlocal game model when given access to certain resources. We will be using |toqito⟩ to calculate these quantities.

We will also look at existing results in the literature on these values and be able to replicate them using |toqito⟩. Much of the written content in this tutorial will be directly taken from [1].

Extended nonlocal games have a natural physical interpretation in the setting of tripartite steering [2] and in device-independent quantum scenarios [3]. For more information on extended nonlocal games, please refer to [4] and [1].

The extended nonlocal game model

An extended nonlocal game is similar to a nonlocal game in the sense that it is a cooperative game played between two players Alice and Bob against a referee. The game begins much like a nonlocal game, with the referee selecting and sending a pair of questions \((x,y)\) according to a fixed probability distribution. Once Alice and Bob receive \(x\) and \(y\), they respond with respective answers \(a\) and \(b\). Unlike a nonlocal game, the outcome of an extended nonlocal game is determined by measurements performed by the referee on its share of the state initially provided to it by Alice and Bob.

extended nonlocal game

An extended nonlocal game.

Specifically, Alice and Bob’s winning probability is determined by collections of measurements, \(V(a,b|x,y) \in \text{Pos}(\mathcal{R})\), where \(\mathcal{R} = \mathbb{C}^m\) is a complex Euclidean space with \(m\) denoting the dimension of the referee’s quantum system–so if Alice and Bob’s response \((a,b)\) to the question pair \((x,y)\) leaves the referee’s system in the quantum state

\[\sigma_{a,b}^{x,y} \in \text{D}(\mathcal{R}),\]

then their winning and losing probabilities are given by

\[\left\langle V(a,b|x,y), \sigma_{a,b}^{x,y} \right\rangle \quad \text{and} \quad \left\langle \mathbb{I} - V(a,b|x,y), \sigma_{a,b}^{x,y} \right\rangle.\]

Strategies for extended nonlocal games

An extended nonlocal game \(G\) is defined by a pair \((\pi, V)\), where \(\pi\) is a probability distribution of the form

\[\pi : \Sigma_A \times \Sigma_B \rightarrow [0, 1]\]

on the Cartesian product of two alphabets \(\Sigma_A\) and \(\Sigma_B\), and \(V\) is a function of the form

\[V : \Gamma_A \times \Gamma_B \times \Sigma_A \times \Sigma_B \rightarrow \text{Pos}(\mathcal{R})\]

for \(\Sigma_A\) and \(\Sigma_B\) as above, \(\Gamma_A\) and \(\Gamma_B\) being alphabets, and \(\mathcal{R}\) refers to the referee’s space. Just as in the case for nonlocal games, we shall use the convention that

\[\Sigma = \Sigma_A \times \Sigma_B \quad \text{and} \quad \Gamma = \Gamma_A \times \Gamma_B\]

to denote the respective sets of questions asked to Alice and Bob and the sets of answers sent from Alice and Bob to the referee.

When analyzing a strategy for Alice and Bob, it may be convenient to define a function

\[K : \Gamma_A \times \Gamma_B \times \Sigma_A \times \Sigma_B \rightarrow \text{Pos}(\mathcal{R}).\]

We can represent Alice and Bob’s winning probability for an extended nonlocal game as

\[\sum_{(x,y) \in \Sigma} \pi(x,y) \sum_{(a,b) \in \Gamma} \left\langle V(a,b|x,y), K(a,b|x,y) \right\rangle.\]

Standard quantum strategies for extended nonlocal games

A standard quantum strategy for an extended nonlocal game consists of finite-dimensional complex Euclidean spaces \(\mathcal{U}\) for Alice and \(\mathcal{V}\) for Bob, a quantum state \(\sigma \in \text{D}(\mathcal{U} \otimes \mathcal{R} \otimes \mathcal{V})\), and two collections of measurements

\[\{ A_a^x : a \in \Gamma_A \} \subset \text{Pos}(\mathcal{U}) \quad \text{and} \quad \{ B_b^y : b \in \Gamma_B \} \subset \text{Pos}(\mathcal{V}),\]

for each \(x \in \Sigma_A\) and \(y \in \Sigma_B\) respectively. As usual, the measurement operators satisfy the constraint that

\[\sum_{a \in \Gamma_A} A_a^x = \mathbb{I}_{\mathcal{U}} \quad \text{and} \quad \sum_{b \in \Gamma_B} B_b^y = \mathbb{I}_{\mathcal{V}},\]

for each \(x \in \Sigma_A\) and \(y \in \Sigma_B\).

When the game is played, Alice and Bob present the referee with a quantum system so that the three parties share the state \(\sigma \in \text{D}(\mathcal{U} \otimes \mathcal{R} \otimes \mathcal{V})\). The referee selects questions \((x,y) \in \Sigma\) according to the distribution \(\pi\) that is known to all participants in the game.

The referee then sends \(x\) to Alice and \(y\) to Bob. At this point, Alice and Bob make measurements on their respective portions of the state \(\sigma\) using their measurement operators to yield an outcome to send back to the referee. Specifically, Alice measures her portion of the state \(\sigma\) with respect to her set of measurement operators \(\{A_a^x : a \in \Gamma_A\}\), and sends the result \(a \in \Gamma_A\) of this measurement to the referee. Likewise, Bob measures his portion of the state \(\sigma\) with respect to his measurement operators \(\{B_b^y : b \in \Gamma_B\}\) to yield the outcome \(b \in \Gamma_B\), that is then sent back to the referee.

At the end of the protocol, the referee measures its quantum system with respect to the measurement \(\{V(a,b|x,y), \mathbb{I}-V(a,b|x,y)\}\).

The winning probability for such a strategy in this game \(G = (\pi,V)\) is given by

\[\sum_{(x,y) \in \Sigma} \pi(x,y) \sum_{(a,b) \in \Gamma} \left \langle A_a^x \otimes V(a,b|x,y) \otimes B_b^y, \sigma \right \rangle.\]

For a given extended nonlocal game \(G = (\pi,V)\), we write \(\omega^*(G)\) to denote the standard quantum value of \(G\), which is the supremum value of Alice and Bob’s winning probability over all standard quantum strategies for \(G\).

Unentangled strategies for extended nonlocal games

An unentangled strategy for an extended nonlocal game is simply a standard quantum strategy for which the state \(\sigma \in \text{D}(\mathcal{U} \otimes \mathcal{R} \otimes \mathcal{V})\) initially prepared by Alice and Bob is fully separable.

Any unentangled strategy is equivalent to a strategy where Alice and Bob store only classical information after the referee’s quantum system has been provided to it.

For a given extended nonlocal game \(G = (\pi, V)\) we write \(\omega(G)\) to denote the unentangled value of \(G\), which is the supremum value for Alice and Bob’s winning probability in \(G\) over all unentangled strategies. The unentangled value of any extended nonlocal game, \(G\), may be written as

\[\omega(G) = \max_{f, g} \lVert \sum_{(x,y) \in \Sigma} \pi(x,y) V(f(x), g(y)|x, y) \rVert\]

where the maximum is over all functions \(f : \Sigma_A \rightarrow \Gamma_A\) and \(g : \Sigma_B \rightarrow \Gamma_B\).

Non-signaling strategies for extended nonlocal games

A non-signaling strategy for an extended nonlocal game consists of a function

\[K : \Gamma_A \times \Gamma_B \times \Sigma_A \times \Sigma_B \rightarrow \text{Pos}(\mathcal{R})\]

such that

\[\sum_{a \in \Gamma_A} K(a,b|x,y) = \rho_b^y \quad \text{and} \quad \sum_{b \in \Gamma_B} K(a,b|x,y) = \sigma_a^x,\]

for all \(x \in \Sigma_A\) and \(y \in \Sigma_B\) where \(\{\rho_b^y : y \in \Sigma_B, b \in \Gamma_B\}\) and \(\{\sigma_a^x: x \in \Sigma_A, a \in \Gamma_A\}\) are collections of operators satisfying

\[\sum_{a \in \Gamma_A} \sigma_a^x = \tau = \sum_{b \in \Gamma_B} \rho_b^y,\]

for every choice of \(x \in \Sigma_A\) and \(y \in \Sigma_B\) and where \(\tau \in \text{D}(\mathcal{R})\) is a density operator.

For any extended nonlocal game, \(G = (\pi, V)\), the winning probability for a non-signaling strategy is given by

\[\sum_{(x,y) \in \Sigma} \pi(x,y) \sum_{(a,b) \in \Gamma} \left\langle V(a,b|x,y) K(a,b|x,y) \right\rangle.\]

We denote the non-signaling value of \(G\) as \(\omega_{ns}(G)\) which is the supremum value of the winning probability of \(G\) taken over all non-signaling strategies for Alice and Bob.

Relationships between different strategies and values

For an extended nonlocal game, \(G\), the values have the following relationship:

Note

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

Example: The BB84 extended nonlocal game

The BB84 extended nonlocal game is defined as follows. Let \(\Sigma_A = \Sigma_B = \Gamma_A = \Gamma_B = \{0,1\}\), define

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

define

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

for all \(a \not= b\) or \(x \not= y\), define \(\pi(0,0) = \pi(1,1) = 1/2\), and define \(\pi(x,y) = 0\) if \(x \not=y\).

We can encode the BB84 game, \(G_{BB84} = (\pi, V)\), in numpy arrays where prob_mat corresponds to the probability distribution \(\pi\) and where pred_mat corresponds to the operator \(V\).

274 # Define the BB84 extended nonlocal game.
275 import numpy as np
276 from toqito.states import basis
277
278 # The basis: {|0>, |1>}:
279 e_0, e_1 = basis(2, 0), basis(2, 1)
280
281 # The basis: {|+>, |->}:
282 e_p = (e_0 + e_1) / np.sqrt(2)
283 e_m = (e_0 - e_1) / np.sqrt(2)
284
285 # The dimension of referee's measurement operators:
286 dim = 2
287 # The number of outputs for Alice and Bob:
288 a_out, b_out = 2, 2
289 # The number of inputs for Alice and Bob:
290 a_in, b_in = 2, 2
291
292 # Define the predicate matrix V(a,b|x,y) \in Pos(R)
293 bb84_pred_mat = np.zeros([dim, dim, a_out, b_out, a_in, b_in])
294
295 # V(0,0|0,0) = |0><0|
296 bb84_pred_mat[:, :, 0, 0, 0, 0] = e_0 @ e_0.conj().T
297 # V(1,1|0,0) = |1><1|
298 bb84_pred_mat[:, :, 1, 1, 0, 0] = e_1 @ e_1.conj().T
299 # V(0,0|1,1) = |+><+|
300 bb84_pred_mat[:, :, 0, 0, 1, 1] = e_p @ e_p.conj().T
301 # V(1,1|1,1) = |-><-|
302 bb84_pred_mat[:, :, 1, 1, 1, 1] = e_m @ e_m.conj().T
303
304 # The probability matrix encode \pi(0,0) = \pi(1,1) = 1/2
305 bb84_prob_mat = 1 / 2 * np.identity(2)

The unentangled value of the BB84 extended nonlocal game

It was shown in [3] and [4] that

\[\omega(G_{BB84}) = \cos^2(\pi/8).\]

This can be verified in |toqito⟩ as follows.

322 # Calculate the unentangled value of the BB84 extended nonlocal game.
323 from toqito.nonlocal_games.extended_nonlocal_game import ExtendedNonlocalGame
324 import numpy as np
325
326 # Define an ExtendedNonlocalGame object based on the BB84 game.
327 bb84 = ExtendedNonlocalGame(bb84_prob_mat, bb84_pred_mat)
328
329 # The unentangled value is cos(pi/8)**2 \approx 0.85356
330 print("The unentangled value is ", np.around(bb84.unentangled_value(), decimals=2))
The unentangled value is  0.85

The BB84 game also exhibits strong parallel repetition. We can specify how many parallel repetitions for |toqito⟩ to run. The example below provides an example of two parallel repetitions for the BB84 game.

337 # The unentangled value of BB84 under parallel repetition.
338 from toqito.nonlocal_games.extended_nonlocal_game import ExtendedNonlocalGame
339 import numpy as np
340
341 # Define the bb84 game for two parallel repetitions.
342 bb84_2_reps = ExtendedNonlocalGame(bb84_prob_mat, bb84_pred_mat, 2)
343
344 # The unentangled value for two parallel repetitions is cos(pi/8)**4 \approx 0.72855
345 print("The unentangled value for two parallel repetitions is ", np.around(bb84_2_reps.unentangled_value(), decimals=2))
The unentangled value for two parallel repetitions is  0.73

It was shown in [4] that the BB84 game possesses the property of strong parallel repetition. That is,

\[\omega(G_{BB84}^r) = \omega(G_{BB84})^r\]

for any integer \(r\).

The standard quantum value of the BB84 extended nonlocal game

We can calculate lower bounds on the standard quantum value of the BB84 game using |toqito⟩ as well.

362 # Calculate lower bounds on the standard quantum value of the BB84 extended nonlocal game.
363 from toqito.nonlocal_games.extended_nonlocal_game import ExtendedNonlocalGame
364 import numpy as np
365
366 # Define an ExtendedNonlocalGame object based on the BB84 game.
367 bb84_lb = ExtendedNonlocalGame(bb84_prob_mat, bb84_pred_mat)
368
369 # The standard quantum value is cos(pi/8)**2 \approx 0.85356
370 print("The standard quantum value is ", np.around(bb84_lb.quantum_value_lower_bound(), decimals=2))
The standard quantum value is  0.85

From [4], it is known that \(\omega(G_{BB84}) = \omega^*(G_{BB84})\), however, if we did not know this beforehand, we could attempt to calculate upper bounds on the standard quantum value.

There are a few methods to do this, but one easy way is to simply calculate the non-signaling value of the game as this provides a natural upper bound on the standard quantum value. Typically, this bound is not tight and usually not all that useful in providing tight upper bounds on the standard quantum value, however, in this case, it will prove to be useful.

The non-signaling value of the BB84 extended nonlocal game

Using |toqito⟩, we can see that \(\omega_{ns}(G) = \cos^2(\pi/8)\).

388 # Calculate the non-signaling value of the BB84 extended nonlocal game.
389 from toqito.nonlocal_games.extended_nonlocal_game import ExtendedNonlocalGame
390 import numpy as np
391
392 # Define an ExtendedNonlocalGame object based on the BB84 game.
393 bb84 = ExtendedNonlocalGame(bb84_prob_mat, bb84_pred_mat)
394
395 # The non-signaling value is cos(pi/8)**2 \approx 0.85356
396 print("The non-signaling value is ", np.around(bb84.nonsignaling_value(), decimals=2))
The non-signaling value is  0.85

So we have the relationship that

\[\omega(G_{BB84}) = \omega^*(G_{BB84}) = \omega_{ns}(G_{BB84}) = \cos^2(\pi/8).\]

It turns out that strong parallel repetition does not hold in the non-signaling scenario for the BB84 game. This was shown in [1], and we can observe this by the following snippet.

408 # The non-signaling value of BB84 under parallel repetition.
409 from toqito.nonlocal_games.extended_nonlocal_game import ExtendedNonlocalGame
410 import numpy as np
411
412 # Define the bb84 game for two parallel repetitions.
413 bb84_2_reps = ExtendedNonlocalGame(bb84_prob_mat, bb84_pred_mat, 2)
414
415 # The non-signaling value for two parallel repetitions is cos(pi/8)**4 \approx 0.73825
416 print(
417     "The non-signaling value for two parallel repetitions is ", np.around(bb84_2_reps.nonsignaling_value(), decimals=2)
418 )
The non-signaling value for two parallel repetitions is  0.74

Note that \(0.73825 \geq \cos(\pi/8)^4 \approx 0.72855\) and therefore we have that

\[\omega_{ns}(G^r_{BB84}) \not= \omega_{ns}(G_{BB84})^r\]

for \(r = 2\).

Example: The CHSH extended nonlocal game

Let us now define another extended nonlocal game, \(G_{CHSH}\).

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{equation} \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{equation}\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}\).

478 # Define the CHSH extended nonlocal game.
479 import numpy as np
480
481 # The dimension of referee's measurement operators:
482 dim = 2
483 # The number of outputs for Alice and Bob:
484 a_out, b_out = 2, 2
485 # The number of inputs for Alice and Bob:
486 a_in, b_in = 2, 2
487
488 # Define the predicate matrix V(a,b|x,y) \in Pos(R)
489 chsh_pred_mat = np.zeros([dim, dim, a_out, b_out, a_in, b_in])
490
491 # V(0,0|0,0) = V(0,0|0,1) = V(0,0|1,0).
492 chsh_pred_mat[:, :, 0, 0, 0, 0] = np.array([[1, 0], [0, 0]])
493 chsh_pred_mat[:, :, 0, 0, 0, 1] = np.array([[1, 0], [0, 0]])
494 chsh_pred_mat[:, :, 0, 0, 1, 0] = np.array([[1, 0], [0, 0]])
495
496 # V(1,1|0,0) = V(1,1|0,1) = V(1,1|1,0).
497 chsh_pred_mat[:, :, 1, 1, 0, 0] = np.array([[0, 0], [0, 1]])
498 chsh_pred_mat[:, :, 1, 1, 0, 1] = np.array([[0, 0], [0, 1]])
499 chsh_pred_mat[:, :, 1, 1, 1, 0] = np.array([[0, 0], [0, 1]])
500
501 # V(0,1|1,1)
502 chsh_pred_mat[:, :, 0, 1, 1, 1] = 1 / 2 * np.array([[1, 1], [1, 1]])
503
504 # V(1,0|1,1)
505 chsh_pred_mat[:, :, 1, 0, 1, 1] = 1 / 2 * np.array([[1, -1], [-1, 1]])
506
507 # The probability matrix encode \pi(0,0) = \pi(0,1) = \pi(1,0) = \pi(1,1) = 1/4.
508 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}\).

517 # Calculate the unentangled value of the CHSH extended nonlocal game
518 from toqito.nonlocal_games.extended_nonlocal_game import ExtendedNonlocalGame
519 import numpy as np
520
521 # Define an ExtendedNonlocalGame object based on the CHSH game.
522 chsh = ExtendedNonlocalGame(chsh_prob_mat, chsh_pred_mat)
523
524 # The unentangled value is 3/4 = 0.75
525 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}\).

530 # The unentangled value of CHSH under parallel repetition.
531 from toqito.nonlocal_games.extended_nonlocal_game import ExtendedNonlocalGame
532 import numpy as np
533
534 # Define the CHSH game for two parallel repetitions.
535 chsh_2_reps = ExtendedNonlocalGame(chsh_prob_mat, chsh_pred_mat, 2)
536
537 # The unentangled value for two parallel repetitions is (3/4)**2 \approx 0.5625
538 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.

552 # Calculate the non-signaling value of the CHSH extended nonlocal game.
553 from toqito.nonlocal_games.extended_nonlocal_game import ExtendedNonlocalGame
554 import numpy as np
555
556 # Define an ExtendedNonlocalGame object based on the CHSH game.
557 chsh = ExtendedNonlocalGame(chsh_prob_mat, chsh_pred_mat)
558
559 # The non-signaling value is 3/4 = 0.75
560 print("The non-signaling value is ", np.around(chsh.nonsignaling_value(), decimals=2))
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\).

Example: An extended nonlocal game with quantum advantage

So far, we have only seen examples of extended nonlocal games where the standard quantum and unentangled values are equal. Here we’ll see an example of an extended nonlocal game where the standard quantum value is strictly higher than the unentangled value.

Example: A monogamy-of-entanglement game with mutually unbiased bases

Let \(\zeta = \exp(\frac{2 \pi i}{3})\) and consider the following four mutually unbiased bases:

\[\begin{split}\begin{equation}\label{eq:MUB43} \begin{aligned} \mathcal{B}_0 &= \left\{ e_0,\: e_1,\: e_2 \right\}, \\ \mathcal{B}_1 &= \left\{ \frac{e_0 + e_1 + e_2}{\sqrt{3}},\: \frac{e_0 + \zeta^2 e_1 + \zeta e_2}{\sqrt{3}},\: \frac{e_0 + \zeta e_1 + \zeta^2 e_2}{\sqrt{3}} \right\}, \\ \mathcal{B}_2 &= \left\{ \frac{e_0 + e_1 + \zeta e_2}{\sqrt{3}},\: \frac{e_0 + \zeta^2 e_1 + \zeta^2 e_2}{\sqrt{3}},\: \frac{e_0 + \zeta e_1 + e_2}{\sqrt{3}} \right\}, \\ \mathcal{B}_3 &= \left\{ \frac{e_0 + e_1 + \zeta^2 e_2}{\sqrt{3}},\: \frac{e_0 + \zeta^2 e_1 + e_2}{\sqrt{3}},\: \frac{e_0 + \zeta e_1 + \zeta e_2}{\sqrt{3}} \right\}. \end{aligned} \end{equation}\end{split}\]

Define an extended nonlocal game \(G_{MUB} = (\pi,R)\) so that

\[\pi(0) = \pi(1) = \pi(2) = \pi(3) = \frac{1}{4}\]

and \(R\) is such that

\[{ R(0|x), R(1|x), R(2|x) }\]

represents a measurement with respect to the basis \(\mathcal{B}_x\), for each \(x \in \{0,1,2,3\}\).

Taking the description of \(G_{MUB}\), we can encode this as follows.

619 # Define the monogamy-of-entanglement game defined by MUBs.
620 prob_mat = 1 / 4 * np.identity(4)
621
622 dim = 3
623 e_0, e_1, e_2 = basis(dim, 0), basis(dim, 1), basis(dim, 2)
624
625 eta = np.exp((2 * np.pi * 1j) / dim)
626 mub_0 = [e_0, e_1, e_2]
627 mub_1 = [
628     (e_0 + e_1 + e_2) / np.sqrt(3),
629     (e_0 + eta**2 * e_1 + eta * e_2) / np.sqrt(3),
630     (e_0 + eta * e_1 + eta**2 * e_2) / np.sqrt(3),
631 ]
632 mub_2 = [
633     (e_0 + e_1 + eta * e_2) / np.sqrt(3),
634     (e_0 + eta**2 * e_1 + eta**2 * e_2) / np.sqrt(3),
635     (e_0 + eta * e_1 + e_2) / np.sqrt(3),
636 ]
637 mub_3 = [
638     (e_0 + e_1 + eta**2 * e_2) / np.sqrt(3),
639     (e_0 + eta**2 * e_1 + e_2) / np.sqrt(3),
640     (e_0 + eta * e_1 + eta * e_2) / np.sqrt(3),
641 ]
642
643 # List of measurements defined from mutually unbiased basis.
644 mubs = [mub_0, mub_1, mub_2, mub_3]
645
646 num_in = 4
647 num_out = 3
648 pred_mat = np.zeros([dim, dim, num_out, num_out, num_in, num_in], dtype=complex)
649
650 pred_mat[:, :, 0, 0, 0, 0] = mubs[0][0] @ mubs[0][0].conj().T
651 pred_mat[:, :, 1, 1, 0, 0] = mubs[0][1] @ mubs[0][1].conj().T
652 pred_mat[:, :, 2, 2, 0, 0] = mubs[0][2] @ mubs[0][2].conj().T
653
654 pred_mat[:, :, 0, 0, 1, 1] = mubs[1][0] @ mubs[1][0].conj().T
655 pred_mat[:, :, 1, 1, 1, 1] = mubs[1][1] @ mubs[1][1].conj().T
656 pred_mat[:, :, 2, 2, 1, 1] = mubs[1][2] @ mubs[1][2].conj().T
657
658 pred_mat[:, :, 0, 0, 2, 2] = mubs[2][0] @ mubs[2][0].conj().T
659 pred_mat[:, :, 1, 1, 2, 2] = mubs[2][1] @ mubs[2][1].conj().T
660 pred_mat[:, :, 2, 2, 2, 2] = mubs[2][2] @ mubs[2][2].conj().T
661
662 pred_mat[:, :, 0, 0, 3, 3] = mubs[3][0] @ mubs[3][0].conj().T
663 pred_mat[:, :, 1, 1, 3, 3] = mubs[3][1] @ mubs[3][1].conj().T
664 pred_mat[:, :, 2, 2, 3, 3] = mubs[3][2] @ mubs[3][2].conj().T

Now that we have encoded \(G_{MUB}\), we can calculate the unentangled value.

669 import numpy as np
670
671 g_mub = ExtendedNonlocalGame(prob_mat, pred_mat)
672 unent_val = g_mub.unentangled_value()
673 print("The unentangled value is ", np.around(unent_val, decimals=2))
The unentangled value is  0.65

That is, we have that

\[\omega(G_{MUB}) = \frac{3 + \sqrt{5}}{8} \approx 0.65409.\]

However, if we attempt to run a lower bound on the standard quantum value, we obtain.

685 import numpy as np
686
687 g_mub = ExtendedNonlocalGame(prob_mat, pred_mat)
688 q_val = g_mub.quantum_value_lower_bound()
689 print("The standard quantum value lower bound is ", np.around(q_val, decimals=2))
The standard quantum value lower bound is  0.65

Note that as we are calculating a lower bound, it is possible that a value this high will not be obtained, or in other words, the algorithm can get stuck in a local maximum that prevents it from finding the global maximum.

It is uncertain what the optimal standard quantum strategy is for this game, but the value of such a strategy is bounded as follows

\[2/3 \geq \omega^*(G) \geq 0.6609.\]

For further information on the \(G_{MUB}\) game, consult [1].

References

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

Gallery generated by Sphinx-Gallery