Wolfram quantum framework for analog QPUs: QuEra Aquila case
Wolfram Quantum Team
quantum AT wolfram.com
Analog quantum processing units (quantum annealers) use continuous variables for optimization tasks, such as finding global minima. Gate-based quantum computers use discrete quantum gates to manipulate qubits for versatile quantum algorithms, including factorization, simulation, and optimization. One example of analog Quantum Processing Units (QPUs) is Aquila, which is a neutral-atom QPU from QuEra Computing, with up to 256 qubit. Aquila is also available on Amazon Braket, which is accessible using AWS service connect from a Wolfram notebook. In this computational essay, we will focus on some examples from QuEra's recent white paper, and do the simulation using quantum functionalities of Wolfram quantum framework, and also show how to send queries to Aquila, using Amazon Braket.
This notebook has been published in the Wolfram Community, too: https://community.wolfram.com/groups/-/m/t/2983137
The Rydberg blockade effect arises from the strong interactions between Rydberg atoms. When two or more Rydberg atoms are in close proximity, the strong interactions between them can prevent multiple atoms from simultaneously being excited to a Rydberg state. In other words, the excitation of one Rydberg atom can “block” the excitation of nearby atoms.
Define positions of atoms in a 2D lattice
Plot atoms’s lattice
Find the final quantum state vector, and wrap it around by a QuantumState:
Let’s first analyze the Maximum independent set on unit disk graphs, classically.
Create a King’s graph with a 30% random dropout:
Show the King’s graph:
Find an independent vertex set of the King’s graph with a maximum number of vertices:
Highlight them in the graph:
Now, using a quantum algorithm, we will try to find those max independent vertices (in our case, it will be qubits 1, 3, 7 and 8, in a quantum system with 11 qubits).
Create the corresponding 2D lattice, with the distance of 5μm
Create the corresponding parameters of the Hamiltonian and plot them:
Find the time-dependent quantum state:
Final Rydberg population per site at a given time:
Plot Rydberg population per sites over time:
Final Rydberg population
Note an independent vertex set is a maximal set of vertices that are never incident to the same edge. Therefore, only picking sites (ie vertices) with high probabilities does not necessary provide the expected solution. For example, as one can see, in the example we studied, there is an edge between site 5 and 7.
Set vertex size by corresponding Rydberg population, and highlight the edge between sites with large-enough population:
Let’s calculate if all maximal independent sets have high probability in quantum version. To do so, we will multiply their Rydberg population as a measure. If quantum algorithm works fine, then the measure for that set should be close to one (or high enough). If not, then it means we won’t be able to find some solutions.
Using classical results, visualize what maximal independent sets are more likely to be obtained from quantum algorithm:
As one can see, not all of them will be obtained through quantum version. One resolution can be obtained classically, by sampling from sites based on their weights, and pick only those sets with no edge.
Try weighted sampling 10 times, return False if any edge between them:
In this section, we will send a query to QuEra Aquila, using Amazon Braket.
Send the job to QuEra Aquila:
Different of population between theory and experimental values for each site