Quantum-classical hybrid computer for calculating arithmetic functions using fourier analysis
A quantum computing system includes a classical computer coupled in combination with a quantum computer, wherein the quantum computing system is configurable to execute program instructions to process input data to generate corresponding output data. The program instructions include one or more arithmetic functions to be executed using the quantum computer. The quantum computing system is configured to apply a transformation to transform the one or more arithmetic functions into a series of Fourier components that are executable using the quantum computer by using one or more quantum circuits utilizing rotation gates acting on qubits representing the Fourier components, and to process outputs from the one or more quantum circuits to generate results of the one or more arithmetic functions, wherein the results are used to generate the corresponding output data.
1 . A quantum computing system configured to compute a value of an arithmetic function using samples from a probability distribution, the quantum computing system comprising:
a classical computer;
a quantum computer comprising one or more qubits and one or more quantum gates configured to act on the one or more qubits, wherein at least a portion of quantum gates comprise rotation gates, and wherein the quantum computer is in communication with the classical computer;
a non-transitory memory configured to store specific computer-executable instructions; and
a hardware processor in communication with the non-transitory memory, wherein the hardware processor is configured to execute the specific computer-executable instructions to at least:
receive input data, wherein the input data comprise at least the arithmetic function;
transform the arithmetic function into a series of Fourier components;
generate configuration data, based at least in part on the Fourier components and the input data, by determining a symbolic form of a quantum circuit A and a numerical value of the symbolic form of the quantum circuit A for each Fourier component, wherein the configuration data comprises a number of uses of A for each Fourier component;
determine the number of uses of A based at least in part on a desired value of an error function;
configure the quantum computer based at least in part on the configuration data to prepare one or more quantum circuits representing the Fourier components, wherein the one or more quantum circuits comprise the rotation gates;
execute a quantum algorithm using the one or more quantum circuits to generate outputs comprising quantum measurement results; and
generate output data comprising the value of the arithmetic function using the quantum measurement results.
2 . The quantum computing system of claim 1 , wherein the hardware processor is further configured to execute the specific computer-executable instructions to determine the number of uses of A based at least in part on the input data.
3 . The quantum computing system of claim 1 , wherein the input data further comprise the probability distribution.
4 . The quantum computing system of claim 1 , wherein the quantum algorithm comprises a quantum amplitude estimation algorithm.
5 . The quantum computing system of claim 1 , wherein the input data comprise a stopping criterion or data usable to determine a stopping criterion.
6 . The quantum computing system of claim 5 , wherein the hardware processor is further configured to execute the specific computer-executable instructions to determine a maximum number of Fourier components based at least in part on the stopping criterion or the data usable to determine a stopping criterion.
7 . The quantum computing system of claim 6 , wherein a number of Fourier components is equal to or less than the maximum number of Fourier components.
8 . The quantum computing system of claim 1 , wherein the probability distribution comprises a marginal probability distribution associated with a multidimensional discrete probability distribution.
9 . The quantum computing system of claim 8 , wherein the arithmetic function is a continuous function that has a continuous first derivative over support of a probability function associated with the probability distribution.
10 . The quantum computing system of claim 1 , wherein the probability distribution comprises samples from a single dimension of a multivariate probability distribution.
11 . The quantum computing system of claim 1 , wherein the value of the arithmetic function is an expectation value of the arithmetic function.
12 . The quantum computing system of claim 11 , wherein the expectation value of the arithmetic function is a mean of the probability distribution.
13 . The quantum computing system of claim 1 , wherein the hardware processor is a hardware processor of the classical computer.
14 . The quantum computing system of claim 1 , wherein the classical computer is a classical computer in a remote computing system.
15 . The quantum computing system of claim 14 , wherein a controller of the quantum computer is configured to receive compiled configuration data generated by the classical computer and to configure the quantum computer based at least in part on the compiled configuration data.
16 . The quantum computing system of claim 14 , wherein the classical computer is in communication with the quantum computer via a wireless communication link.
17 . A quantum computing system configured to compute a value of an arithmetic function using samples from a probability distribution, the quantum computing system comprising:
a classical computer;
a quantum computer comprising one or more qubits and one or more quantum gates configured to act on the one or more qubits, wherein at least a portion of quantum gates comprise rotation gates, and wherein the quantum computer is in communication with the classical computer;
a non-transitory memory configured to store specific computer-executable instructions; and
a hardware processor in communication with the non-transitory memory, wherein the hardware processor is configured to execute the specific computer-executable instructions to at least:
receive input data, wherein the input data comprise at least the arithmetic function;
transform the arithmetic function into a series of Fourier components;
generate configuration data, based at least in part on the Fourier components and the input data, by:
determining a symbolic form of a quantum circuit A and a numerical value of the symbolic form of the quantum circuit A for each Fourier component; and
determining a symbolic form of a quantum circuit P;
configure the quantum computer based at least in part on the configuration data to prepare one or more quantum circuits representing the Fourier components, wherein the one or more quantum circuits comprise the rotation gates;
execute a quantum algorithm using the one or more quantum circuits to generate outputs comprising quantum measurement results; and
generate output data comprising the value of the arithmetic function using the quantum measurement results, wherein the symbolic form of the quantum circuit A is generated based at least in part on the symbolic form of the quantum circuit P.
18 . The quantum computing system of claim 17 , wherein the hardware processor is further configured to execute the specific computer-executable instructions to configure the quantum computer by further preparing a quantum state |p> associated with the probability distribution using the quantum circuit P.
19 . A method for operating a quantum computing system configured to compute a value of an arithmetic function using samples from a probability distribution, the quantum computing system comprising:
a classical computer; and
a quantum computer comprising one or more qubits and one or more quantum gates configured to act on the one or more qubits, wherein at least a portion of quantum gates comprise rotation gates, and wherein the quantum computer is in communication with the classical computer;
the method comprising, by a hardware processor of the quantum computing system executing instructions stored on non-transitory memory connected to the hardware processor:
receiving input data, wherein the input data comprise at least the arithmetic function;
transforming the arithmetic function into a series of Fourier components;
generating configuration data, based at least in part on the Fourier components and the input data, by determining a symbolic form of a quantum circuit A and a numerical value of the symbolic form of the quantum circuit A for each Fourier component, wherein the configuration data comprises a number of uses of A for each Fourier component;
determining the number of uses of A based at least in part on a desired value of an error function;
configuring the quantum computer based at least in part on the configuration data to prepare one or more quantum circuits representing the Fourier components, wherein the one or more quantum circuits comprise the rotation gates;
executing a quantum algorithm using the one or more quantum circuits to generate outputs comprising quantum measurement results; and
generating output data comprising the value of an arithmetic function using the quantum measurement results.
20 . A non-transitory machine-readable data storage medium comprising specific instructions that are executable on data processing hardware, wherein the specific instructions, when executed by the data processing hardware, implement the method of claim 19 .