Back

Pulser Studio: the first zero-code neutral atoms quantum computing programming platform

Published by

Alexandra De Castro

,

February 16, 2023

Quantum Computing Software Interface

Experience the quantum revolution with Pulser Studio, the first zero-code neutral atoms quantum computer programming platform

How do quantum processing units (QPUs) work? How are they programmed ? You can now experience the quantum revolution with Pulser Studio, the first zero-code neutral atoms quantum computer programming platform. Everyone is welcome to enter our platform and acquire novel insights into quantum computing by simulating our hardware through a unique user experience. With Pulser Studio, you will familiarize yourself with our technology and explore its capabilities without writing a single line of code. Our programming platform will take you step-by-step through your simulation with our graphical widgets that provide you with interactive information throughout the whole process.

Setting up a neutral atoms’ quantum processors for computing

Our quantum processing unit is based on neutral atoms, which is one of the most reliable and scalable existing architectures.
In our quantum processor, the first thing that we do is to trap neutral rubidium atoms in a vacuum chamber. Then, we use very focused and intense lasers, called optical tweezers, to capture the atoms individually and manipulate them to create 2D or 3D arrays. We can arrange them in any shape! An ordered array of atoms is called a register. The ability to arrange atoms in an arbitrary configuration is a remarkable property of the neutral atoms QPUs, giving the user an exceptional degree of control over the system.

In our QPU, each atom in the register represents a qubit, the quantum information unit. In classical computing, we encode the information in bits, which can take 0 or 1 values. In quantum computing, we encode the information in quantum states which we can label ├ |0⟩ and ├ |1⟩. Unlike the classical bit, the qubit can be in either on ├ |0⟩ or on ├ |1⟩ or in both at the same time! With a certain probability of being ├ |0⟩ and a certain probability of being ├ |1⟩. This quantum property is called superposition.

In our QPU, the states |0> and |1> are represented by the atomic energy levels and we shine laser pulses onto the atoms to drive transitions between those states. All details of the physics and math involved in quantum computing with neutral atoms can be found in our whitepaper.

Creating your sequence with Pulser Studio

With Pulser Studio, you create your register by adding or removing atoms. You can add as many atoms as you want and place them in your desired configuration! In the simulation using your local browser, you can add up to 12 atoms. Up to 6 atoms, the simulation runs automatically; from 7 to 12, you should hit the simulation button. Hovering over the atoms, the programming platform will show you all information related to them, such as their energy states and positions.

Once you set up your register, you can create your pulse sequences step by step with an accessible graphical interface and get immediate feedback on each step. With Pulser Studio you control the parameters of the laser pulses, such as the duration, the wavefront, and the phase, to drive coherent transition between the atomic energy levels of your qubits.

For this step, you can customize four channels: Rydberg local and global, and Raman local and global. A channel is global when it targets the whole register and local when it targets an individual atom. In the local mode you can choose the qubit you want to target. You can also select the basis, which defines the two energy levels addressed by the pulses. Let's see what entails to run your sequence in the Rydberg or Raman basis.

In quantum computing, it is crucial to create an entanglement with your qubits. Entanglement is a fundamental property of quantum objects, for which each subpart of a system, in this case our qubits, is strongly correlated to the other subparts even when they are separated by a distance such that they can no longer interact. However, entanglement is brittle, and you can lose it if your qubits collide between them or interact with the environment. For that reason, we place the atoms in the register far apart from each other (a few micrometers) to avoid collisions.

But to prepare the entanglement we need to provoke van der Waals interactions between our atoms. One way to achieve this is to drive the atoms to their Rydberg states {|r⟩} —very high energy states—that makes atoms grow and strongly interact with a neighboring Rydberg atom over long distances. In Pulser Studio, you create Rydberg states on your atoms through the Rydberg channel. A Rydberg atom can influence an adjacent atom preventing it from reaching the Rydberg state. This is called Rydberg blockade, an effect we can exploit to solve many kinds of problems, for example combinatorial problems.

On the other hand, in the Raman channel, the qubit states are encoded in two hyperfine ground states of the system, named ground, |├ g⟩ = |├ 0⟩, and hyperfine, |├ h⟩= |├ 1⟩. For these energy levels, the Rydberg blockade effect is not present.

Execution and results

Neutral atom architectures can work in two different modes: digital or analog. In the digital mode, we execute algorithms in sequences of discrete operations, commonly known as quantum gates. In the analog case, quantum computer evolves towards an answer continuously. In the analog mode, devices work in the so-called Noisy Intermediate-Scale Quantum (NISQ) that allows reaching an early quantum advantage with few qubits. We provide a detailed explanation of digital and analog approaches in our previous post.

In quantum computing, we finalize a sequence by measuring the final state of all atoms. The currently available local simulation allows you to explore your sequence's results in the Histogram and Quantum State tabs. Hovering a specific outcome will show you the graphical representation of the state in the Register tab. You can then choose between different measurement basis or representations. By default, the simulation uses three possible states available: two hyperfine states and a Rydberg state. Each mode of operation will have its own representation:

Analog uses the ground-Rydberg basis. The ground level is considered the |0⟩ qubit and the Rydberg level is the |1⟩. Any remaining hyperfine state will be projected on |0⟩.

Digital uses the digital (hyperfine) basis. The two hyperfine states are mapped to |0⟩ and |1⟩. Any remaining qubit in the Rydberg basis will be projected on |0⟩.

You can see the interaction strength depicted as solid links between atoms, as well as the laser amplitude, in the register's tap. More details on the quantum dynamics, execution, and results in our post Exploring the Features of Pulser Studio.

Visualizing the code you generate with your sequence

At PASQAL, we use the full stack approach to support the capabilities of neutral atoms quantum processors. Pulser Studio is the latest addition to that stack. Previously to Pulser Studio, we developed Pulser, an open-source Python library for programming neutral atoms quantum processing units (QPUs) at the pulse level. Pulser is central to our software stack. It defines the base format for all pulse sequences created and exchanged across the different components of the stack.

Even though you won’t need to write a single line of code to create and run your simulation, our platform has a code panel where you can visualize the code you are creating with your simulation. The generated Pulser code is highlighted in the Code panel if a given element of the register or the pulse sequence is selected. Moreover, you can export your code or import a simulation. The codes generated by you can help you create real use cases in the future.

Currently, you can run your simulation locally in your browser. In the next updates of the platform, you will be able to use our real QPUs or our QPU emulators directly on the cloud. When using the local engine, the intermediary states of the system are accessible at any point between the beginning and the end of the sequence, allowing you to effectively explore the dynamics of the system and the effects of each change of the parameters. This is particularly important when using the analog mode to help you understand and build an intuition on the effects of your inputs and results.

Gallery of examples

For those who want to learn more about applications of our technology, we provide a gallery of examples. It contains a few basic examples for now and is meant to grow in the near future.

Get started!

If you are ready to dive into the Pulser Studio experience, follow our step-by-step guide. Pulser Studio is publicly available today by signing up with your corporate or academic account at pulserstudio.pasqal.cloud. Create an account and start enjoying our programming platform.

References Henriet, L., Beguin, L., Signoles, A., Lahaye, T., Browaeys, A., Reymond, G. O., & Jurczak, C. (2020). Quantum computing with neutral atoms. Quantum, 4, 327. https://doi.org/10.22331/q-2020-09-21-327. Silvério, H., Grijalva, S., Dalyac, C., Leclerc, L., Karalekas, P. J., Shammah, N., Beji, M., Henry, L. P., & Henriet, L. (2022). Pulser: An open-source package for the design of pulse sequences in programmable neutral-atom arrays. Quantum, 6, 629. https://doi.org/10.22331/q-2022-01-24-629. Relevant links

Visit our Pulser Studio here: pulserstudio.pasqal.cloud. Visit our Pulser open source library here: github.com/pasqal-io/.