Optimized block encoding of low-rank fermion hamiltonians
US-2021295194-A1 · Sep 23, 2021 · US
US11537376B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11537376-B2 |
| Application number | US-202016828682-A |
| Country | US |
| Kind code | B2 |
| Filing date | Mar 24, 2020 |
| Priority date | Oct 24, 2019 |
| Publication date | Dec 27, 2022 |
| Grant date | Dec 27, 2022 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
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.
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.
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
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
Related publications grouped by family.
Answers are generated from the same data shown on this page.