Quantum simulation kernels

Citation Author(s):
Yongshang
Li
Submitted by:
Yongshang Li
Last updated:
Fri, 01/03/2025 - 09:55
DOI:
10.21227/wekb-pk96
License:
3 Views
Categories:
Keywords:
0
0 ratings - Please login to submit your rating.

Abstract 

Quantum simulation is the foundation for the design of many algorithms which share subroutines known as quantum simulation kernels. Optimizing the compilation of these kernels is crucial, with circuit synthesis and qubit mapping being the essential components of the compilation process. However, existing circuit synthesis methods either overlook qubit connectivity constraints (QCC) or focus solely on gate count optimization while neglecting the optimization of circuit depth. Similarly, current qubit mapping techniques do not work well with circuit synthesis methods.

To address these limitations, we propose \mysys, which comprises a connectivity-aware circuit synthesis algorithm and a Pauli-oriented qubit mapping algorithm. The synthesis algorithm employs heuristic strategies to generate shallower circuits, while the qubit mapping algorithm seamlessly collaborates with the circuit synthesis process. Compared to the state-of-the-art Paulihedral compiler, our approach significantly reduces both CNOT gate counts (by 13\%) and circuit depths (by 25\%).

This dataset contains all the quantum simulation programs used in the experiments in the PauliForest paper. These programs are divided into three sets: uccsd, molecular, and random. Each program is an array of multiple Pauli blocks. Each Pauli block is an array of multiple Pauli strings. Anyone can use this dataset to verify the experimental results of our paper with the open source code I provided on GitHub, the address is https://github.com/S4Plus/PauliGo. 

Instructions: 

Each quantum simulation kernel is stored as a text file. For example, [[IIIIIIIY, IIIIIIZY], [IIIIIXYX, IIIIIYYY]] means that the quantum simulation kernel consists of two Pauli blocks. The first Pauli block consists of two Pauli strings, IIIIIIIY and IIIIIIZY. The second Pauli block consists of two Pauli strings, IIIIIXYX and IIIIIYYY.

Dataset Files

LOGIN TO ACCESS DATASET FILES