Bell’s Inequality

Introduction

According to EPR, an acronym for Einstein-Podolsky-Rosen, a physical theory must contain elements of reality and be local. This argument was presented in a famous 1935 paper, where the authors questioned whether quantum mechanics was a complete theory, suggesting the existence of hidden variables that could deterministically explain the behavior of quantum particles. However, according to quantum mechanics, the measurement made by one observer can affect the measurement made by another observer, regardless of the distance between them. This phenomenon in the EPR paper was referred to as “spooky action at a distance,” as it seemingly violated relativistic causality.

In realism, the properties of particles exist independently of observation, and in locality, the measurement made by one observer cannot influence the measurement made by another observer.


Bell’s Inequality and the CHSH Inequality

Bell’s inequality was introduced by John Bell in 1964 to test the foundations of the local realism proposed by EPR. It provides a mathematical relationship that must be satisfied by any theory based on local realism. The central idea of Bell’s inequality is that if particles have well-defined properties prior to measurement (elements of reality) and no information is transmitted instantaneously between them (locality), then the correlations between measurements performed on spatially separated particles must obey certain restrictions.

The CHSH (Clauser, Horne, Shimony, Holt) inequality is a practical version of Bell’s inequality, formulated in 1969. It involves binary measurements performed on two particles by two observers (commonly called Alice and Bob).

In the CHSH inequality, two particles are emitted from a source and measured by their respective observers. These observers are positioned at a great distance from one another, ensuring that the measurements are causally disconnected events, as the large separation prevents any information from propagating between them.

Observer A can perform two types of measurements, \(a\) and \(a’\), on their particle, and observer B can similarly perform two types of measurements, \(b\) and \(b’\), on their particle. For a theory with elements of reality and locality, the measurements made by observer A cannot influence those made by observer B.

We can assume that the values measured by observer A are \(a = \pm 1\) and \(a’ = \pm 1\), and those by observer B are \(b = \pm 1\) and \(b’ = \pm 1\).

The proposed experiment tests the realism suggested by EPR, wherein particles leave the source with well-defined states, and measurement merely reveals those states. Under the condition that observers are far enough apart for their measurement events to be causally disconnected, both the choice of measurement and the measurement itself by one observer cannot influence the measurement by the other observer.

Sum and Difference Property of Variables \(a, a’\):

\[
a + a’ = 0 \Rightarrow a – a’ = \pm 2
\]

If \(a + a’ = 0\), the variables are perfectly anticorrelated (\(a = -a’\)).

\[
a – a’ = 0 \Rightarrow a + a’ = \pm 2
\]

When \(a – a’ = 0\), the variables are perfectly correlated (\(a = a’\)).

In the case where \(a – a’ = 0 \Rightarrow a + a’ = \pm 2\), and since \(b = \pm 1\), we can conclude that \((a + a’)b = \pm 2\). For the term \((a – a’)b’\), equivalently, the other part will cancel, resulting in the same value. To achieve this, we need to measure \(a\) and \(a’\) accurately. Thus, there must exist an element of reality; that is, the measurement result must be determined before the measurement itself. In quantum mechanics, for incompatible measurements, measuring \(a\) makes the value of \(a’\) indeterminate.

From the expressions above, we find:

\[
C = (a + a’)b + (a – a’)b’ = \pm 2
\]

From the triangle inequality, we have:

\[
|x+y| \leq |x|+|y|
\]

Applying the triangle inequality to \(C\), we get:

\[
|\langle C \rangle| \leq \langle |C| \rangle = 2
\]

\[
|\langle ab \rangle + \langle a’b \rangle + \langle ab’ \rangle – \langle a’b’ \rangle| \leq 2
\]

Alice can choose to measure \(a\) or \(a’\), and Bob can measure \(b\) or \(b’\).

The experiment involves performing many measurements of each type and then calculating the averages.

For a classical interpretation, even if the particles are correlated such that \(a = \pm b\) or \(a’ = \pm b’\), this inequality holds true. This is reasonable because, according to EPR, the particles leave the source already configured this way.

However, in quantum systems, the choice of measurement by A can influence the result of the measurement by B, even if B chooses a different type of measurement than A. For instance, for a system of two spin-\(1/2\) particles, a measurement along the \(X\)-axis by A can place the state into a superposition when measured along the \(Z\)-axis by B. This occurs because the observables corresponding to the \(X\)-axis and \(Z\)-axis do not commute, making the measurements incompatible.

For the state:

\[
|\psi\rangle = \frac{1}{\sqrt{2}}(|++\rangle + |- -\rangle)
\]

A measurement in \(X\) gives \(|+\rangle\) or \(|–\rangle\).

But since \(|++\rangle = \frac{1}{\sqrt{2}}(|00\rangle + |11\rangle)\) and \(|- -\rangle = \frac{1}{\sqrt{2}}(|00\rangle – |11\rangle)\),

If B also measures along the \(X\)-axis, they will get the same result as A, such as \(|+\rangle\) or \(|-\rangle\). However, if B measures along the \(Z\)-axis, they will obtain a superposition of \(|0\rangle\) and \(|1\rangle\).

Thus, whenever measurements are performed along the same axis, the results will coincide 100%. However, if they are along different axes, there will only be 50% agreement, making it clear that A’s choice of measurement type influences B’s result, thereby violating locality and realism.

The measurement by one observer instantaneously influences the measurement by the other, but this does not violate relativistic causality because no information can be transmitted through this experiment. This is because it is impossible to control what value will be measured, and additionally, for both observers to compare their measurements, classical information must be exchanged between them.


Example of Bell’s Inequality Violation in Quantum Mechanics

The state considered for a pair of spin-\(1/2\) particles with a total angular momentum of zero is:

\[
|\psi\rangle = \frac{1}{\sqrt{2}}(|01\rangle – |10\rangle)
\]

The observables associated with observer A are \(a = Z_{1}\) and \(a’ = X_{1}\), while the observables for observer B are defined as \(b = \frac{Z_{2} + X_{2}}{\sqrt{2}}\) and \(b’ = \frac{Z_{2} – X_{2}}{\sqrt{2}}\). Observer A can measure \(a\) or \(a’\), and similarly, observer B can measure \(b\) or \(b’\). Note that the observables \(b\) and \(b’\) are tilted 45 degrees relative to \(a\) and \(a’\).

The expected averages for different products of observables are calculated as follows:

\[
\langle ab \rangle = \langle\psi|Z_{1} \otimes \frac{Z_{2}+X_{2}}{\sqrt{2}} |\psi\rangle = -\frac{1}{\sqrt{2}}
\]

\[
\langle a’b \rangle = -\frac{1}{\sqrt{2}}, \quad \langle ab’ \rangle = -\frac{1}{\sqrt{2}}, \quad \langle a’b’ \rangle = \frac{1}{\sqrt{2}}
\]

Finally, we verify Bell’s inequality through the absolute value of the sum:

\[
|\langle ab \rangle + \langle a’b \rangle + \langle ab’ \rangle – \langle a’b’ \rangle| = 2\sqrt{2}
\]

This result demonstrates a maximal violation of Bell’s inequality, highlighting the non-local nature of the quantum state \(|\psi\rangle\).

Implementation of Analytical Calculation

logicQuBit = LogicQuBit(2)

B = Qubit()
A = Qubit()

# generate entangled state |01>-|10>
A.H()
B.CNOT(A)
B.X()
B.Z()

psi = logicQuBit.getPsi()

# Axes
gates = Gates()
M = {}
M["ab"] = gates.Z().kron((gates.Z()+gates.X())/sqrt(2))   # Z and (Z+X)/sqrt(2)
M["a'b"] = gates.X().kron((gates.Z()+gates.X())/sqrt(2))  # X and (Z+X)/sqrt(2)
M["ab'"] = gates.Z().kron((gates.Z()-gates.X())/sqrt(2))  # Z and (Z-X)/sqrt(2)
M["a'b'"] = gates.X().kron((gates.Z()-gates.X())/sqrt(2)) # X and (Z-X)/sqrt(2)

# Expected values for ab, a'b, ab' and a'b'
values = {}
values["ab"] = (psi.adjoint()*M["ab"]*psi).get()[0]
values["a'b"] = (psi.adjoint()*M["a'b"]*psi).get()[0]
values["ab'"] = (psi.adjoint()*M["ab'"]*psi).get()[0]
values["a'b'"] = (psi.adjoint()*M["a'b'"]*psi).get()[0]

# Bell inequality value
inequality = values["ab"] + values["a'b"] + values["ab'"] - values["a'b'"]
inequality = sqrt(inequality.real * inequality.real)

print("Inequality: ", inequality)
Inequality:  2.8284271247461894

Implementation Using Quantum Computing

# |<C>| = |<a.b> + <a'.b> + <a.b'> - <a'.b'>| <= 2
def bell_inequality(A, B):
    axis = {"ab": 0, "a'b": 0, "ab'": 0, "a'b'": 0}
    count = {"ab": 0, "a'b": 0, "ab'": 0, "a'b'": 0}

    for (a_type, a_val), (b_type, b_val) in zip(A, B):
        key = f"{a_type}{b_type}"
        if key in axis:
            axis[key] += a_val * b_val
            count[key] += 1

    # Compute the average for each axis
    for key in axis:
        if count[key] > 0:
            axis[key] /= count[key]

    # Calculate the Bell inequality value
    inequality = axis["ab"] + axis["a'b"] + axis["ab'"] - axis["a'b'"]
    inequality = sqrt(inequality**2)

    return inequality

def measurements(attempts=10):
    to_sign = lambda x: -1 if x == 0 else x
    mA, mB = [], []

    for _ in range(attempts):
        logicQuBit = LogicQuBit(2)

        A, B = Qubit(), Qubit()

        # Generate entangled state |01>-|10>
        A.H()
        B.CNOT(A)
        B.X()
        B.Z()

        # Alice chooses measurement basis
        a_basis = random.choice(["a", "a'"])
        if a_basis == "a'":  # for x
            A.H()

        # Alice measures
        a_res = logicQuBit.Measure_One(A)[0]
        a_res = to_sign(a_res)

        # Bob chooses measurement basis
        b_basis = random.choice(["b", "b'"])
        if b_basis == "b":
            B.RY(-pi / 4)
        elif b_basis == "b'":
            B.RY(pi / 4)

        # Bob measures
        b_res = logicQuBit.Measure_One(B)[0]
        b_res = to_sign(b_res)

        mA.append([a_basis, a_res])
        mB.append([b_basis, b_res])

    return mA, mB

mA, mB = measurements(attempts=200)
result = bell_inequality(mA, mB)

print("bell inequality:", result)
bell inequality: 2.8199349487721586

Check out the Colab Notebook.

Leave a Comment