Measurement based uncomputation for quantum circuit optimization
AssigneeGoogle Inc.
InventorCraig Gidney
Life of this patent
Estimating the term…
Abstract
Methods and apparatus for optimizing a quantum circuit. In one aspect, a method includes identifying one or more sequences of operations in the quantum circuit that un-compute respective qubits on which the quantum circuit operates; generating an adjusted quantum circuit, comprising, for each identified sequence of operations in the quantum circuit, replacing the sequence of operations with an X basis measurement and a classically-controlled phase correction operation, wherein a result of the X basis measurement acts as a control for the classically-controlled correction phase operation; and executing the adjusted quantum circuit.
Claims16
A method comprising:
- performing, using a plurality of qubits, a quantum computation, wherein the quantum computation comprises an un-compute operation;
- during the performing of the quantum computation:
- identifying one or more sequences of operations for performing the un-compute operation on one or more of the plurality of qubits, respectively;
- for each identified sequence of operations:
- replacing the sequence of operations with an X basis measurement and a classically-controlled phase correction operation to provide an adjusted sequence of operations for performing the un-compute operation, wherein a result of the X basis measurement acts as a control for the classically-controlled correction phase operation;
- and
- executing the adjusted one or more sequences of operations on the one or more qubits, respectively, to run the un-compute operation inline, wherein qubits measured in the X basis are provided for use in other operations included in the quantum computation.
An apparatus comprising:
- one or more classical processors;
- and
- quantum computing hardware in data communication with the one or more classical processors, wherein the apparatus is configured to perform operations comprising:
- performing, using a plurality of qubits included in the quantum computing hardware, a quantum computation, wherein the quantum computation comprises an un-compute operation;
- during the performing of the quantum computation:
- identifying, by the one or more classical processors, one or more sequences of operations for performing an un-compute operation on one or more of the plurality of qubits, respectively;
- for each identified sequence of operations:
- replacing, by the one or more classical processors, the sequence of operations with an X basis measurement and a classically-controlled phase correction operation to provide an adjusted sequence of operations for performing the un-compute operation, wherein a result of the X basis measurement acts as a control for the classically-controlled correction phase operation;
- and
- executing, by the quantum computing hardware, the adjusted one or more sequences of operations on the one or more qubits, respectively, to run the un-compute operation inline, wherein qubits measured in the X basis are provided for use in other operations included in the quantum computation.
A method for uncomputing one or more qubits, the method comprising:
- identifying one or more sequences of operations for performing an un-compute operation on the one or more qubits, respectively, wherein the one or more sequences of operations for performing an un-compute operation on the one or more qubits are part of a quantum circuit, the quantum circuit comprising multiple operations for uncomputing a table lookup operation, wherein the multiple operations operate on i) a control register comprising one or more qubits, ii) an address register comprising one or more qubits, and iii) a target register comprising one or more qubits;
- for each identified sequence of operations:
- replacing the sequence of operations with an X basis measurement and a classically-controlled phase correction operation to provide an adjusted sequence of operations for performing the un-compute operation, wherein a result of the X basis measurement acts as a control for the classically-controlled correction phase operation, wherein replacing the sequence of operations with an X basis measurement and a classically-controlled phase correction operation to provide an adjusted one or more sequence of operations for performing the un-compute operation comprises generating an adjusted quantum circuit;
- and
- executing the adjusted one or more sequences of operations on the one or more qubits, respectively, wherein executing the adjusted one or more sequences of operations on the one or more qubits, respectively, comprises executing the adjusted quantum circuit, comprising:
- applying a CNOT operation to a first qubit in the address register and a second qubit, wherein:
- the first qubit represents a least significant bit, the second qubit comprises an ancilla qubit prepared in a 1 state, and the first qubit acts as a control for the CNOT operation;
- applying a first Hadamard gate to the first qubit and a second Hadamard gate to the second qubit;
- applying multiple X basis measurements on qubits in the target register to determine a set of address register states that require an amplitude negation to uncompute the table lookup operation;
- applying a classically controlled phase correction operation based on the determined set of address register states, comprising applying an additional table lookup computation from a fixup table onto the first qubit and second qubit to negate amplitudes of the states in the determined set of address register states, wherein entries Fj of the fixup table F are expressed as
- F
- j
- =
- {
- 00
- (
- 2
-
- j
- ∉
- S
- )
- ⩓
- (
- 2
-
- j
- +
- 1
- ∉
- S
- )
- 01
- (
- 2
-
- j
- ∈
- S
- )
- ⩓
- (
- 2
-
- j
- +
- 1
- ∉
- S
- )
- 10
- (
- 2
-
- j
- ∉
- S
- )
- ⩓
- (
- 2
-
- j
- +
- 1
- ∈
- S
- )
- 11
- (
- 2
-
- j
- ∈
- S
- )
- ⩓
- (
- 2
-
- j
- +
- 1
- ∈
- S
- )
- where S represents the determined set of states;
- and
- uncomputing the first qubit and second qubit.
A method for uncomputing one or more qubits, the method comprising:
- identifying one or more sequences of operations for performing an un-compute operation on the one or more qubits, respectively, wherein the one or more sequences of operations for performing an un-compute operation on the one or more qubits are part of a quantum circuit, the quantum circuit comprising multiple operations for uncomputing a table lookup operation, wherein the multiple operations operate on i) a control register comprising one or more qubits, ii) an address register comprising one or more qubits, and iii) a target register comprising one or more qubits;
- for each identified sequence of operations:
- replacing the sequence of operations with an X basis measurement and a classically-controlled phase correction operation to provide an adjusted sequence of operations for performing the un-compute operation, wherein a result of the X basis measurement acts as a control for the classically-controlled correction phase operation, wherein replacing the sequence of operations with an X basis measurement and a classically-controlled phase correction operation to provide an adjusted one or more sequence of operations for performing the un-compute operation comprises generating an adjusted quantum circuit, wherein the adjusted quantum circuit is configured to operate on multiple clean ancilla qubits;
- and
- executing the adjusted one or more sequences of operations on the one or more qubits, respectively, wherein executing the adjusted one or more sequences of operations on the one or more qubits, respectively, comprises executing the adjusted quantum circuit, comprising:
- applying a CNOT operation to a first qubit in the address register and a second qubit, wherein:
- the first qubit represents a least significant bit, the second qubit comprises an ancilla qubit prepared in a 1 state, and the first qubit acts as a control for the CNOT operation;
- applying a first Hadamard gate to the first qubit and a second Hadamard gate to the second qubit;
- applying multiple X basis measurements on qubits in the target register to determine
- a set of address register states that require an amplitude negation to uncompute the table lookup operation;
- applying a classically controlled phase correction operation based on the determined set of address register states, comprising applying an additional table lookup computation from a fixup table onto the first qubit and second qubit to negate amplitudes of the states in the determined set of address register states;
- and
- uncomputing the first qubit and second qubit.
Dependencies are inferred from the claim text.