About the QAGC 2023
The following information is for the year 2023.
May 3, 2023 - Start Date
July 31, 2023 - Final Submission Deadline
1st Place - $10,000 + presentation at IEEE Quantum week
2nd Place - $5,000 + presentation at IEEE Quantum week
3rd Place - $3,000 + presentation at IEEE Quantum week
4th Place - presentation at IEEE Quantum week
The top four (teams) will present their algorithms at the workshop hosted by QunaSys at IEEE Quantum Week 2023. It will be held as an in-person event with virtual participation in Bellevue, Washington, USA at the Hyatt Regency Bellevue on Seattle’s Eastside on Sep 17–22, 2023.
Quantum chemistry is considered one of the most promising fields for considering practical applications of NISQ devices and algorithms. The ground state energy of a molecule is an important quantity for understanding its properties and behavior, and many quantum chemistry studies focus on the ground state energy of individual atoms or molecules.
In QAGC, the task of participants is to calculate the ground state energy of a model (Hamiltonian) which we have prepared. Since the focuses of QAGC are on the industrial application and defining evaluation criteria for appropriate performance comparison of NISQ algorithms, the hamiltonian should have some properties as follows:
Has similar properties as the molecular Hamiltonian used in quantum chemistry.
In order to evaluate algorithms in large qubit systems that cannot be simulated in classical computers, the exact value of ground state energy of this hamiltonian can be calculated classically for the arbitrary size of the system.
We have prepared an orbital-rotated one-dimensional Fermi-Hubbard model. The hamiltonian of this model satisfies all of these properties. Please refer to the problem statement for details.
All the proposed algorithms are evaluated by the accuracy which is the absolute difference of proposed results and the exact solution.
The size of the system in evaluation will be 8 qubits.
The algorithm is evaluated by using the sampling simulator that reflects the properties of the NISQ device.
The number of shots that participants can use during sampling will be limited based on the expected execution time, which is calculated based on the circuit and shots.
The score S is calculated as the inverse of the average precision of 3 runs of the algorithm.
NISQ device simulation
To explore the practical applications of NISQ devices and visualize bottlenecks in their utilization, it is necessary to use simulators that reflect the features of NISQ devices.
In QAGC, the participants need to use a sampling simulator we have provided. This simulator automatically performs sampling that reflects the functioning of NISQ devices and calculates the expected execution time.
The NISQ device simulation is executed as follows:
1. Decomposition of the input circuit
The input circuit is decomposed based on the circuit executed on a real NISQ device.
2. Adding noise
Noise is added to each gate based on the real NISQ device.
After these procedures, the sampling is performed using the obtained noisy circuit.
In QAGC, two types of quantum circuit simulations that model real NISQ devices are provided:
Superconducting type simulation
The gate speed is relatively fast, but the accuracy is relatively low.
Ion Trap type simulation
The coupling between qubits is fully connected. The gate speed is slow, but the accuracy is high.
The detail of these features are written in technical_details.md.
The following Python software library can be used in QAGC.
QURI Parts (https://quri-parts.qunasys.com/)
QURI Parts is an open-source quantum computing library that is modular, efficient, and platform-independent, developed by QunaSys.
Platform-independent: Run one algorithm code on various simulators and platforms.
Modularity and Scalability: Combine parts to create your own algorithm, and easily create and use your own parts.
High-speed: Classical processing and simulator calls associated with quantum computing are efficient. It is the fastest platform-independent library using Qulacs.
Open source: Released under Apache License 2.0.
All codes we have prepared are written by using QURI Parts.
In QAGC, it is also possible to use Qiskit as an input of the sampling function. When you input a Qiskit circuit or operator, it is automatically converted into QURI Parts one and sampled. We have provided an example of how to use the sampler and sampling estimator with Qiskit circuits and operators in tutorials.example_qiskit.ipynb.
In QURI Parts, There are codes to convert Cirq circuits and operators to QURI Parts. When implementing with Cirq, you can use these codes to use the provided sampling function with Cirq circuits and operators.
The version of the main package used in the challenge for participants will be fixed as follows:
quri-parts == 0.10
qiskit == 0.39.5
cirq == 1.1.0
openfermion == 1.5.1
qulacs == 0.5.6
numpy == 1.23.5
If you use a version other than the specified one, or use other packages, please specify the name of that package and its version in the issue to be registered when submitting.
How to submit
First, please apply from here.
The participants' code will be submitted as an issue using this template summarizing your project.
The GitHub repository of QAGC :
Specifically, this issue should contain:
Team name: Your team's name
Team members: Listup all member's name
Project Description: A brief description of your project (1-2 paragraphs).
Presentation: A link to the presentation of your team’s hackathon project (e.g., video, jupyter notebook, slideshow, etc.).
Source code: A link to the final source code for your team's hackathon project (e.g., a GitHub repo).
The score will be calculated by the management side, and the rankings will be determined and published on the score page.
Participants can submit their work as many times as they want during the period of QAGC.
Participants can form teams with members.
Submitted code is evaluated once a week and rankings are presented along with scores.
Notes on submission
The participants's code can be viewed by other participants.
If you do not want it to be public, you can send the code directly to the management firstname.lastname@example.org. Even in that case, the score will be calculated and the ranking will be determined, but the code will not be made public.