Automatic quantum program optimization using adjoint-via-conjugation annotations

US11537376B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11537376-B2
Application numberUS-202016828682-A
CountryUS
Kind codeB2
Filing dateMar 24, 2020
Priority dateOct 24, 2019
Publication dateDec 27, 2022
Grant dateDec 27, 2022

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

None of the existing quantum programming languages provide specialized support for programming patterns such as conditional-adjoint or adjoint-via-conjugation. As a result, compilers of these languages fail to exploit the optimization opportunities mentioned in this disclosure. Further, none of the available quantum programming languages provide support for automatic translation of circuits using clean qubits to circuits that use idle qubits. Thus, the resulting circuits oftentimes use more qubits than would be required. Embodiments of the disclosed technology, thus allow one to run said circuits on smaller quantum devices. Previous multiplication circuits make use of (expensive) controlled additions. Embodiments of the disclosed technology employ multipliers that work using conditional-adjoint additions, which are cheaper to implement on both near-term and large-scale quantum hardware. The savings lie between 1.5 and 2× in circuit depth for large number of qubits.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method, comprising: receiving a high-level description of a quantum program to be implemented in a quantum-computing device; and compiling the high-level description of the quantum program into a lower-level program that is executable by a quantum-computing device, wherein the compiling includes: recognizing one or more adjoint-via-conjugation annotations in the high-level description; and generating the lower-level program so that the quantum-computing device uses one or more idle qubits in response to the one or more adjoint-via-conjugation annotations. 2. The method of claim 1 , wherein the one or more idle qubits replace a respective one or more qubits that are in a clean state, thereby reducing a total number of qubits required to implement the quantum program. 3. The method of claim 1 , further comprising implementing the lower-level program in the quantum-computing device. 4. The method of claim 1 , wherein the compiling comprises matching code fragments that correspond to conditional-adjoint statements. 5. The method of claim 4 , wherein the matching uses information given in the one or more adjoint-via-conjugation annotations. 6. The method of claim 1 , wherein the one or more idle qubits are in an unknown superposition state. 7. The method of claim 1 , wherein the compiling comprises performing one or more replacements of one or more references to controlled operations in the high-level description of the quantum program with references to the one or more conditional-adjoint statements. 8. The method of claim 7 , wherein the performing of the one or more replacements is conditional on whether there are enough available qubits in the quantum-computing device when operated in accordance with the lower-level program. 9. The method of claim 1 , wherein the lower-level program implements a reversible multiplier in the quantum-computing device using conditional-adjoint additions instead of regular controlled additions. 10. A computer-implemented method, comprising: receiving a high-level description of a quantum program to be implemented in a quantum-computing device; and compiling the high-level description of the quantum program into a lower-level program that is executable by a quantum-computing device, wherein the compiling includes: converting statements in the high-level description into one or more conditional-adjoint statements; and generating the lower-level program so that the quantum-computing device uses one or more idle qubits in response to one or more adjoint-via-conjugation annotations rather than one or more clean qubits. 11. The method of claim 10 , wherein the one or more idle qubits replace a respective one or more qubits that are in a clean state, thereby reducing a total number of qubits required to implement the quantum program. 12. The method of claim 10 , further comprising implementing the lower-level program in the quantum-computing device. 13. The method of claim 10 , wherein the compiling comprises matching code fragments that correspond to conditional-adjoint statements. 14. The method of claim 13 , wherein the matching uses information given in the one or more adjoint-via-conjugation annotations. 15. The method of claim 10 , wherein the one or more idle qubits are in an unknown superposition state. 16. The method of claim 10 , wherein the compiling comprises performing one or more replacements of one or more references to controlled operations in the high-level description of the quantum program with references to the one or more conditional-adjoint statements. 17. The method of claim 16 , wherein the performing of the one or more replacements is conditional on whether there are enough available qubits in the quantum-computing device when operated in accordance with the lower-level program. 18. A system, comprising: a quantum computing device; and a classical computing device in communication with the quantum computing device, the classical computing device being programmed to perform a method comprising: compiling the high-level description of the quantum program into a lower-level program that is executable by a quantum-computing device, wherein the compiling includes: recognizing one or more adjoint-via-conjugation annotations in the high-level description; and generating the lower-level program so that the quantum-computing device uses one or more idle qubits in response to the one or more adjoint-via-conjugation annotations. 19. The system of claim 18 , wherein the one or more idle qubits replace a respective one or more qubits that are in a clean state, thereby reducing a total number of qubits required to implement the quantum program. 20. The system of claim 18 , wherein the compiling comprises matching code fragments that correspond to conditional-adjoint statements.

Assignees

Inventors

Classifications

  • G06F8/447Primary

    Target code generation · CPC title

  • Models of quantum computing, e.g. quantum circuits or universal quantum computers · CPC title

  • Quantum computing, i.e. information processing based on quantum-mechanical phenomena · CPC title

  • G06N10/80Primary

    Quantum programming, e.g. interfaces, languages or software-development kits for creating or handling programs capable of running on quantum computers; Platforms for simulating or accessing quantum computers, e.g. cloud-based quantum computing · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11537376B2 cover?
None of the existing quantum programming languages provide specialized support for programming patterns such as conditional-adjoint or adjoint-via-conjugation. As a result, compilers of these languages fail to exploit the optimization opportunities mentioned in this disclosure. Further, none of the available quantum programming languages provide support for automatic translation of circuits usi…
Who is the assignee on this patent?
Microsoft Technology Licensing Llc
What technology area does this patent fall under?
Primary CPC classification G06F8/447. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Dec 27 2022 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).