Giovanni De Micheli LSI Director and Professor 

Mathias Soeken Postdoctoral Researcher Quantum Computing 

Giulia Meuli PhD Student Quantum Computing 
PhD project page: Hierarchical synthesis methods for scalable quantum computing 

Bruno Schmitt PhD Student Quantum Computing 
PhD project page:  
Fereshte Mozafari PhD Student Quantum Computing 
PhD project page: Reversible Logic Synthesis for NISQEra Quantum Computers 
Quantum computing
At LSI we use techniques known from electronic design automation (EDA) to improve the programming of quantum computers. In particular, we address the problem of quantum compilation, which is the task of running an abstract quantum algorithm on a concrete quantum computing device. A quantum algorithm solves a problem by making use of quantum phenomena such as superposition and entanglement, which enables a speedup over classical solutions (e.g., factorization, search, quantum chemistry, or solving linear equations). 
Quantum algorithms are described in terms of quantum programs written in a quantum programming language (such as ProjectQ, Q#, Qiskit, or PyQuil). In order to run the program on a physical quantum device, the program must be translated a sequence of elementary operations that can be run on the quantum computer. Such a sequence of quantum operations is referred to as quantum circuit. Since today’s quantum computers are very noisy and the decoherence time of qubits is short, it is key to find a small sequence of elementary quantum operations for a given problem. However, in order to cope with the complexity of a highlevel quantum program typically several levels of abstractions are required in the translation process. We address problems on several layers of abstraction:
 Synthesis: The task of mapping combinational logic into highlevel quantum operations. In this step the aim is to meet the qubit requirements of the targeted quantum device.
 Optimization: The task of optimizing a quantum circuit. A typical cost metric is to reduce the number of gates. Depending on the targeted quantum device, different gates may have a different cost. If the circuit is technologydependent, optimization must guarantee not to violate constraints posed by the targeted device.
 Mapping: The task of translating a technologyindependent quantum circuit into a technologydependent quantum circuit. The resulting circuit can only use those quantum operations which are supported by the target device and must adhere to possible coupling constraints of qubit pairs.
Open source software
Our open source toolkit RevKit contains implementations of reversible synthesis algorithms and design flows both developed at the laboratory as well as many other stateoftheart algorithms that were proposed in the recent years. RevKit is based on the tweedledum library, which is a headeronly C++ library for quantum circuit representation and manipulation. It includes several algorithms for synthesis, optimization, and mapping. The tweedledum library is part of the EPFL logic synthesis libraries.
RevKit is a command line interface which can be accessed as standalone executable or by means of a Python interface. The latter has been used to integrate RevKit into the quantum computing framework ProjectQ.