Strong simulation methods for unit testing quantum software
AssigneeMicrosoft Technology Licensing, LLC
InventorsChristopher Granade, Vadym Kliuchnikov, Andres C. Paz
Life of this patent
Estimating the term…
Abstract
The disclosed technology includes example embodiments that provide a framework for testing quantum programs in a manner similar to unit testing of classical programs by using a simulator that can predict the probability of measurements in a quantum system (known as a “strong simulator”). For a particular quantum program, embodiments of the disclosed technology use information exposed by strong simulation that would not otherwise be available to compare the given program to a desired reference program.
Claims16
A method of testing a quantum program, comprising:
- preparing an entangled state from an initial state;
- acting a quantum program under test to half of the entangled state;
- acting an adjoint of a quantum program defining expected behavior on the half of the entangled state;
- unpreparing the entangled state;
- and
- verifying the quantum program under test based on a comparison of the unprepared entangled state and the initial state.
One or more computer-readable media storing computer-executable instructions, which when executed by a processor cause the processor to perform a method, the method comprising:
- preparing an entangled state from an initial state;
- acting a quantum program under test to half of the entangled state;
- acting an adjoint of a quantum program defining expected behavior on the half of the entangled state;
- unpreparing the entangled state;
- and
- determining the correctness of the quantum program under test based on a comparison of the unprepared entangled state and the initial state.
A system, comprising:
- a quantum computing device;
- and
- a classical computing device in communication with the quantum computing device and adapted to perform a method, the method comprising:
- testing correctness of a quantum program by
- preparing an entangled state from an initial state;
- acting a quantum program under test to half of the entangled state;
- acting an adjoint of a quantum program defining expected behavior on the half of the entangled state;
- unpreparing the entangled state;
- and
- determining the correctness of the quantum program to be tested based on a comparison of the unprepared entangled state and the initial state.
Dependencies are inferred from the claim text.