Introducing Control Flow in Qubit Allocation for Quantum Turing Machines
Different platforms for quantum computation are currently being developed with a steadily increasing number of physical qubits. To make today's devices practical for quantum software engineers, novel programming tools with maximal flexibility have to be developed. One example to extend the applicability of quantum computers to more complex computational problems is quantum control flow. The concept of control flow allows for expanded algorithmic power of the programming language in the form of conditional statements and loops, which a linearly-executed program is incapable of computing. In this work, we introduce a framework to reconcile the non-deterministic properties of quantum control flow when allocating logical qubits from a given quantum circuit to a specific NISQ device in the pre-processing and compiling stage. We consider the respective connectivity and fidelity constraints, with the goal of reducing the expected error rate of the computation. This work will allow for quantum developers and NISQ devices together to more efficiently exploit the compelling algorithmic power that the quantum Turing machine model provides.