Skip to content

gmeuli/stg-benchmark

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

The Single-Target Gate (STG) benchmark suite

The benchmark suite contains quantum circuits implementing small Boolean functions and expressed in the Q# quantum programming language.

The circuits are optimized according to the requirements of fault-tolerant quantum computing. For each representative of a spectral-equivalent class of Boolean functions with 4 and 5 inputs, the benchmark contains three different implementations: optimized for T-count, T-depth or number of qubits.

The paper [1] explains how a representative implementation can be used to generate a circuit for all Boolean functions in the same spectral-equivalent class, without increasing any of the indicated cost functions.

The algorithms used to generate the circuits optimized for the T-count and the T-depth are based on Xor-And-inverter Graphs (XAG) and are described in [1] and [2].

The algorithm that generates the circuits optimized for the number of qubits use ESOP-based synthesis and techniques from [3] and [4].

The benchmarks can be used in association with the LUT-based compilation method in [5] to generate quantum circuits implementing larger Boolean functions.

References

[1] G. Meuli, M. Soeken, M. Roetteler, G. De Micheli, Enumerating Optimal Quantum Circuits using Spectral Classification, ISCAS, 2020.

[2] G. Meuli, M. Soeken, E. Campbell, M. Roetteler, G. De Micheli, The Role of Multiplicative Complexity in Compiling Low T-count Oracle Circuits

[3] M. Amy, D. Maslov, M. Mosca, Polynomial-time T-depth Optimization of Clifford+T circuits via Matroid Partitioning, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems 33(10), 2014.

[4] D. Maslov, On the advantages of using relative phase Toffolis with an application to multiple control Toffoli optimization, Phys. Rev. A 93, 2016.

[5] G. Meuli, M. Soeken, M. Roetteler, G. De Micheli, ROS: Resource Constrained Oracle Synthesis for Quantum Computers, QPL, 2019.

Compilation results

optimal T-count optimal T-depth optimal number of qubits
truth table Qubits T-count T-depth Qubits T-count T-depth Qubits T-count T-depth
8000 7 12 4 11 12 3 6 24 12
8080 6 8 3 8 8 2 5 16 8
0888 7 12 4 10 12 3 6 31 14
8888 5 4 2 7 4 1 5 7 3
7080 6 8 3 9 8 2 5 19 8
7880 8 12 4 11 12 3 6 36 13
7888 7 8 2 8 8 1 5 12 3
6ac06ac0 8 8 2 9 8 1 6 12 3
6ac8e000 10 16 5 15 16 2 6 63 28
80008000 8 12 4 12 12 3 6 24 12
80808080 7 8 3 9 8 2 6 16 8
88808000 9 12 4 11 12 3 6 26 11
88808080 9 16 4 12 16 3 7 48 21
88808880 8 12 4 11 12 3 6 31 14
88888888 6 4 2 8 4 1 6 7 3
a8808000 10 16 5 13 16 3 7 54 22
a8808080 8 12 4 11 12 3 6 40 20
a8808880 10 16 5 12 16 3 7 55 22
a880a880 7 8 3 10 8 2 6 15 6
a8888880 8 12 4 11 12 3 6 27 12
a888a080 8 12 4 11 12 3 6 55 24
a8e0c800 10 16 5 12 16 3 7 87 36
aa808080 9 16 4 12 16 3 7 65 28
b884a880 9 12 4 11 12 3 6 32 13
bc88a080 10 16 5 13 16 3 6 55 21
e0a8c880 10 16 5 13 16 2 6 27 13
e1808880 9 12 4 12 12 3 6 70 33
e8808000 8 12 4 12 12 3 6 42 18
e8808002 10 16 5 12 16 3 7 83 34
e8808080 10 16 4 13 16 3 7 58 27
e8808880 9 12 4 12 12 3 6 55 26
e880a880 10 16 5 12 16 3 7 51 19
e880e880 9 12 4 12 12 3 6 36 14
e8818880 10 16 4 12 16 3 7 69 29
e881e880 10 16 5 13 16 3 7 44 15
e8888880 10 16 5 13 16 3 7 63 25
e8a08880 10 16 5 13 16 3 7 89 38
e8c0a880 10 16 5 12 16 3 6 47 21
e9a0c088 10 16 5 13 16 3 7 65 24
e9c0a880 10 16 5 13 16 3 7 79 32
ea808080 9 12 3 12 12 2 6 42 18
eca08880 10 16 5 13 16 3 6 47 22
f8808880 10 16 4 13 16 3 7 79 32
f8888880 9 12 4 12 12 3 6 29 11
fca08880 10 16 5 13 16 3 7 68 25
2888a000 8 12 3 11 12 2 6 32 16
6ac8e240 10 16 5 12 16 3 6 44 17
78888888 9 12 4 13 12 2 6 19 8
80000000 9 16 4 11 16 3 7 34 15
80808000 9 16 4 11 16 3 7 58 26
88888880 10 16 4 11 16 3 7 41 15
e9808080 8 12 4 13 12 2 6 27 13
eac86240 9 12 4 11 12 3 6 19 8
ee84a060 10 16 5 15 16 2 6 43 20

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages