Quantum data loader
AssigneeQC Ware Corp.
InventorIordanis Kerenidis
Life of this patent
Estimating the term…
Abstract
This disclosure relates generally to the field of quantum algorithms and quantum data loading, and more particularly to constructing quantum circuits for loading classical data into quantum states which reduces the computational resources of the circuit, e.g., number of qubits, depth of quantum circuit, and type of gates in the circuit.
Claims24
A quantum circuit for use in encoding a first n-dimensional vector representing classical data into a first quantum state, encoding a second n-dimensional vector representing classical data into a second quantum state, and determining a distance between the first n-dimensional vector and the second n-dimensional vector, the quantum circuit comprising:
- 2n qubits;
- a first layer comprising an X gate applied to one of the 2n qubits;
- a first group of subsequent layers that applies BS gates to the 2n qubits according to a binary tree pattern, wherein each BS gate is a single parametrized 2-qubit gate;
- and
- an additional layer after the first group of subsequent layers that applies BS gates in parallel to pairs of qubits of the 2n qubits, wherein a first qubit in a pair is associated with the first quantum state and a second qubit in the pair is associated with the second quantum state,
- wherein a number of layers including the first layer, the first group of subsequent layers, and the additional layer is not more than ceiling(log2 (n)+3).
A quantum circuit for use in encoding a first n-dimensional vector representing classical data into a first quantum state, encoding a second n-dimensional vector representing classical data into a second quantum state, and determining a distance between the first n-dimensional vector and the second n-dimensional vector, the quantum circuit comprising:
- n qubits;
- a first layer comprising an X gate applied to one of the n qubits;
- a first group of subsequent layers that applies BS gates to the n qubits according to a binary tree pattern, wherein each BS gate is a single parametrized 2-qubit gate;
- and
- a second group of subsequent layers that that applies BS gates to the same n qubits according to an inverse of the binary tree pattern,
- wherein a number of layers including the first layer, the first group of subsequent layers, and the second group of subsequent layers is not more than ceiling(2 log2 (n)+1).
A method for executing a quantum circuit, the quantum circuit for use in encoding a first n-dimensional vector representing classical data into a first quantum state, encoding a second n-dimensional vector representing classical data into a second quantum state, and determining a distance between the first n-dimensional vector and the second n-dimensional vector, the method comprising:
- executing a first layer comprising an X gate applied to one of 2n qubits;
- executing a first group of subsequent layers that applies BS gates to the 2n qubits according to a binary tree pattern, wherein each BS gate is a single parametrized 2-qubit gate;
- and
- executing an additional layer after the first group of subsequent layers that applies BS gates in parallel to pairs of qubits of the 2n qubits, wherein a first qubit in a pair is associated with the first quantum state and a second qubit in the pair is associated with the second quantum state,
- wherein a number of layers including the first layer, the first group of subsequent layers, and the additional layer is not more than ceiling(log2 (n)+3).
A non-transitory computer-readable storage medium comprising stored instructions for executing a quantum circuit, the quantum circuit for use in encoding a first n-dimensional vector representing classical data into a first quantum state, encoding a second n-dimensional vector representing classical data into a second quantum state, and determining a distance between the first n-dimensional vector and the second n-dimensional vector, the stored instructions, when executed by a computing system, cause the computing system to perform operations comprising:
- executing a first layer comprising an X gate applied to one of 2n qubits;
- executing a first group of subsequent layers that applies BS gates to the 2n qubits according to a binary tree pattern, wherein each BS gate is a single parametrized 2-qubit gate;
- and
- executing an additional layer after the first group of subsequent layers that applies BS gates in parallel to pairs of qubits of the 2n qubits, wherein a first qubit in a pair is associated with the first quantum state and a second qubit in the pair is associated with the second quantum state,
- wherein a number of layers including the first layer, the first group of subsequent layers, and the additional layer is not more than ceiling(log2 (n)+3).
A method for executing a quantum circuit, the quantum circuit for use in encoding a first n-dimensional vector representing classical data into a first quantum state, encoding a second n-dimensional vector representing classical data into a second quantum state, and determining a distance between the first n-dimensional vector and the second n-dimensional vector, the method comprising:
- executing a first layer comprising an X gate applied to one of n qubits;
- executing a first group of subsequent layers that applies BS gates to the n qubits according to a binary tree pattern, wherein each BS gate is a single parametrized 2-qubit gate;
- and
- executing a second group of subsequent layers that that applies BS gates to the same n qubits according to an inverse of the binary tree pattern,
- wherein a number of layers including the first layer, the first group of subsequent layers, and the second group of subsequent layers is not more than ceiling(2 log2 (n)+1).
A non-transitory computer-readable storage medium comprising stored instructions for executing a quantum circuit, the quantum circuit for use in encoding a first n-dimensional vector representing classical data into a first quantum state, encoding a second n-dimensional vector representing classical data into a second quantum state, and determining a distance between the first n-dimensional vector and the second n-dimensional vector, the stored instructions, when executed by a computing system, cause the computing system to perform operations comprising:
- executing a first layer comprising an X gate applied to one of n qubits;
- executing a first group of subsequent layers that applies BS gates to the n qubits according to a binary tree pattern, wherein each BS gate is a single parametrized 2-qubit gate;
- and
- executing a second group of subsequent layers that that applies BS gates to the same n qubits according to an inverse of the binary tree pattern,
- wherein a number of layers including the first layer, the first group of subsequent layers, and the second group of subsequent layers is not more than ceiling(2 log2 (n)+1).
Dependencies are inferred from the claim text.