Skip to content

Background

The qubits that QuEra’s neutral atom computer Aquila and Bloqade are designed to emulate are based on neutral atoms. As the name implies they are atoms that are neutrally charged but are also capable of achieving a Rydberg state where a single electron can be excited to an incredibly high energy level without ionizing the atom.

This incredibly excited electron energy level ∣r⟩|r\rangle and its default ground state ∣g⟩|g\rangle create a two-level system where superposition can occur. For enabling interaction between two or more qubits and achieving entanglement, when the neutral atoms are in the Rydberg state a phenomenon known as the Rydberg blockade can occur where an atom in the Rydberg state prevents a neighboring atom from also being excited to the same state.

For a more nuanced and in-depth read about the neutral atoms that Bloqade and Aquila use, refer to QuEra’s qBook section on Qubits by puffing up atoms.

There are two modes of quantum computation that neutral atoms are capable of: Analog and Digital.

You can find a brief explanation of the distinction below but for a more in-depth explanation you can refer to QuEra’s qBook section on Analog vs Digital Quantum Computing

In the analog mode (supported by Bloqade and Aquila) you control your computation through the parameters of a time-dependent Hamiltonian that influences all the qubits at once. There are options for local control of the Hamiltonian on certain qubits however.

In the Digital Mode individual or multiple groups of qubits are controlled by applying gates (individual unitary operations). For neutral atoms, this digital mode can be accomplished with the introduction of hyperfine coupling, enabling a quantum state to be stored for long periods of time while also allowing for multi-qubit gates.

When you emulate a program in Bloqade, you are emulating the time evolution of the Rydberg many-body Hamiltonian which looks like this:

iℏ∂∂t∣ψ⟩=H^(t)∣ψ⟩,i \hbar \dfrac{\partial}{\partial t} | \psi \rangle = \hat{\mathcal{H}}(t) | \psi \rangle, H(t)ℏ=∑jΩj(t)2(eiϕj(t)∣gj⟩⟨rj∣+e−iϕj(t)∣rj⟩⟨gj∣)−∑jΔj(t)n^j+∑j<kVjkn^jn^k,\frac{\mathcal{H}(t)}{\hbar} = \sum_j \frac{\Omega_j(t)}{2} \left( e^{i \phi_j(t) } | g_j \rangle \langle r_j | + e^{-i \phi_j(t) } | r_j \rangle \langle g_j | \right) - \sum_j \Delta_j(t) \hat{n}_j + \sum_{j < k} V_{jk} \hat{n}_j \hat{n}_k,

where: Ωj\Omega_j, ϕj\phi_j, and Δj\Delta_j denote the Rabi frequency amplitude, laser phase, and the detuning of the driving laser field on atom (qubit) jj coupling the two states ∣gj⟩| g_j \rangle (ground state) and ∣rj⟩| r_j \rangle (Rydberg state); n^j=∣rj⟩⟨rj∣\hat{n}_j = |r_j\rangle \langle r_j| is the number operator, and Vjk=C6/∣xj−xk∣6V_{jk} = C_6/|\mathbf{x}_j - \mathbf{x}_k|^6 describes the Rydberg interaction (van der Waals interaction) between atoms jj and kk where xj\mathbf{x}_j denotes the position of the atom jj; C6C_6 is the Rydberg interaction constant that depends on the particular Rydberg state used. For Bloqade, the default C6=862690×2π MHz μm6C_6 = 862690 \times 2\pi \text{ MHz }\mu\text{m}^6 for ∣r⟩=∣70S1/2⟩|r \rangle = \lvert 70S_{1/2} \rangle of the 87^{87}Rb atoms; ℏ\hbar is the reduced Planck’s constant.

The Rydberg Many-Body Hamiltonian already implies from its subscripts that you can also have local control over your atoms. In Bloqade this local control extends to any term in the Hamiltonian while on Aquila this is currently restricted to the Δj\Delta_j laser detuning term.

Fields in Bloqade give you local (single-atom) control over the many-body Rydberg Hamiltonian.

They are a sum of one or more spatial modulations, which allows you to scale the amplitude of the waveform across the different sites in the system:

Fi(t)=∑αCiαfα(t)F_{i}(t) = \sum_{\alpha} C_{i}^{\alpha}f_{\alpha}(t) Ciα∈RC_{i}^{\alpha} \in \mathbb{R} fα(t) ⁣:R→Rf_{\alpha}(t) \colon \mathbb{R} \to \mathbb{R}

The ii-th component of the field is used to generate the drive at the ii-th site.

Note that the drive is only applied if the ii-th site is filled with an atom.

You build fields in Bloqade by first specifying the spatial modulation followed by the waveform it should be multiplied by.

In the case of a uniform spatial modulation, it can be interpreted as a constant scaling factor where Ciα=1.0C_{i}^{\alpha} = 1.0.