Boolean satisfiability in quantum compilation

Quantum compilation is the task of translating a quantum algorithm implemented in a high-level quantum programming language into a technology-dependent instructions flow for a physical quantum computer. To tackle the large gap between the quantum program and the low-level instructions, quantum compilation is split into a multi-stage flow consisting of several layers of abstraction. Several different individual tasks have been proposed for the layers in the flow, many of them are NP-hard. In this article, we will describe the flow and we will propose algorithms based on Boolean satisfiability, which is a good match to tackle such computationally complex problems. This article is part of the theme issue ‘Harmonizing energy-autonomous computing and intelligence’.

[1]  Stephen A. Cook,et al.  The complexity of theorem-proving procedures , 1971, STOC.

[2]  Davide Castelvecchi,et al.  Quantum computers ready to leap out of the lab in 2017 , 2017, Nature.

[3]  Matthias Troyer,et al.  A software methodology for compiling quantum programs , 2016, ArXiv.

[4]  Igor L. Markov,et al.  Synthesis and optimization of reversible circuits—a survey , 2011, CSUR.

[5]  Giovanni De Micheli,et al.  The EPFL Logic Synthesis Libraries , 2018, ArXiv.

[6]  Aaron R. Bradley,et al.  SAT-Based Model Checking without Unrolling , 2011, VMCAI.

[7]  Charles H. Bennett,et al.  Logical reversibility of computation , 1973 .

[8]  Mathias Soeken,et al.  Programming quantum computers using design automation , 2018, 2018 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[9]  Alán Aspuru-Guzik,et al.  Efficient quantum circuits for diagonal unitaries without ancillas , 2013, 1306.3991.

[10]  D. Gottesman An Introduction to Quantum Error Correction and Fault-Tolerant Quantum Computation , 2009, 0904.2557.

[11]  Lov K. Grover A fast quantum mechanical algorithm for database search , 1996, STOC '96.

[12]  Thierry Paul,et al.  Quantum computation and quantum information , 2007, Mathematical Structures in Computer Science.

[13]  Richard Královic Time and space complexity of reversible pebbling , 2004, RAIRO Theor. Informatics Appl..

[14]  J. Gambetta,et al.  Hardware-efficient variational quantum eigensolver for small molecules and quantum magnets , 2017, Nature.

[15]  Giovanni De Micheli,et al.  Reversible Pebbling Game for Quantum Memory Management , 2019, 2019 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[16]  G. S. Tseitin On the Complexity of Derivation in Propositional Calculus , 1983 .

[17]  Margaret Martonosi,et al.  Programming languages and compiler design for realistic quantum hardware , 2017, Nature.

[18]  Igor L. Markov,et al.  Constant-optimized quantum circuits for modular multiplication and exponentiation , 2012, Quantum Inf. Comput..

[19]  Peter Selinger,et al.  Quantum circuits of T-depth one , 2012, ArXiv.

[20]  Charles H. Bennett Time/Space Trade-Offs for Reversible Computation , 1989, SIAM J. Comput..

[21]  G. De Micheli,et al.  ROS: Resource-constrained Oracle Synthesis for Quantum Computers , 2019, QPL.

[22]  Giovanni De Micheli,et al.  Evaluating ESOP Optimization Methods in Quantum Compilation Flows , 2019, RC.

[23]  Jens Palsberg,et al.  Verification, Model Checking, and Abstract Interpretation , 2018, Lecture Notes in Computer Science.

[24]  Dmitri Maslov,et al.  Polynomial-Time T-Depth Optimization of Clifford+T Circuits Via Matroid Partitioning , 2013, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[25]  Olivier Bailleux,et al.  Efficient CNF Encoding of Boolean Cardinality Constraints , 2003, CP.

[26]  Christel Baier,et al.  Tools and Algorithms for the Construction and Analysis of Systems , 2015, Lecture Notes in Computer Science.

[27]  Igor L. Markov,et al.  Faster Quantum Number Factoring via Circuit Synthesis , 2013, ArXiv.

[28]  Martin Rötteler,et al.  Q# and NWChem: Tools for Scalable Quantum Chemistry on Quantum Computers , 2019, ArXiv.

[29]  Armin Biere,et al.  Symbolic Model Checking without BDDs , 1999, TACAS.

[30]  Jason Cong,et al.  On Area/Depth Trade-off in LUT-Based FPGA Technology Mapping , 1993, 30th ACM/IEEE Design Automation Conference.

[31]  Dmitri Maslov,et al.  On the advantages of using relative phase Toffolis with an application to multiple control Toffoli optimization , 2015, ArXiv.

[32]  Jens Siewert,et al.  Programmable networks for quantum algorithms. , 2003, Physical review letters.

[33]  Michele Mosca,et al.  Quantum circuit optimizations for NISQ architectures , 2019, Quantum Science and Technology.

[34]  Barenco,et al.  Elementary gates for quantum computation. , 1995, Physical review. A, Atomic, molecular, and optical physics.

[35]  Giovanni De Micheli,et al.  Exact Synthesis of ESOP Forms , 2018, Advanced Boolean Techniques.

[36]  Giovanni De Micheli,et al.  Compiling Permutations for Superconducting QPUs , 2019, 2019 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[37]  Nikolaj Bjørner,et al.  μZ- An Efficient Engine for Fixed Points with Constraints , 2011, CAV.

[38]  M. Mosca,et al.  A Meet-in-the-Middle Algorithm for Fast Synthesis of Depth-Optimal Quantum Circuits , 2012, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[39]  Aleks Kissinger,et al.  CNOT circuit extraction for topologically-constrained quantum memories , 2019, Quantum Inf. Comput..

[40]  Mauricio G. C. Resende,et al.  A continuous approach to inductive inference , 1992, Math. Program..

[41]  R. Feynman Simulating physics with computers , 1999 .

[42]  Robert K. Brayton,et al.  Efficient implementation of property directed reachability , 2011, 2011 Formal Methods in Computer-Aided Design (FMCAD).

[43]  Carsten Sinz,et al.  Towards an Optimal CNF Encoding of Boolean Cardinality Constraints , 2005, CP.

[44]  Rolf Drechsler,et al.  Complexity of reversible circuits and their quantum implementations , 2016, Theor. Comput. Sci..

[45]  John Preskill,et al.  Quantum Computing in the NISQ era and beyond , 2018, Quantum.

[46]  Jason Cong,et al.  Cut ranking and pruning: enabling a general and efficient FPGA mapping solution , 1999, FPGA '99.

[47]  Peter W. Shor,et al.  Polynomial-Time Algorithms for Prime Factorization and Discrete Logarithms on a Quantum Computer , 1995, SIAM Rev..

[48]  Giovanni De Micheli,et al.  SAT-based {CNOT, T} Quantum Circuit Synthesis , 2018, RC.

[49]  Robert K. Brayton,et al.  Improvements to Technology Mapping for LUT-Based FPGAs , 2006, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[50]  Giovanni De Micheli,et al.  LUT-Based Hierarchical Reversible Logic Synthesis , 2019, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[51]  Martin Rötteler,et al.  Quantum Resource Estimates for Computing Elliptic Curve Discrete Logarithms , 2017, ASIACRYPT.

[52]  Robert K. Brayton,et al.  SAT-based area recovery in structural technology mapping , 2018, 2018 23rd Asia and South Pacific Design Automation Conference (ASP-DAC).

[53]  Donald E. Knuth The Art of Computer Programming, Volume 4, Fascicle 6: Satisfiability , 2015 .