Quantum amplitude estimation using direction of arrival estimation
The quantum amplitude estimation algorithm leverages DOA estimation to transform quantum measurements into signal vectors, enabling parallel processing and reducing query complexity, addressing inefficiencies in existing quantum amplitude estimation methods.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-03-08
- Publication Date
- 2026-03-25
AI Technical Summary
Existing quantum amplitude estimation algorithms require iterative switching between quantum and classical iterations, leading to increased execution time and suboptimal query complexity, especially in applications requiring high precision and parallel processing.
A quantum amplitude estimation algorithm utilizing direction of arrival (DOA) estimation techniques, enabling parallel processing by transforming quantum measurements into signal vectors amenable to classical signal processing algorithms, specifically using sparse array sampling and DOA algorithms like ESPRIT to estimate amplitude without phase estimation.
The proposed method achieves a reduced query complexity of ~3.73/ε and parallel query complexity of ~0.28/ε, providing a robust and parallelizable solution with improved precision and efficiency compared to existing methods like chebAE.
Smart Images

Figure 2026509907000001_ABST
Abstract
Description
[Technical Field]
[0001] This disclosure relates in general to quantum amplitude estimation (AE), and more specifically to estimating the amplitude of a quantum oracle using direction of arrival (DOA) estimation. [Background technology]
[0002] Cross-reference of related applications This application claims the benefit and priority of U.S. Provisional Patent Application No. 63 / 451,895, “Amplitude Estimation from Classical Signal Processing,” filed on 13 March 2023, the subject matter of which is incorporated herein by reference.
[0003] Amplitude estimation is a fundamental quantum algorithm with many applications. For example, it provides a second-order speedup in Monte Carlo methods and is applicable to applications that rely on this second-order speedup. [Brief explanation of the drawing]
[0004] The embodiments disclosed have other advantages and features that will become more readily apparent from the following detailed description and the attached claims, in conjunction with the examples in the attached drawings.
[0005] [Figure 1] This is a plot diagram of different exemplary arrays (one exemplary physical array and two virtual arrays). [Figure 2A] This is a plot of the estimation error against the number of oracle queries, according to one or more embodiments. [Figure 2B] This is a plot of the estimation error against the complexity of parallel queries, according to one or more embodiments. [Figure 3A] This is a plot of the number of oracle queries against amplitude, according to one or more embodiments. [Figure 3B]A plot of the complexity of parallel queries against amplitude, according to one or more embodiments. [Figure 4] A flowchart of an exemplary method for estimating the amplitude of a quantum oracle using direction-of-arrival (DOA) estimation, according to one or more embodiments. [Figure 5A] A block diagram of a computing system including a classical computing system and a quantum computing system, according to one or more embodiments. [Figure 5B] A block diagram of a computing system including a classical computing system and a quantum computing system, according to one or more embodiments. [Figure 5C] A block diagram of components of a quantum computing system, according to one or more embodiments. [Figure 5D] A block diagram of components of a quantum computing system, according to one or more embodiments. [Figure 5E] A flowchart showing an exemplary execution of a quantum routine on a computing system, according to one or more embodiments. [Figure 6] An exemplary architecture of a classical computing system, according to one or more embodiments. **Embodiments for Carrying Out the Invention**
[0006] The drawings and the following description relate only to preferred embodiments by way of example. It should be noted that from the following discussion, alternative embodiments of the structures and methods disclosed herein will be readily recognized as viable alternatives that may be adopted without departing from the principles of what is claimed.
[0007] Although superficially two completely different fields of study, this disclosure demonstrates that quantum amplitude estimation, a core subroutine used in many quantum algorithms, can be directly mapped to a signal processing algorithm called direction of arrival (DOA) estimation, whose goal is to determine the direction of arrival of an incoming wave with as few measurements as possible. This association allows for post-processing of Grover iterator measurements at a given depth using a vast number of signal processing algorithms. By using commercially available DOA algorithms in conjunction with sparse array sampling techniques, it becomes possible to create a fully parallel quantum amplitude estimation (AE) algorithm without phase estimation, as further described below. In one exemplary implementation, the algorithm has a total query complexity of ~3.73 / ε and a parallel query complexity of ~0.28 / ε with 95% confidence, which represents 1.2x and 15x improvements over chebAE (see P. Rall and B. Fuller, "Quantum 7, 937" (2023)) and, to the inventors' knowledge, constitutes the best published results for amplitude estimation to date. Overall, the approach presented in this disclosure provides a robust and parallelizable method for performing quantum automated emission (AE) using classical signal processing concepts.
[0008] I. Introduction Quantum amplitude estimation is a fundamental quantum algorithm with many applications. For example, it provides a second-order speedup in Monte Carlo methods and is applicable to applications that rely on such second-order speedups, such as those encountered in the financial sector, and to subroutines for improving the complexity of algorithms that require estimating state overlap at the end of quantum linear system algorithms.
[0009] An example setup is as follows: For a quantum state on l-1 qubits and several x, x' quantum states in an unknown θ∈[0,π / 2],
[0010]
number
[0011] Assuming access to the quantum unitary operator, (Note that the first qubit (with a 0 / 1 quantum state) may be called the "last," "final," or "target" qubit. However, this terminology is merely for convenience, and this qubit does not need to be the last or final qubit relative to the other qubits (e.g., it does not need to be the last or final qubit on a quantum register)). The goal is to design an algorithm that finds θ (or amplitude cosθ) up to an additive error ε>0. Classically, O(1 / ε 2 ) We simply estimate θ using the sample. Using quantum AE, we perform O(1 / ε) (from the classical AE algorithm). 2 The sample size can instead be improved by scaling using a unitary U O(1 / ε) application, which is a second-order speedup.
[0012] To achieve improved scaling, R0
[0013]
number
[0014] Assume the reflection occurs at x≠0. l Regarding
[0015]
number
[0016] and
[0017]
number
[0018] Therefore, S0 is the last qubit.
[0019]
number
[0020] Let's assume it's a reflection at . That is, for all x,
[0021]
number
[0022] and
[0023]
number
[0024] The Grover operator (also called the Grover oracle) G is G(:=)UR0U -1 S0 can be defined as having the following properties:
[0025]
number
[0026] Here, n describes the number of consecutive oracle calls to G (using the above terminology, the first qubit (with a 0 / 1 quantum state) is the "last," "final," or "target" qubit). AE was initially introduced as a combination of Grover search and quantum phase estimation (QPE). However, AE variants that do not require QPE, such as chebAE, have been developed.
[0027] Generally, quantum algorithms for amplitude estimation without phase estimation measure the quantum state at different values of n and then, either last or iteratively, use classical post-processing to determine which n to sample next. The downside of the iterative approach is that it requires continuous switching between quantum and classical iterations, which can be undesirable in practice (for example, it increases execution time).
[0028] In contrast, this disclosure describes a quantum AE algorithm in which the number of iterations is known from the outset (in other words, classical processing is not required after each iteration to determine which n to sample next). Therefore, all sampling can be performed in parallel (for example, using multiple quantum computing systems). Furthermore, since classical post-processing is robust to noise, the quantum AE algorithm can take fewer samples and achieve lower overall query complexity. Also, since classical post-processing is classically efficient, it does not affect the overall complexity of the quantum AE algorithm up to the logarithmic factor. This disclosure is based on (classical) signal processing concepts, in particular the algorithms used to determine the direction of arrival (DOA) of an arriving signal.
[0029] In DOA (Dynamic Optical Arrangement), a set of sensors is placed at specific locations in space to detect signals arriving from unknown locations. The measurement data is then used to determine the angle of arrival of the incoming signal relative to the sensor positions. Many algorithms exist for this purpose, such as the MUSIC (Multiple Signal Classification) algorithm or ESPRIT (Estimation of Signal Parameters via Rotational Invariance Techniques), along with numerous variations and sampling techniques. For further information on MUSIC, see "Performance comparison of superresolution array processing algorithms" by A. Barabell, J. Capon, D. DeLong, J. Johnson, and K. Senne (revised edition, technical report, Lincoln Laboratory, MIT, 1998). For further information on ESPRIT, see "IEEE Transactions on acoustics, speech, and signal processing 37, 984" by R. Roy and T. Kailath (1989). For further information on deformation and sampling techniques, see pages 509–581 of "in Academic Press Library in Signal Processing, Volume 7" by Z. Yang, J. Li, P. Stoica, and L. Xie, edited by R. Chellappa and S. Theodoridis (Academic Press, 2018).
[0030] The number and spacing of sensors determine the accuracy or resolution by which DOA can be estimated. For high performance, it is desirable to reduce the number of sensors while simultaneously achieving high accuracy. By using super-resolution methods, it becomes possible to generate a virtual array from a sparse array, resulting in an effective sensor spacing that is greater than the actual number of sensors.
[0031] One example is a combination of two uniform samplers, each a relatively prime array with sampling intervals MT and NT, where M and N are relatively prime integers and T has a spatial or temporal dimension. This allows for the generation of O(MN) sampling locations using only O(M+N) physical samples. This can be further improved using multi-level nested arrays to achieve O(N²q) virtual sensors for some integer q using only O(N) physical sensors. For further information, see pages 289–294 of "Digital Signal Processing and Signal Processing Education Meeting (DSP / SPE)" (2011) by P. Pal and PP Vaidyanathan, and "IEEE Transactions on Signal Processing 60, 1253" (2011) by P. Pal and P. Vaidyanathan.
[0032] It can be seen that there is an almost one-to-one correspondence between the measurements obtained from the DOA sensor and the measurements obtained when measuring the quantum state in Equation 1. This makes it possible to transform the quantum measurements into a form of signal vectors that can be post-processed using these DOA algorithms to estimate the amplitude. Note that some of the exemplary results herein use one type of sensor spacing approach (2q array) and one DOA algorithm (ESPRIT). However, there are many variations of different sampling strategies and DOA algorithms that can be used (for example, to improve (e.g., optimize) the approach herein). For further information on 2q arrays, see "IEEE Transactions on Signal Processing 60, 1253" by P. Pal and P. Vaidyanathan (2011). For further information on ESPRIT, see "IEEE Transactions on acoustics, speech, and signal processing 37, 984" by R. Roy and T. Kailath (1989).
[0033] II. AE based on classical signal processing A. Direction of arrival estimation Before introducing a super-resolution-based approach, we will explain the basic theory of DOA estimation based on subspaces. In particular, this disclosure examines the ESPRIT algorithm. Position x1, ..., x M Assume there is a linear array of sensors positioned at x and one source of an arriving signal y with elevation angle ω∈((-π) / 2, π / 2). Then, position x n Using the sensor located there,
[0034]
number
[0035] This measurement can be obtained. This is given by the approximation formula y'=y+ε, where,
[0036]
number
[0037] And ε is the error term due to imperfect measurement.
[0038] ESPRIT is an algorithm that uses a measured value y' to obtain an unknown angle ω. n It is assumed that it is uniform, and x is the unit of distance. n It is assumed that =n-1 is used. Such an array will be referred to herein as a uniform linear array (ULA).
[0039] [Table 1]
[0040] A complete singular value decomposition of the matrix R is not necessary. Instead, it is sufficient to determine the top two eigenvectors. Since R is a Teplitz matrix, the Lanczos algorithm, along with an efficient algorithm for efficiently performing matrix-vector multiplication of Teplitz matrices, can be used to obtain these two eigenvectors in time O(Mlog(M)).
[0041] B. Physical arrays and virtual arrays In DOA, a "physical array" refers to the location of a sensor at a specific position within a linear array. The concept of a virtual array is the idea that by using data from the physical array and combining the measured signals from the physical array in a specific way, it is possible to obtain signal measurements at locations where no physical sensors exist.
[0042] For example, many DOA algorithms such as ESPRIT use the measured values of the incoming signals at evenly spaced physical positions. By the concept of the virtual array, such measured values can be obtained by using fewer physical sensors in the following way. As an example, the physical positions x = (x1, x2, ···, x n ) where sensors are placed, and consider the vector of the signals at those positions
[0043]
Number
[0044]
[0045]
Number
[0046] which is obtained by calculating the outer product of itself and y. This is the value of the signal at the physical position x i - x j . Therefore, assuming that the measured value j of y at the position x j is known or has been determined, the value (y’y’
[0047]
Number
[0048] can be used as the measured value of the signal at that position even if the signal y at the position x T ) ij has not been physically measured. By this technique, more (virtual) measured values can be obtained than the number of physical sensors. The vector i - x j representing the linear array of physical sensors where sensor i is placed at the position x i
[0049]
number
[0050] Given a virtual array, for integers q≧1, its virtual array can be defined by repeatedly calculating the cross product q times.
[0051] Definition II.1 (Virtual Array).
[0052]
number
[0053] Let q be an integer such that q ≥ 1. The 2q-th virtual array corresponding to x is:
[0054]
number
[0055] This is given by [the relevant source]. For further information regarding Definition II.1, see "IEEE Transactions on Signal Processing 47, 2592" by P. Chevalier and A. Ferreol (1999) and "IEEE Transactions on Signal Processing 54, 2986" by P. Chevalier, A. Ferreol, and L. Albera (2006).
[0056] It is desirable (and may be important) to increase the size of the virtual array (e.g., maximize it) while decreasing the size of the physical array (e.g., minimizing it). As shown in the next section, physical array x j The components can correspond to the number of Grover operators applied.
[0057] The following theorem can be used to create a long virtual array when selecting physical sensor locations. For further information, see "IEEE Transactions on Signal Processing 60, 1253" by P. Pal and P. Vaidyanathan (2011).
[0058] Theorem II.2.q and N1, N2, ..., N 2q Let and be positive integers, and consider the following set for 1 ≤ i ≤ 2q-1:
[0059]
number
[0060] And the set of degree 2q is,
[0061]
number
[0062] It is given by where N0 := 1. Let the physical array be the union of all these sets. And the 2q-order virtual array corresponding to this physical array has size
[0063]
number
[0064] This includes the ULA.
[0065] As an example, the union of all sets in equation (3) is
[0066]
number
[0067] Equivalent to, and the corresponding virtual array is size 2 2q+1 N1=N2=···=N 2qWe select =2. Figure 1 shows an example where q=2 and N1=N2=N3=N4=2. Thus, the physical array is given by {1,2,4,8} (including position 0). The second-order virtual array is the next level. The positions of the second-order virtual array are obtained by taking all possible differences of pairs in the physical array. The fourth-order virtual array contains a ULA of size 31. Note that in this example, only measurements are taken at the physical array positions, and their size (number of positions) is significantly smaller than that of the virtual arrays (second- and fourth-order arrays) quantified by the above theorem.
[0068] III.AE Algorithm Let's consider the quantum state from Equation 1. This is obtained by running a quantum circuit that performs n consecutive oracle calls of operator G:
[0069]
number
[0070] situation
[0071]
number
[0072] When the target (and "last") qubit is measured,
[0073]
number
[0074] The quantum state of can be obtained with probability p0(n),
[0075]
number
[0076] The quantum state of can be obtained with probability p1(n). Here,
[0077]
number
[0078] In the X basis,
[0079]
number
[0080] When measuring (for example, when performing n consecutive oracle calls of operator G, applying an Hadamard quantum gate to the target qubit, and then measuring the target qubit),
[0081]
number
[0082] or
[0083]
number
[0084] The quantum state is,
[0085]
number
[0086] Like this, probability
[0087]
number
[0088]
number
[0089] This is obtained by taking the measurement of the target qubit and counting the 0 / 1 measurement results against the total number of measurements, p i (n) and
[0090]
number
[0091] An approximation may be obtained. Generally, more measurements lead to a more accurate estimate of the probability, but require more oracle queries. In one example, for each depth, N shots Let (n) ~ c / logn, where c > 1 is a constant. Alternatively, an approximate value of (2n+1)2θ can be determined by taking the inverse tangent function of the left-hand side of equation 8. The exponential function y(n) = e is considered to be the arriving signal measured using a sensor placed at position n. i(2n+1)2θ =e in4θ+2iθ It is possible to form this. Quantum terms, this is a quantum state.
[0092]
number
[0093] This may be done by measuring the quantum state of the target qubit. The DOA algorithm uses an extra phase factor e of y(n). 2iθ This is blind to the others, meaning that only 4θ is extracted from the measured value of y(n).
[0094] In classical signal processing terminology, the signal y(n) = e in4θ+2iθ The measurement can be obtained by placing a physical sensor at position n. Quantum, the measurement of the signal y(n) is the quantum state in the Z and X basis.
[0095]
number
[0096] The signal may be obtained by performing iterative measurements of the target qubit. With respect to DOA algorithms (e.g., ESPRIT), it is independent of how the signal is obtained.
[0097] A. Determining the depth Here, this disclosure explains the depth at which measurements are taken (the terms "depth" and "measured value" are used as they are in classical signal processing terminology). Many DOA algorithms, such as the ESPRIT algorithm, expect a measured value in a uniform linear array of length M, which is a measured value of y(n) for n ∈ [M]. Quantumly, at depth n ∈ [M], the quantum state
[0098]
number
[0099] This may be obtained by measuring the target qubit. However, this does not provide the expected quantum scaling of error O(1 / M), but rather the scaling in this case is
[0100]
number
[0101] This problem may be avoided by taking samples from a smaller set of depths and obtaining (virtual) measurements at all depths n∈[M] using the concept of a virtual array. For example, by applying theorem (II.2), the sequence D=(2 j ) j∈[2q] A physical array given by may be used (however, other methods may be used to determine the set of depths). For all n∈D, the quantum state
[0102]
number
[0103] The complexity of the query to measure the target qubit is O(2 2q+1 ) However, according to theorem (II.2), the size of the virtual array is 2 2q+1 This is the result. If M is the length of the virtual array, the ESPRIT algorithm obtains the elevation angle with O(1 / M) precision, which immediately implies the desired quantum scaling.
[0104] B. Exemplary Algorithms The following table, labeled "Algorithm 2," provides exemplary steps for performing amplitude estimation. While Algorithm 2 uses ESPRIT in step 4, other DOA estimation algorithms may be used in step 4. Also, in step 2, the "2q-order virtual array is size
[0105]
number
[0106] The instruction "determine a set of depths such that..." is merely one example. There are other ways to determine a set of depths, such as the aforementioned disjoint array sampling strategy.
[0107] [Table 2]
[0108] IV. Quantification In this section, the Disclosure demonstrates the performance of an exemplary implementation of amplitude estimation from a classical signal processing (csAE) algorithm (e.g., Algorithm 2) and compares it with the state-of-the-art amplitude estimation algorithm "chebAE" (further information on chebAE can be found in "Quantum 7, 937" by P. Rall and B. Fuller, 2023). The Disclosure compares the algorithms with respect to two different evaluation criteria: 1) query complexity and 2) parallel query complexity. Parallel query complexity refers to the number of times the oracle (G) is called sequentially. From simulations performed by the inventors, the csAE algorithm demonstrates superior performance in both query complexity and parallel query complexity. First, the Disclosure compares chebAE and csAE with respect to these two evaluation criteria for estimating fixed amplitude and variation estimation errors.
[0109] Figure 2A plots the query complexity of csAE and chebAE for one or more embodiments, and Figure 2B plots the parallel complexity of csAE and chebAE for one or more embodiments. To create the csAE plot, 500 runs were simulated to obtain several different error rates (given by points on the vertical axis). The triangles represent the 95th percentile of those runs. For chebAE, the code provided on GitHub (https: / / github.com / qiskitcommunity / ChebAE / tree / main) was used. An amplitude a=0.5 is estimated with 95% confidence. The query complexity of chebAE is represented by an asterisk in the corresponding error rate and is directly compared. The function N=C / ε is also fitted to these data points, where N represents the query complexity (or parallel query complexity) and ε represents the error rate. As shown in the figure, csAE has an error rate of approximately 10 -2 Except in the case of chebAE, it performs better with a lower error rate. -2The error rate is likely an exceptional value, and it is probable that it can be fixed by optimizing the number of shots at this particular error rate. In terms of the complexity of parallel queries, the csAE algorithm is at least an order of magnitude better.
[0110] Figures 3A and 3B plot the dependence of csAE and chebAE on the estimated amplitude for a constant error rate. Specifically, the target error rate is fixed, and query complexity (Figure 3A) and parallel query complexity (Figure 3B) are plotted for different amplitude values. For chebAE, the error rate is fixed, and query complexity is obtained for different amplitude values (Note: the average of 200 runs is used, and error bars are also plotted). For csAE, the array is 1 / 2 n The error rate is specified by an integer n such that it is approximately equal to the desired error rate. Therefore, in this case, an integer n was selected, the csAE algorithm was run, and the resulting (95th percentile) error rate was calculated. This yields a csAE with a constant number of queries and time complexity. In Figures 3A and 3B, the error rate at the 95th percentile is (5.4 × 10⁻⁶) for this amplitude. -4 , 5.4×10 -4 , 5.8×10 -4 , 4.3×10 -4 , 4.6×10 -4 , 4.1×10 -4 , 3.7×10 -4 , 3.0×10 -4 , 3.0×10 -4 )
[0111] A. Suitable ε∈(7.9×10 -3 , 9.8×10 -6For the given parameters, a one-parameter model fitting was performed in the form N=C / ε (N: number of queries and ε: error rate at 95% confidence), and the following constants for query complexity and parallel query complexity were obtained with 95% confidence. For the csAE algorithm, the best constant-fit query complexity C=3.73 was obtained, while for chebAE, C=4.51 was obtained with a maximum deviation of 16.55%. By fitting the parallel query complexity to the csAE algorithm, the inventors determined C=0.28, while for chebAE, the inventors determined C=4.27.
[0112] VI. Exemplary Methods Figure 4 is a flowchart of an exemplary method 400 for estimating the amplitude of a first quantum oracle (e.g., U) using direction-of-arrival (DOA) estimation, according to one or more embodiments. In the example of Figure 4, method 400 is performed from the perspective of a computing system (e.g., 800) including one or more quantum computing systems (e.g., 820). Method 400 may include more or fewer steps than those described herein. Furthermore, the steps may be performed in a different order or by components different from those described herein. In some embodiments, method 400 is performed by a computing system executing code stored in a computer-readable storage medium (e.g., non-temporary). The computer-readable storage medium causes the computing system to execute the steps of method 400. Algorithm 2 is an example of method 400.
[0113] In step 405, the computing system determines a set of values (e.g., a set of unique positive non-zero integers) corresponding to the number of oracle calls of the second quantum oracle (e.g., Grover operator G) to be executed (e.g., in order). For more illustrative information, see step 1 and section III.A of Algorithm 2. The second quantum oracle is based on the first quantum oracle (e.g., the second quantum oracle is the Grover operator of quantum oracle U).
[0114] For each value n in the set, the computing system performs steps 407-420 (see, for example, step 2 of Algorithm 2).
[0115] In step 407, the computing system (for example, by the quantum computing system) executes a first quantum circuit that generates a first output quantum state (for example, on a target qubit (which is a qubit of the quantum computing system that executed the first quantum circuit)) by performing n oracle calls of a second quantum oracle (for example, sequentially).
[0116] In step 410, the computing system estimates a first output quantum state. The estimation may be based on one or more measurements of the target qubit in the first basis (e.g., the Z basis). One or more measurements may be obtained by the quantum computing system running the second quantum circuit. If multiple measurements of the target qubit are obtained, step 407 may be performed before each measurement of the target qubit (e.g., the first measurement is performed after n oracle calls, and the second measurement is performed after another n oracle calls).
[0117] In step 415, the computing system (e.g., by the quantum computing system or another quantum computing system) executes a second quantum circuit that generates a second output quantum state (e.g., on a target qubit (which is a qubit of the quantum computing system that executed the second quantum circuit)) by performing n oracle calls of the second quantum oracle (e.g., sequentially). In some embodiments, the second quantum circuit includes the first quantum circuit and a Hadamard quantum gate (e.g., applied to the target qubit after n oracle calls).
[0118] In step 420, the computing system estimates a second quantum state. The estimation may be based on one or more measurements of the target qubit in a second basis (e.g., an X basis) different from the first basis. One or more measurements may be obtained by the quantum computing system running the second quantum circuit. If multiple measurements of the target qubit are obtained, step 415 may be performed before each measurement of the target qubit (e.g., the first measurement is performed after n oracle calls, and the second measurement is performed after another n oracle calls).
[0119] In step 425, the computing system forms a vector (e.g., a signal) based on the output quantum states estimated for each value n in the set (determined by the computing system performing steps 407-420 for each value n in the set). See steps 2-3 of Algorithm 2, for example.
[0120] In some embodiments, the (e.g., signal) vector is
[0121]
number
[0122] It has the form, where ω n This is based on the estimated output quantum state for the values of n in the set. In some embodiments, ω n teeth,
[0123]
number
[0124] The inverse tangent of p0(n), where p0(n) is the result of performing n (e.g., consecutive) oracle calls to the second quantum oracle, and then the Z basis
[0125]
number
[0126] p1(n) is the estimated probability of measuring the target qubit in a given state, where p1(n) is the probability of performing n (e.g., consecutive) oracle calls to the second quantum oracle, and then the Z basis
[0127]
number
[0128] This is the estimated probability of measuring the target qubit in a given state.
[0129]
number
[0130] After performing n (e.g., consecutive) oracle calls to the second quantum oracle, the X basis
[0131]
number
[0132] This is the estimated probability of measuring the target qubit in a given state.
[0133]
number
[0134] After performing n (e.g., consecutive) oracle calls to the second quantum oracle, the X basis
[0135]
number
[0136] This is the estimated probability of measuring the target qubit in a given state. For further information, see Section III (e.g., Equation 8 and related explanations).
[0137] In some embodiments, the computing system that forms the (e.g., signal) vector is y n (for example,
[0138]
number
[0139] The algorithm includes a computing system that forms an initial vector having initial vector components of the form ), and a computing system that extends the initial vector by computing additional vector components based on the initial vector components. In some embodiments, computing additional vector components includes computing the cross product of the initial vector and itself. For example, the “initial vector” is in step 2 of algorithm 2
[0140]
number
[0141] Therefore, "extending the initial vector" is the signal vector in step 3 of algorithm 2.
[0142]
number
[0143] That is the case.
[0144] In step 430, the computing system applies a vector (e.g., a signal) to the DOA estimation algorithm. See, for example, step 4 of Algorithm 2.
[0145] In step 435, the computing system estimates the amplitude of the first quantum oracle (e.g., U) based on the output of the DOA estimation algorithm. See, for example, step 5 of Algorithm 2.
[0146] In some embodiments, estimating the amplitude of the first quantum oracle is not based on a determination from performing a phase estimation. In some embodiments, the steps of Method 400 do not include a computing system (or another computing system) that performs a phase estimation.
[0147] In some embodiments, one or more steps of Method 400 are performed in parallel. For example, executing first and second quantum circuits and measuring the corresponding output quantum states for a first value in the set (e.g., steps 407-420) is performed in parallel with executing first and second quantum circuits and measuring the corresponding output quantum states for a second value in the set (different from the first value in the set) (e.g., steps 407-420). For example, steps 407-420 for the first value in the set are performed by a first quantum computing system of the computing system, and steps 407-420 for the second value in the set are performed by a second quantum computing system (different from the first) of the computing system. In another example of parallelization, steps 407 and 410 for the first value in the set are performed by a first quantum computing system of the computing system, and steps 415 and 420 for the first value in the set are performed by a second quantum computing system (different from the first) of the computing system.
[0148] Other embodiments include components, apparatus, systems, improvements, methods, processes, applications, computer-readable media, and other technologies related to any of the above.
[0149] VII. Description of Computing Systems The embodiments described above may be implemented using one or more computing systems. An exemplary computing system is described below.
[0150] Figure 5A is a block diagram showing one embodiment of computing system 800. In the example of Figure 5A, computing system 800 includes a classical computing system 810 (also referred to as a non-quantum computing system) and a quantum computing system 820, but the computing system may include only the classical computing system or only the quantum computing system. With respect to Figure 6, one embodiment of the classical computing system 810 is further described. The classical computing system 810 and the quantum computing system 820 are shown together, but they may be physically separate systems. For example, Figure 5B shows an exemplary cloud computing architecture in which computing system 810 and quantum computing system 820 communicate over network 857. Computing system 800 may include different or additional components (e.g., multiple quantum computing systems 820) than those shown. Furthermore, functions may be distributed among the elements in ways different from those described.
[0151] A classical computing system 810 may control a quantum computing system 820. For example, the classical computing system 810 generates and transmits instructions for the quantum computing system 820 to execute a quantum algorithm or quantum circuit. Although Figure 5A shows only one classical computing system 810, any number of classical computing systems 810 or other external systems may be connected to the quantum computing system 820.
[0152] Figure 5C is a block diagram showing one embodiment of a quantum computing system 820. The quantum computing system 820 includes any number of qubits 850 and associated qubit controllers 840. As shown in Figure 5D, the qubits 850 may reside in qubit registers (or multiple registers) of the quantum computing system 820. The qubits are described further below. The qubit controller 840 is a module that controls one or more qubits 850. The qubit controller 840 may include a classical processor such as a CPU, GPU, or FPGA. The qubit controller 840 may perform physical operations on one or more qubits 850 (for example, it can perform quantum gate operations on the qubits 840). In the example in Figure 5C, a separate qubit controller 840 is shown for each qubit 850, but one qubit controller 850 may control multiple (e.g., all) qubits 850 of the quantum computing system 820, and multiple controllers 850 may control a single qubit. For example, the qubit controller 850 could be a separate processor, parallel threads on the same processor, or a combination of both.
[0153] Figure 5E is a flowchart illustrating an exemplary execution of a quantum routine on computing system 800. Classical computing system 810 generates a quantum program (860) to be executed or processed by quantum computing system 820. The quantum program may contain instructions or subroutines to be executed by quantum computing system 820. In one example, the quantum program is a quantum circuit. Quantum computing system 820 executes the program (865) and computes the results (referred to as shots or runs) (870). Computing the results may include estimating the quantum states generated by quantum computing system 820 as a result of executing the program. In practice, this may be done by measuring one or more values of qubits 850. Quantum computing system 820 typically executes multiple shots to accumulate statistics from probabilistic executions. The number of shots and any changes that occur between shots (e.g., parameter changes) may be referred to as a schedule. The schedule may be specified by a program. The results (e.g., quantum state data) (or accumulated results) are recorded by classical computing system 810 (875). The result may be returned after the termination condition is met (for example, a threshold number of shots have occurred). The classical computing system 810 can then determine the quantity based on the received result.
[0154] The quantum computing system 820 utilizes the laws of quantum mechanics to perform computations. Quantum computing units (QPUs), quantum computers, quantum processors, and quantum computing units are examples of quantum computing systems, respectively. The quantum computing system 800 can be a universal or non-universal quantum computing system (a universal quantum computing system can execute any possible quantum circuit (constrained that the circuit does not use more qubits than a quantum computing system)). In some embodiments, the quantum computing system 800 is a gate-model quantum computer. As previously stated, quantum computing systems use so-called qubits or quantum bits (e.g., 850A). While classical bits always have either a value of 0 or 1, quantum bits are quantum mechanical systems that can have values of 0, 1, or a superposition of both. Exemplary physical implementations of quantum bits include superconducting quantum bits, spin quantum bits, trapped ions, arrays of neutral atoms, and photonic systems (e.g., photons in waveguides). For the purposes of this disclosure, quantum bits may be realized by a single physical quantum bit, or as an error-protected logical quantum bit that itself comprises multiple physical quantum bits. Furthermore, this disclosure is not specific to qubits. This disclosure may be generalized to apply to quantum computing systems 820 in which the building blocks are not qubits but qudits (d-level quantum systems, d>2) or quantum continuous variables.
[0155] A quantum circuit is an ordered set of one or more gates. A subcircuit may refer to a circuit that is part of a larger circuit. A gate represents a unitary operation performed on one or more qubits. A quantum gate may be described using a unitary matrix. The depth of a quantum circuit is the minimum number of steps used to execute the circuit on a quantum computing system. The depth of a quantum circuit may be less than the total number of gates, since gates acting on non-overlapping subsets of qubits may be executed in parallel. A layer of a quantum circuit may refer to a step in a circuit between which multiple gates may be executed in parallel. In some embodiments, a quantum circuit is executed by a quantum computing system. In this sense, a quantum circuit can be thought of as comprising a set of instructions or operations that a quantum computing system can execute. To execute a quantum circuit on a quantum computing system, a user may inform the quantum computing system which circuit should be executed. A quantum computing system may include both a core quantum device and classical peripheral / control devices (e.g., a qubit controller 840) used to organize the control of the quantum device. It is this classical control device that can receive the description of a quantum circuit when attempting to have a quantum computer execute the circuit.
[0156] The parameters of a parameterized quantum circuit may refer to the parameters of a gate. For example, a gate that performs a rotation around the y-axis may be parameterized by a real number describing the angle of rotation.
[0157] Descriptions of quantum circuits to be executed on one or more quantum computing systems may be stored in non-temporary computer-readable storage media. The term “computer-readable storage media” should be interpreted to include one or more media capable of storing instructions (e.g., centralized or distributed databases, or associated caches and servers). The term “computer-readable media” should also be interpreted to include any media capable of storing instructions for execution by a quantum computing system, causing the quantum computing system to execute any one or more of the methods disclosed herein. The term “computer-readable media” includes, but is not limited to, data repositories in the form of solid-state memory, optical media, and magnetic media.
[0158] Figure 6 is an exemplary architecture of a classical computing system 810 according to one embodiment. The quantum computing system 820 may also have one or more components described with respect to Figure 6. Figure 6 is a high-level block diagram showing the physical components of a computer system used as some or all of one or more entities described herein according to one embodiment. The computer may have additional, fewer, or variations of the components provided in Figure 6. Figure 6 shows a computer 900, but this figure is intended not as a structural schematic diagram of the implementation described herein, but as a functional description of the various features that may be present in the computer system. In practice, as will be recognized by those skilled in the art, items shown separately may be combined, and some items may be separated.
[0159] Figure 6 shows a set of one or more processors 902 coupled to a chipset 904. The chipset 904 also includes memory 906, storage device 908, keyboard 910, graphics adapter 912, pointing device 914, and network adapter 916. A display 918 is coupled to the graphics adapter 912. In one embodiment, the functionality of the chipset 904 is provided by a memory controller hub 920 and an I / O hub 922. In another embodiment, memory 906 is directly coupled to the set of one or more processors 902 instead of the chipset 904. In some embodiments, the computer 900 includes one or more communication buses for interconnecting these components. The one or more communication buses optionally include circuits (also referred to as chipsets) that interconnect system components and control communication.
[0160] The storage device 908 is any non-temporary computer-readable storage medium such as a hard drive, compact disk read-only memory (CD-ROM), DVD, or solid-state memory device or other optical storage, magnetic cassette, magnetic tape, magnetic disk storage or other magnetic storage device, magnetic disk storage device, optical disk storage device, flash memory device, or other non-volatile solid-state storage device. Such a storage device 908 may also be called persistent memory. The pointing device 914 may be a mouse, trackball, or other type of pointing device, and is used in combination with the keyboard 910 to input data into the computer 900. The graphics adapter 912 displays images and other information on the display 918. The network adapter 916 connects the computer 900 to a local area network or a wide area network.
[0161] Memory 906 holds instructions and data used by one or more sets of processors 902. Memory 906 can be non-persistent memory, and examples include high-speed random-access memory such as DRAM, SRAM, DDR RAM, ROM, EEPROM, and flash memory.
[0162] As is known in the art, the computer 900 may have components different from those shown in Figure 6 or other components. Furthermore, the computer 900 may lack certain illustrated components. In one embodiment, the computer 900, which functions as a server, may lack a keyboard 910, a pointing device 914, a graphics adapter 912, or a display 918. Furthermore, the storage device 908 may be located locally with the computer 900 or remotely from the computer 900 (e.g., within a storage area network (SAN)).
[0163] As is known in the art, the computer 900 is configured to run computer program modules for providing the functions described herein. As used herein, the term “module” refers to computer program logic used to provide a specified function. Thus, a module may be implemented in hardware, firmware, or software. In one embodiment, a program module is stored in a storage device 908, loaded into memory 906, and executed individually or collectively by one or more sets of processors (e.g., 902).
[0164] VIII. Additional Considerations The above disclosure describes exemplary embodiments for illustrative purposes only. Any features described as essential, important, or otherwise required should be interpreted as being required only in that embodiment and not necessarily included in other embodiments.
[0165] Some portions of the above disclosure describe embodiments in terms of algorithmic processes or operations. These algorithmic descriptions and expressions are commonly used by those skilled in the computing field to effectively communicate the nature of the work to others skilled in the art. These operations are described functionally, computationally, or logically, but are understood to be implemented by computer programs that include instructions for execution by a processor or equivalent electrical circuit, microcode, etc. It has also proven convenient, without loss of generality, to refer to these configurations of functional operations as modules. In some cases, modules may be implemented in hardware, firmware, or software.
[0166] As used herein, any reference to “one embodiment” or “a certain embodiment” means that a particular component, feature, structure, or characteristic described in relation to an embodiment is included in at least one embodiment. The phrase “in one embodiment” appearing in various parts of this specification does not necessarily all refer to the same embodiment. Similarly, the use of “one (a)” or “one (an)” preceding an element or component is merely for convenience. This description should be understood to mean that one or more of the elements or components exist, unless it is made clear that otherwise. As used herein, the terms “comprises,” “comprising,” “includes,” “including,” “has,” “having,” or any other variations thereof are intended to encompass non-exclusive inclusion. For example, a process, method, article, or apparatus containing a list of elements is not necessarily limited to those elements alone and may include other elements not expressly listed or specific to such process, method, article, or apparatus. Furthermore, unless the opposite is explicitly stated, "or" refers to an inclusive or not an exclusive or. For example, condition A or B is satisfied by one of the following: A is true (or exists) and B is false (or does not exist), A is false (or does not exist) and B is true (or exists), and both A and B are true (or exist).
[0167] Furthermore, the use of “a” or “an” is used to describe elements and components of an embodiment. This is done simply for convenience to give a general meaning to the disclosure. This description should be read as including one or at least one, and the singular form also includes the plural form unless it is obvious that it does not. Where a value is stated as “about” or “substantially” (or a derivative thereof), such a value should be interpreted as being + / - 10% exact unless another meaning is obvious from the context. From the example, “about 10” should be understood to mean “within the range of 9 to 11.”
[0168] Alternative embodiments are implemented in computer hardware, firmware, software, and / or combinations thereof. Implementations may be implemented in a computer program product tangibly embodied in machine-readable storage for execution by a programmable processor, and method steps may be executed by a programmable processor that executes a program of instructions to perform a function by acting on input data and producing an output. As used herein, “processor” may mean one or more processors. Embodiments may be advantageously implemented in one or more computer programs executable on a programmable system including at least one programmable processor coupled to receive data and instructions from a data storage system, at least one input device, and at least one output device, and to transmit data and instructions to the data storage system, at least one input device, and at least one output device. Each computer program may be implemented in a high-level procedural programming language or an object-oriented programming language, or in assembly language or machine language as needed, in either case the language may be a compiled language or an interpreted language. Suitable processors include, as an example, both general-purpose and dedicated microprocessors. Generally, a processor receives instructions and data from read-only memory and / or random-access memory. Generally, a computer includes one or more mass storage devices for storing data files, such devices include magnetic disks such as internal hard disks and removable disks, magneto-optical disks, and optical disks. Storage devices suitable for tangibly embodying computer program instructions and data include all forms of non-volatile memory, including, for example, semiconductor memory devices such as EPROMs, EEPROMs, and flash memory devices, magnetic disks such as internal hard disks and removable disks, magneto-optical disks, and CD-ROM disks. Any of the foregoing can be complemented by or incorporated into ASICs (Application-Specific Integrated Circuits) and other forms of hardware.
[0169] While the above description includes many details, these should not be construed as limiting the scope of this disclosure, but merely as illustrating different examples. It should be understood that the scope of this disclosure includes other embodiments not discussed in detail above. Various other modifications, changes, and variations that would be obvious to those skilled in the art can be made in the configuration, operation, and details of the methods and apparatus disclosed herein without departing from the spirit and scope of this disclosure.
Claims
1. A non-temporary computer-readable storage medium that stores instructions for estimating the amplitude of a first quantum oracle using a direction of arrival (DOA) estimation algorithm, wherein, when the instructions are executed by a computing system including a quantum computing system, the computing system receives the following information: Determining a set of values corresponding to the number of oracle calls of a second quantum oracle to be executed, wherein the second quantum oracle is based on the first quantum oracle, For each value n in the set: Executing a first quantum circuit that generates a first output quantum state by performing n oracle calls of the second quantum oracle, Estimating the first output quantum state based on the measurement of the target qubit in the first basis, Executing a second quantum circuit that performs n oracle calls of the second quantum oracle to generate a second output quantum state, and The second output quantum state is estimated based on the measurement of a target qubit in a second basis set that is different from the first basis set, A signal vector is formed based on the estimated output quantum state for each value in the set, Applying the signal vector to the DOA estimation algorithm, Based on the output of the DOA estimation algorithm, the amplitude of the first quantum oracle is estimated, Perform an action that includes A non-temporary computer-readable storage medium.
2. The operation described above does not include performing a phase estimation to estimate the amplitude of the first quantum oracle. A non-temporary computer-readable storage medium according to claim 1.
3. Executing the first and second quantum circuits, and measuring the output quantum state corresponding to the first value in the set, is performed in parallel with executing the first and second quantum circuits, and measuring the output quantum state corresponding to the second value in the set. A non-temporary computer-readable storage medium according to claim 1.
4. The second quantum circuit includes the first quantum circuit and a Hadamard quantum gate. A non-temporary computer-readable storage medium according to claim 1.
5. The aforementioned signal vector is in the form [Math 1] It has ω n This is based on the estimated output quantum state for the value of n in the set, A non-temporary computer-readable storage medium according to claim 1.
6. Said ω n teeth, [Math 2] This is the inverse function of the tangent of p, where p 0 (n) is the Z basis after performing n oracle calls of the second quantum oracle. [Math 3] This is the estimated probability of measuring the target qubit in a given state, where p 1 (n) is the Z basis after performing n oracle calls of the second quantum oracle. [Math 4] This is the estimated probability for measuring the target qubit in the given state. [Math 5] This is within the X basis after performing n oracle calls of the second quantum oracle. [Math 6] This is the estimated probability of measuring the target qubit in a given state. [Number 7] This is the X basis after performing n oracle calls of the second quantum oracle. [Number 8] The estimated probability for measuring the target qubit in the state is A non-temporary computer-readable storage medium according to claim 5.
7. Forming the aforementioned signal vector is Format y n Forming an initial vector having an initial vector component having, The initial vector is extended by calculating additional vector components based on the initial vector components, including, A non-temporary computer-readable storage medium according to claim 1.
8. Calculating the aforementioned additional vector components includes calculating the cross product of the initial vector and itself. A non-temporary computer-readable storage medium according to claim 7.
9. The execution of the first quantum circuit is performed by a first quantum computer, and the execution of the second quantum circuit is performed by a second quantum computer different from the first quantum computer. A non-temporary computer-readable storage medium according to claim 1.
10. The DOA estimation algorithm is either the MUSIC (Multiple Signal Classification) algorithm or the ESPRIT (Estimation of Signal Parameters via Rotational Invariance Techniques) algorithm. A non-temporary computer-readable storage medium according to claim 1.
11. A method for estimating the amplitude of a first quantum oracle using a direction of arrival (DOA) estimation algorithm, Determining a set of values corresponding to the number of oracle calls of a second quantum oracle to be executed, wherein the second quantum oracle is based on the first quantum oracle, For each value n in the set: The quantum computing system is made to execute a first quantum circuit that generates a first output quantum state by performing n oracle calls of the second quantum oracle. The quantum computing system is made to measure the target qubit within the first basis, Estimating the first output quantum state based on the measurement of the target qubit in the first basis, The quantum computing system and a different quantum computing system are to execute a second quantum circuit that performs n oracle calls of the second quantum oracle to generate a second output quantum state. To cause the quantum computing system or the different quantum computing system to measure a target qubit in a second basis that is different from the first basis, and Based on the measurement of the target qubit in the second basis, the second output quantum state is estimated, For each value in the set, a signal vector is formed based on the measured output, Applying the signal vector to the DOA estimation algorithm, Based on the output of the DOA estimation algorithm, the amplitude of the first quantum oracle is estimated, Methods that include...
12. Estimating the amplitude of the first quantum oracle is performed without phase estimation. The method according to claim 11.
13. The execution of the first and second quantum circuits for the first value of the set is performed in parallel with the execution of the first and second quantum circuits for the second value of the set. The method according to claim 11.
14. The second quantum circuit includes the first quantum circuit and a Hadamard quantum gate. The method according to claim 11.
15. The aforementioned signal vector is in the form [Number 9] It has ω n This is based on the estimated output quantum state for the value of n in the set, The method according to claim 11.
16. Said ω n teeth, [Number 10] This is the inverse function of the tangent of p, where p 0 (n) is the Z basis after performing n oracle calls of the second quantum oracle. [Math 11] is the estimated probability of measuring the target qubit in the state, p 1 (n) is within the Z basis after executing n oracle calls of the second quantum oracle [Math 12] This is the estimated probability for measuring the target qubit in the given state. [Number 13] This is within the X basis after performing n oracle calls of the second quantum oracle. [Number 14] This is the estimated probability of measuring the target qubit in a given state. [Number 15] This is the X basis after performing n oracle calls of the second quantum oracle. [Number 16] The estimated probability for measuring the target qubit in the state is The method according to claim 15.
17. Forming the aforementioned signal vector is Format y n Forming an initial vector having an initial vector component having, The initial vector is extended by calculating additional vector components based on the initial vector components, including, The method according to claim 11.
18. Calculating the aforementioned additional vector components includes calculating the cross product of the initial vector and itself. The method according to claim 17.
19. The execution of the first quantum circuit is performed by a first quantum computer, and the execution of the second quantum circuit is performed by a second quantum computer different from the first quantum computer. The method according to claim 11.
20. The DOA estimation algorithm is either the MUSIC (Multiple Signal Classification) algorithm or the ESPRIT (Estimation of Signal Parameters via Rotational Invariance Techniques) algorithm. The method according to claim 11.