IP Library Granted Patent US 11,699,002
Granted Patent B2
US 11,699,002 · App. 16/886,620 · Granted Jul 11, 2023

Separable-state simulation of quantum program code

Inventors: Thomas Haener (Zug, CH); Vadym Kliuchnikov (Redmond, WA); Martin Henri Roetteler (Woodinville, WA)
Assignee: Microsoft Technology Licensing, LLC
G06F30/20G06N10/00
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,699,002
App. No.
16/886,620
Granted
Jul 11, 2023
Kind
B2
Abstract

A method to digitally simulate an evolving quantum state of a qubit register of a quantum computer is enacted in a computer system. The quantum state is represented as an array of complex-valued amplitudes, where each amplitude is associated with an individual qubit of the qubit register, and where the quantum state is separable as a product of the individual quantum states of each qubit. One or more quantum-program instructions corresponding to a quantum circuit are received, and the amplitudes of the array are adjusted to reflect a change in the quantum state pursuant to execution of the quantum circuit, the change preserving the separability of the quantum state as a product of individual quantum states of each qubit. One or more of the adjusted amplitudes are then outputted computationally, in such form as to be receivable as input to a computer program.

Claims (37)

1. A method enacted in a computer system to digitally simulate an evolving quantum state of a qubit register of a quantum computer, the method comprising:

representing the quantum state as an array of complex-valued amplitudes, where each amplitude is associated with an individual qubit of the qubit register, and where the quantum state is separable as a product of individual quantum states of each qubit of the qubit register;

receiving one or more quantum-program instructions corresponding to a quantum circuit;

adjusting the amplitudes of the array to reflect a change in the quantum state pursuant to execution of the quantum circuit, wherein the change preserves separability of the quantum state as a product of individual quantum states of each qubit of the qubit register; and

computationally outputting, in such form as to be receivable as input to a computer program, one or more of the amplitudes as adjusted.

2. The method of claim 1 wherein the array includes, for each qubit i of the qubit register:

a complex-valued amplitude α i representing a contribution of standard basis |0 for that qubit, and

a complex-valued amplitude β i representing the contribution of standard basis |1 for that qubit.

3. The method of claim 1 wherein each quantum gate of the quantum circuit is a single-qubit quantum gate.

4. The method of claim 1 wherein each control qubit of the quantum circuit is in a standard basis state.

5. The method of claim 1 wherein the quantum circuit includes a multi-qubit quantum gate or a controlled quantum gate with at least one control qubit in a superposition state, the method further comprising:

transforming the quantum circuit to a functionally equivalent quantum circuit that preserves separability of the quantum state as a product of individual quantum states of each qubit of the qubit register; and

prior to adjusting the amplitudes, replacing the one or more instructions to correspond to the functionally equivalent quantum circuit.

6. The method of claim 5 wherein the quantum circuit includes a controlled quantum gate with at least one control qubit in a superposition state, and wherein transforming the quantum circuit includes exchanging control and target qubits of the controlled quantum gate.

7. The method of claim 5 wherein the quantum circuit includes a controlled quantum gate followed immediately by measurement, and wherein transforming the quantum circuit includes shifting the measurement in front of the controlled quantum gate.

8. The method of claim 5 wherein transforming the quantum circuit includes changing a target of a temporary parity computation between two qubits of the qubit register.

9. The method of claim 1 further comprising signaling failure if the quantum circuit includes a multi-qubit quantum gate or a controlled quantum gate with at least one control qubit in a superposition state, which is not transformed into a functionally equivalent quantum circuit that preserves separability of the quantum state as a product of individual quantum states of each qubit of the qubit register.

10. The method of claim 1 wherein the one or more instructions include an allocation instruction, the method further comprising representing an additional qubit of the qubit register pursuant to the allocation instruction.

11. The method of claim 1 wherein the one or more instructions include a measurement instruction, the method further comprising zeroing at least one of the amplitudes pursuant to the measurement instruction.

12. The method of claim 1 wherein the one or more instructions include a deallocation instruction, the method further comprising adjusting the amplitudes of the array to reflect removal of at least one qubit from the qubit register pursuant to the deallocation instruction.

13. The method of claim 1 wherein the quantum circuit includes an X quantum gate, a CNOT quantum gate, or an n-ary controlled NOT quantum gate.

14. A method enacted in a computer system to test a quantum program configured for execution on a quantum computer, the method comprising:

receiving the quantum program;

representing an evolving quantum state of a qubit register of the quantum computer as an array of complex-valued amplitudes, where each amplitude is associated with an individual qubit of the qubit register, and where the quantum state is separable as a product of individual quantum states of each qubit of the qubit register;

retrieving from the quantum program one or more instructions corresponding to a quantum circuit;

adjusting the amplitudes of the array to reflect a change in the quantum state pursuant to execution of the quantum circuit, wherein the change preserves separability of the quantum state as a product of individual quantum states of each qubit of the qubit register; and

computationally exposing, in such form as to be receivable as input to a computer program, one or more of the amplitudes as adjusted.

15. The method of claim 14 further comprising receiving a test vector and initializing the array of complex-valued amplitudes based on the test vector.

16. The method of claim 15 wherein the text vector is one of a distribution of test vectors received, and wherein the method is executed iteratively over the distribution of test vectors.

17. The method of claim 14 further comprising extracting a global phase of the quantum state based on the amplitudes exposed.

18. The method of claim 17 wherein the one or more instructions include a deallocation instruction, and wherein the global phase is extracted pursuant to the deallocation instruction, the method further comprising distributing a phases of at least one deallocated qubit elsewhere in the qubit register.

19. A method enacted in a computer system to digitally simulate an evolving quantum state of a qubit register of a quantum computer, the method comprising:

representing the quantum state as an array of complex-valued amplitudes, where each amplitude is associated with an individual qubit of the qubit register, and where the quantum state is separable as a product of mutually non-entangled quantum states of subsets of qubits of the qubit register;

receiving one or more quantum-program instructions corresponding to a quantum circuit;

adjusting the amplitudes of the array to reflect a change in the quantum state pursuant to execution of the quantum circuit, wherein the change preserves separability of the quantum state as a product of the mutually non-entangled quantum states of the subsets of qubits of the qubit register; and

computationally outputting, in such form as to be receivable as input to a computer program, one or more of the amplitudes as adjusted.

20. The method of claim 19 wherein the one or more instructions are retrieved from a quantum program, and wherein at least one of the subsets of qubits includes mutually entangled qubits that disentangle on continued execution of the quantum program.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 28, 2020
From: HAENER, THOMAS; KLIUCHNIKOV, VADYM; ROETTELER, MARTIN HENRI
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 052781/0206 →
Continuity (1)
Related Publication 20210374307A1 · Dec 2, 2021
Cited By (1)
US 12,619,902