Tutorial 1. Basic experiments

See also

The complete source code of this tutorial can be found in

Tutorial 1. Basic experiment.ipynb

Tutorial 1. Basic experiment.py


Following this Tutorial requires familiarity with the core concepts of Quantify-scheduler, we highly recommended to consult the (short) User guide before proceeding.

The benefit of allowing the user to mix the high-level gate description of a circuit with the lower-level pulse description can be understood through an example. Below we first give an example of basic usage using Bell violations. We next show the Chevron experiment in which the user is required to mix gate-type and pulse-type information when defining the quantify_scheduler.schedules.schedule.Schedule.

Basics: The Bell experiment

As the first example, we want to perform the Bell experiment . The goal of the Bell experiment is to create a Bell state \(|\Phi ^+\rangle=\frac{1}{2}(|00\rangle+|11\rangle)\) followed by a measurement. By rotating the measurement basis, or equivalently one of the qubits, it is possible to observe violations of the CSHS inequality. If everything is done properly, one should observe the following oscillation:

import numpy as np
import plotly.graph_objects as go

x = np.linspace(0, 360, 361)
y = np.cos(np.deg2rad(x - 180))
yc = np.minimum(x / 90 - 1, -x / 90 + 3)

fig = go.Figure()
fig.add_trace(go.Scatter(x=x, y=y, name="Quantum"))
fig.add_trace(go.Scatter(x=x, y=yc, name="Classical"))

    title="Bell experiment",
    xaxis_title="Angle between detectors (deg)",