-
Notifications
You must be signed in to change notification settings - Fork 137
Description
Description
There appears to be a mismatch between what is obtained numerically vs. the literature for a given extended nonlocal game. The premise of this example (and additional details of the game) can be found in Section 6.3 in arXiv:1704.07375.
Example
Let
Define an extended nonlocal game
and
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.
import numpy as np
from toqito.states import basis
from toqito.nonlocal_games import ExtendedNonlocalGame
# Define the monogamy-of-entanglement game defined by MUBs.
prob_mat = 1 / 4 * np.identity(4)
dim = 3
e_0, e_1, e_2 = basis(dim, 0), basis(dim, 1), basis(dim, 2)
eta = np.exp((2 * np.pi * 1j) / dim)
mub_0 = [e_0, e_1, e_2]
mub_1 = [
(e_0 + e_1 + e_2) / np.sqrt(3),
(e_0 + eta ** 2 * e_1 + eta * e_2) / np.sqrt(3),
(e_0 + eta * e_1 + eta ** 2 * e_2) / np.sqrt(3),
]
mub_2 = [
(e_0 + e_1 + eta * e_2) / np.sqrt(3),
(e_0 + eta ** 2 * e_1 + eta ** 2 * e_2) / np.sqrt(3),
(e_0 + eta * e_1 + e_2) / np.sqrt(3),
]
mub_3 = [
(e_0 + e_1 + eta ** 2 * e_2) / np.sqrt(3),
(e_0 + eta ** 2 * e_1 + e_2) / np.sqrt(3),
(e_0 + eta * e_1 + eta * e_2) / np.sqrt(3),
]
# List of measurements defined from mutually unbiased basis.
mubs = [mub_0, mub_1, mub_2, mub_3]
num_in = 4
num_out = 3
pred_mat = np.zeros([dim, dim, num_out, num_out, num_in, num_in], dtype=complex)
pred_mat[:, :, 0, 0, 0, 0] = mubs[0][0] @ mubs[0][0].conj().T
pred_mat[:, :, 1, 1, 0, 0] = mubs[0][1] @ mubs[0][1].conj().T
pred_mat[:, :, 2, 2, 0, 0] = mubs[0][2] @ mubs[0][2].conj().T
pred_mat[:, :, 0, 0, 1, 1] = mubs[1][0] @ mubs[1][0].conj().T
pred_mat[:, :, 1, 1, 1, 1] = mubs[1][1] @ mubs[1][1].conj().T
pred_mat[:, :, 2, 2, 1, 1] = mubs[1][2] @ mubs[1][2].conj().T
pred_mat[:, :, 0, 0, 2, 2] = mubs[2][0] @ mubs[2][0].conj().T
pred_mat[:, :, 1, 1, 2, 2] = mubs[2][1] @ mubs[2][1].conj().T
pred_mat[:, :, 2, 2, 2, 2] = mubs[2][2] @ mubs[2][2].conj().T
pred_mat[:, :, 0, 0, 3, 3] = mubs[3][0] @ mubs[3][0].conj().T
pred_mat[:, :, 1, 1, 3, 3] = mubs[3][1] @ mubs[3][1].conj().T
pred_mat[:, :, 2, 2, 3, 3] = mubs[3][2] @ mubs[3][2].conj().TNow that we have encoded
where, for some extended nonlocal game
-
$\omega(G)$ : The unentangled value -
$\omega^*(G)$ : The quantum value -
$\omega_c(G)$ : The commuting measurement operator value -
$\omega_{ns}(G)$ : The non-signaling value
moe_mub_game = ExtendedNonlocalGame(prob_mat, pred_mat, reps=1)
unent = moe_mub_game.unentangled_value()
ent_lb = moe_mub_game.quantum_value_lower_bound(iters=4, tol=1e-3)
ent_ub = moe_mub_game.commuting_measurement_value_upper_bound()
ns = moe_mub_game.nonsignaling_value()
print(f"Unentangled: {unent}")
print(f"Entangled (lower bound): {ent_lb}")
print(f"Entangled (upper bound): {ent_ub}")
print(f"Non-signaling: {ns}")The output for this is:
Unentangled: 0.65450912
Entangled (lower bound): 0.65455409
Entangled (upper bound/commuting k=1): 0.65451107
Non-signaling: 0.78867612
That is, we have that
It is uncertain what the optimal standard quantum strategy is for this game, but the value of such a strategy is bounded as follows
Issue
The issue is that the literature states that
- The numerical approach is insufficient or incorrect and is not attaining the correct upper bound value or
- The literature result is incorrect and the true quantum value is equal to the unentangled value (i.e., there is no quantum advantage in this game).
For additional context and conversations around this topic, refer to the #1233, and more specifically, to this comment thread.