ComputingChemistryComputer ScienceProgramming LanguagesQuantum ComputingQuantum MechanicsQuantum AlgorithmsQuantum ComputationQuantum Programming LanguagesQuantum SimulationQuantum StatesQuantum SuperpositionAssertionsQuantum DebuggingQuantum Programming ModelsStatistical Testing
Quantum computing experimentation requires new tools, yet debugging quantum programs is difficult because internal states are hard to probe, interpret, and there are no established guidelines. This work introduces quantum program assertions based on statistical tests on classical observations. We extend a quantum programming language with assertions that use statistical tests on classical observations to verify whether a program state matches expected classical, superposition, or entangled values, and we apply these assertions in a simulator to debug three benchmark quantum programs. We identify bug types and propose a strategy that employs quantum programming patterns to place assertions that prevent bugs.
In support of the growing interest in quantum computing experimentation, programmers need new tools to write quantum algorithms as program code. Compared to debugging classical programs, debugging quantum programs is difficult because programmers have limited ability to probe the internal states of quantum programs; those states are difficult to interpret even when observations exist; and programmers do not yet have guidelines for what to check for when building quantum programs. In this work, we present quantum program assertions based on statistical tests on classical observations. These allow programmers to decide if a quantum program state matches its expected value in one of classical, superposition, or entangled types of states. We extend an existing quantum programming language with the ability to specify quantum assertions, which our tool then checks in a quantum program simulator. We use these assertions to debug three benchmark quantum programs in factoring, search, and chemistry. We share what types of bugs are possible, and lay out a strategy for using quantum programming patterns to place assertions and prevent bugs.
24
Characterizing quantum supremacy in near-term devices
Sergio Boixo, Sergei V. Isakov, Vadim Smelyanskiy et al. · Nature Physics · 2018 · 1.2K citations · Full text
Computing, Mathematics, Physics +11
Quantum algorithms: an overview
Ashley Montanaro · npj Quantum Information · 2016 · 1K citations · Full text
Computing, Computer Science, Physics +11
Towards quantum chemistry on a quantum computer
B. P. Lanyon, James Whitfield, Geoff Gillett et al. · Nature Chemistry · 2010 · 814 citations · Full text
Natural Sciences, Chemistry, Physics +12