Information processing program, information processing method, and information processing device
By dynamically adjusting coefficient values for parameter updates in VQE calculations, the method addresses the issue of prolonged calculation times and incorrect convergence, achieving faster energy convergence and reduced iteration counts.
Patent Information
- Application Number
- JP2024528001
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-06-15
- Publication Date
- 2025-08-14
- Estimated Expiration
- 2042-06-15
AI Technical Summary
In VQE calculations, parameter values changing too much during optimization steps can lead to deviations from the ideal transition process, resulting in incorrect energy convergence and prolonged calculation times due to the need for a large number of iterations when parameter changes are kept small.
An information processing program dynamically adjusts the coefficient values for parameter updates in VQE calculations, periodically changing between values higher and lower than a reference value to optimize the parameter changes, thereby accelerating energy convergence and reducing the number of iterations.
This approach significantly reduces VQE calculation time by ensuring appropriate parameter changes, preventing deviations from the optimization path and minimizing the number of iterations required for energy convergence.
Smart Images

Figure 0007723329000005 
Figure 0007723329000006 
Figure 0007723329000007
Abstract
Description
[Technical Field]
[0001] The present invention relates to an information processing program, an information processing method, and an information processing device. [Background technology]
[0002] The VQE (Variational Quantum Eigensolver) algorithm is a method for performing quantum chemical calculations using quantum computers or simulators. This VQE algorithm is used, for example, to calculate the ground state energy value of a substance.
[0003] In quantum chemical calculations using the VQE algorithm (VQE calculations), for example, a quantum computer measures the expectation value of a quantum state based on a variational quantum circuit parameterized by multiple parameters θ. The expectation value of the quantum state is obtained from the expectation value of the quantum state. Based on the expectation value of the quantum state, a classical computer adjusts the parameter θ so that the energy becomes lower. This adjustment process of the parameter θ is called an optimization process. The quantum computer generates a quantum state using the optimized parameter θ and measures the expectation value again. The quantum computer and classical computer repeat the measurement of the expectation value of the quantum state and the optimization of the parameters until the energy converges.
[0004] As for quantum computing technologies, for example, quantum computing devices that can execute quantum variational algorithms even if the error rate of the quantum computing device is not sufficiently small have been proposed. Technology for generating trial states for VQE has also been proposed. A quantum optimization method has also been proposed in which, for a quantum state, a classical computer estimates the expectation value of a Hamiltonian that can be expressed as a linear combination of observables based on the expectation value of the observables, and then transforms either or both the Hamiltonian and the quantum state. Furthermore, technology has been proposed to facilitate quantum computation of Monte Carlo minimization. [Prior art documents] [Patent documents]
[0005] [Patent Document 1] Patent Publication No. 2021-26370 [Patent Document 2] Special Publication No. 2020-534607 [Patent Document 3] US Patent Application Publication No. 2020 / 0057957 [Patent Document 4] US Patent Application Publication No. 2019 / 0384597 Summary of the Invention [Problem to be solved by the invention]
[0006] In VQE calculations, if the parameter values change too much for each optimization step, the parameter values may deviate significantly from the ideal transition process for reaching the minimum energy value, and the energy may not converge correctly. For this reason, optimization has traditionally been performed by keeping the parameter value change for each optimization step sufficiently small. However, if the parameter value change for each optimization step is small, the energy only decreases gradually, and the number of iterations required to converge increases. This results in a longer VQE calculation time.
[0007] In one aspect, the present invention aims to reduce VQE calculation time. [Means for solving the problem]
[0008] In one proposal, an information processing program is provided that causes a computer to repeatedly execute a process of updating the values of parameters applied to a variational quantum circuit used in a VQE calculation. The computer determines the value of the coefficient used in the parameter value update process for each update process to be a value that periodically changes between a value higher and a value lower than a predetermined reference value as the update count indicating the number of update processes increases.The computer then updates the parameter value from the parameter value before the update to a changed value by an amount corresponding to the coefficient value determined for the update count of the update processes to be executed in the update process executed multiple times in the VQE calculation. [Effects of the Invention]
[0009] According to one aspect, VQE calculation time is reduced. The above and other objects, features and advantages of the present invention will become apparent from the following description taken in conjunction with the accompanying drawings illustrating preferred embodiments of the present invention. [Brief explanation of the drawings]
[0010] [Figure 1] FIG. 2 illustrates an example of an information processing method according to the first embodiment. [Figure 2] FIG. 10 illustrates an example of a system configuration according to a second embodiment. [Figure 3] FIG. 1 is a diagram illustrating an example of hardware of a classical computer. [Figure 4] FIG. 1 is a diagram illustrating an example of a variational quantum circuit. [Figure 5] FIG. 1 is a block diagram showing an example of the functionality of a classical computer for VQE calculations. [Figure 6] 10 is a flowchart illustrating an example of a procedure for VQE calculation processing. [Figure 7] FIG. 1 is a diagram showing an example of a VQE calculation of the energy of a hydrogen molecule. [Figure 8] FIG. 10 is a diagram illustrating an example of a change in step size. [Figure 9] FIG. 10 is a diagram illustrating an example of the relationship between m and the number of optimizations. DETAILED DESCRIPTION OF THE INVENTION
[0011] The present embodiment will be described below with reference to the drawings. Note that each embodiment can be implemented in combination with a plurality of other embodiments within a range that does not contradict each other. [First embodiment] The first embodiment is an information processing method that reduces the number of optimization iterations and shortens the calculation time by speeding up the energy convergence in VQE calculation.
[0012] Fig. 1 is a diagram illustrating an example of an information processing method according to a first embodiment. Fig. 1 illustrates an information processing device 10 that implements the information processing method. The information processing device 10 can implement the information processing method by, for example, executing an information processing program.
[0013] The information processing device 10 includes a storage unit 11 and a processing unit 12. The storage unit 11 is, for example, a memory or a storage device included in the information processing device 10. The processing unit 12 is, for example, a processor or an arithmetic circuit included in the information processing device 10.
[0014] A variational quantum circuit 1 corresponding to a quantum many-body system to be solved by VQE calculation is stored in the storage unit 11. The variational quantum circuit 1 is parameterized by, for example, a set of multiple parameters θ (θ1, θ2, . . . ).
[0015] The processing unit 12 performs a VQE calculation. In the VQE calculation, the processing unit 12 measures the expectation value of the quantum state using, for example, the quantum computer 2, the variational quantum circuit 1 to which the parameter values at that time are applied. The processing unit 12 calculates the energy of the quantum many-body system based on the expectation value of the quantum state. The processing unit 12 determines whether the calculated energy satisfies a predetermined convergence condition, and if not, updates the value of the set θ of multiple parameters so that the energy decreases. This updating of the value of the set θ of multiple parameters is called parameter optimization. The processing unit 12 repeatedly performs expectation value measurement and parameter optimization using the quantum computer 2 until the energy satisfies the convergence condition.
[0016] In such a VQE calculation, the processing unit 12 dynamically changes a coefficient that adjusts the magnitude of change in the value of the set of parameters θ in parameter optimization as the VQE calculation progresses. The coefficient is, for example, a step size η. The step size η is, for example, a learning rate in the gradient descent method.
[0017] For example, the processing unit 12 determines the value of the coefficient used for each update process in the update process of the parameter value applied to the variational quantum circuit 1 to be a value that periodically changes between values higher and lower than a predetermined reference value as the number of updates indicating the number of update processes increases. If the number of updates is k (k is a natural number), the value of the coefficient is determined for each value of the number of updates k.
[0018] In the example of FIG. 1, the reference value (η0) is "0.05." As the number of updates increases, the value of the coefficient corresponding to each update number periodically changes between values higher and lower than "0.05." The change cycle of the coefficient value may be, for example, a fixed number of updates. In the example of FIG. 1, one cycle is two update processes. In this case, values higher and lower than the reference value alternate each time the number of updates increases by one.
[0019] The processing unit 12 can dynamically calculate the coefficient value for each update process during the VQE calculation. For example, when the kth first update process of the parameter value is performed during the VQE calculation, the processing unit 12 calculates the coefficient value to be used in the (k+1)th second update process based on the first amount of change in the parameter value in the first update process.
[0020] The processing unit 12 calculates the value of a coefficient to be commonly used in determining updated values of the multiple parameters in the next second update process, based on the average value of the first change amounts of the respective parameters in the multiple parameter set θ (θ1, θ2, . . .) in the first update process. The average value of the first change amounts in the k-th update process is calculated using, for example, "D k =Σ|θ p,k -θ p,k-1 | / N" (θ p,kis the value of the pth parameter at update count k, and N is the number of parameters). p,k -θ p,k-1 |" is the amount of change in the parameter value in the kth update process (the difference between the parameter value before and after the update).
[0021] The coefficient used in the k+1th update process (step size η k ) is, for example, "η k =(D0 / D k ) m ·η0" (D0, m are given real numbers). In the update process repeatedly performed during the VQE calculation process, the processing unit 12 determines the amount of change in the parameter value based on the coefficient value determined for the number of updates in the update process to be performed. For example, the processing unit 12 increases the amount of change in the parameter value as the coefficient value increases. The processing unit 12 then updates the parameter value by the determined amount of change from the parameter value before the update to a value obtained by changing the parameter value.
[0022] For example, the processing unit 12 calculates the product (η k (∂f(θ) / ∂θ p The cost function is a function whose value decreases as the energy of the quantum many-body system to be solved decreases.
[0023] Dynamically changing the coefficients for each parameter update process in the VQE calculation in this way enables energy convergence early and reduces the number of optimization iterations. That is, if the coefficient values are too large, the parameter values may change too much in one update process, potentially resulting in poor optimization. On the other hand, if the coefficient values are too small, the amount of change in the parameter values may be too small, increasing the number of iterations, including the update process. The processing unit 12 periodically changes the coefficient values between values greater than and less than a reference value. This accelerates energy convergence when the coefficient value becomes greater than the reference value, thereby reducing the number of iterations (including parameter optimization and expected value measurement). Furthermore, by including an update process in which the coefficient value is smaller than the reference value within one cycle, a situation in which the parameter values change significantly can be avoided, preventing significant deviation from the parameter optimization path.
[0024] Furthermore, by determining the amount of change in the parameter as the product of the gradient of the cost function corresponding to the parameter value before update and the coefficient value, the amount of change in the parameter increases as the coefficient value increases. This allows the amount of change in the parameter to be appropriately adjusted by changing the coefficient value.
[0025] Furthermore, the processing unit 12 calculates the value of a coefficient to be used in the (k+1)th update process based on the amount of change in the parameter value in the kth update process. For example, the processing unit 12 reduces the value of a coefficient to be used in the (k+1)th update process as the amount of change in the parameter value in the kth update process increases. This makes it possible to dynamically calculate, during the VQE calculation process, the value of a coefficient that periodically changes between values higher and lower than a reference value.
[0026] In addition, by calculating the value of a coefficient that is commonly used to determine the updated values of multiple parameters in the second update process based on the average value of the first change in the values of each of the multiple parameters, the calculation load of the coefficient value can be reduced.
[0027] Furthermore, by determining the coefficient value for each update count to be a value that alternates between values higher and lower than the reference value with each increment of the update count, it is possible to alternate between situations in which the amount of change in the parameter value is large and situations in which it is small with each iteration of the VQE calculation. This makes it possible to prevent the parameter value from deviating from the optimization path due to a series of situations in which the amount of change in the parameter value is large. Moreover, by appropriately generating situations in which the amount of change in the parameter value is large, it is possible to speed up the convergence of the energy.
[0028] Second Embodiment The second embodiment shortens the VQE calculation time by accelerating the energy convergence in VQE calculations using a quantum computer. In the second embodiment, the process of updating the values of the set of multiple parameters θ so as to reduce the energy of a quantum many-body system is called an optimization process. The number of times the optimization process is executed in the VQE calculation process is called the optimization count. Furthermore, the coefficient that adjusts the amount of change in the set of multiple parameters θ in the optimization process is called the step size.
[0029] FIG. 2 is a diagram illustrating an example of a system configuration according to the second embodiment. A classical computer 100 and a quantum computer 200 are connected via a network. The classical computer 100 is a von Neumann-type computer. The classical computer 100 performs processes such as parameter optimization calculations in VQE calculations. The quantum computer 200 is a quantum gate-type quantum computer that performs desired calculations by manipulating the state of quantum bits based on a quantum circuit. In VQE calculations, the quantum computer 200 obtains, based on the variational quantum circuit, the expected value of the quantum state represented by the variational quantum circuit in accordance with the values of specified parameters.
[0030] FIG. 3 is a diagram illustrating an example of hardware for a classical computer. A classical computer 100 is entirely controlled by a processor 101. A memory 102 and multiple peripheral devices are connected to the processor 101 via a bus 109. The processor 101 may be a multiprocessor. The processor 101 is, for example, a central processing unit (CPU), a micro processing unit (MPU), or a digital signal processor (DSP). At least some of the functions realized by the processor 101 executing a program may be realized by an electronic circuit such as an application specific integrated circuit (ASIC) or a programmable logic device (PLD).
[0031] The memory 102 is used as a main storage device of the classical computer 100. The memory 102 temporarily stores at least a portion of the OS (Operating System) program and application programs to be executed by the processor 101. The memory 102 also stores various data used in processing by the processor 101. As the memory 102, for example, a volatile semiconductor storage device such as a RAM (Random Access Memory) is used.
[0032] The peripheral devices connected to the bus 109 include a storage device 103, a GPU (Graphics Processing Unit) 104, an input interface 105, an optical drive device 106, a device connection interface 107, and a network interface 108.
[0033] The storage device 103 writes and reads data electrically or magnetically to and from a built-in recording medium. The storage device 103 is used as an auxiliary storage device for the classical computer 100. The storage device 103 stores the OS program, application programs, and various data. Note that the storage device 103 may be, for example, an HDD (Hard Disk Drive) or an SSD (Solid State Drive).
[0034] The GPU 104 is an arithmetic unit that performs image processing and is also called a graphics controller. The GPU 104 is connected to a monitor 21. The GPU 104 displays an image on the screen of the monitor 21 in accordance with an instruction from the processor 101. The monitor 21 may be a display device using organic EL (Electro Luminescence) or a liquid crystal display device.
[0035] The input interface 105 is connected to a keyboard 22 and a mouse 23. The input interface 105 transmits signals sent from the keyboard 22 and the mouse 23 to the processor 101. The mouse 23 is an example of a pointing device, and other pointing devices can also be used. Examples of other pointing devices include a touch panel, a tablet, a touch pad, and a trackball.
[0036] The optical drive device 106 uses a laser beam or the like to read data recorded on an optical disc 24 or write data to the optical disc 24. The optical disc 24 is a portable recording medium on which data is recorded so that it can be read by reflected light. The optical disc 24 includes a DVD (Digital Versatile Disc), a DVD-RAM, a CD-ROM (Compact Disc Read Only Memory), a CD-R (Recordable) / RW (Rewritable), and the like.
[0037] The device connection interface 107 is a communication interface for connecting peripheral devices to the classical computer 100. For example, a memory device 25 or a memory reader / writer 26 can be connected to the device connection interface 107. The memory device 25 is a recording medium equipped with a function for communicating with the device connection interface 107. The memory reader / writer 26 is a device for writing data to the memory card 27 or reading data from the memory card 27. The memory card 27 is a card-type recording medium.
[0038] The network interface 108 is connected to the quantum computer 200 via a network. The network interface 108 transmits information such as a quantum computation request to the quantum computer 200 and receives information indicating the computation result from the quantum computer 200. The network interface 108 is a wired communication interface that is connected by a cable to a wired communication device such as a switch or a router.
[0039] The classical computer 100 can realize the processing functions of the second embodiment with the hardware described above. The device shown in the first embodiment can also be realized with hardware similar to the classical computer 100 shown in FIG.
[0040] The classical computer 100 realizes the processing functions of the second embodiment by executing a program recorded on, for example, a computer-readable recording medium. The program describing the processing to be executed by the classical computer 100 can be recorded on various recording media. For example, the program to be executed by the classical computer 100 can be stored in a storage device 103. The processor 101 loads at least a portion of the program in the storage device 103 into the memory 102 and executes the program. The program to be executed by the classical computer 100 can also be recorded on a portable recording medium such as an optical disk 24, a memory device 25, or a memory card 27. The program stored on the portable recording medium becomes executable after being installed on the storage device 103, for example, under the control of the processor 101. The processor 101 can also read and execute the program directly from the portable recording medium.
[0041] In such a system, a classical computer 100 and a quantum computer 200 cooperate to perform a VQE calculation. A set of multiple parameters θ is used in the variational quantum circuit used in the VQE calculation.
[0042] FIG. 4 is a diagram showing an example of a variational quantum circuit. FIG. 4 shows an example of a variational quantum circuit 30 for finding the basis value of the energy of a hydrogen molecule. In the variational quantum circuit 30, operations on four quantum bits (qubits 0 to 3) are shown. Gate operations for each quantum bit are shown on the horizontal lines associated with that quantum bit. When the quantum computer 200 performs quantum computation, the gate operations set for each quantum bit are executed in order from left to right.
[0043] The one-qubit gates 31a to 31l are quantum gates that perform rotation operations around a predetermined axis by a specified angle. The variational quantum circuit 30 is shown to perform a rotation operation around the z-axis, a rotation operation around the y-axis, and a rotation operation around the z-axis in this order for each qubit.
[0044] The rotation angles of the one-qubit gates 31a to 31l are represented by a set of multiple parameters θ (θ={θ1, θ2, . . .}). The rotation angles of the one-qubit gates 31a to 31c acting on the first qubit (qubit 0) are θ0, θ1, and θ2, respectively. The rotation angles of the one-qubit gates 31d to 31f acting on the second qubit (qubit 1) are θ3, θ4, and θ5, respectively. The rotation angles of the one-qubit gates 31g to 31i acting on the third qubit (qubit 2) are θ6, θ7, and θ8, respectively. The rotation angles of the one-qubit gates 31j to 31l acting on the fourth qubit (qubit 3) are θ9 and θ10, respectively. 10 , θ 11 is.
[0045] After a rotation operation around a predetermined axis, gate operations are performed by two-qubit gates 32a, 32b, and 32c. Two-qubit gate 32a is a CNOT gate that exhibits a CNOT operation between a third and a fourth qubit. In this CNOT gate, the third qubit is a control qubit and the fourth qubit is a target qubit. Two-qubit gate 32b is a CNOT gate that exhibits a CNOT operation between a third and a first qubit. In this CNOT gate, the third qubit is a control qubit and the first qubit is a target qubit. Two-qubit gate 32c is a CNOT gate that exhibits a CNOT operation between a fourth and a second qubit. In this CNOT gate, the fourth qubit is a control qubit and the second qubit is a target qubit.
[0046] Symbols 33a to 33d shown at the right end of the line corresponding to each quantum bit indicate the measurement operation of the quantum state. When performing VQE calculations using such a variational quantum circuit 30, for example, a gradient is used in optimizing a set of multiple parameters θ. Here, the pth (p is a natural number) parameter θ p The value of the kth optimization process (k is a natural number) is θ p,kFor example, θ in the k+1th optimization process p,k+1 is θ p,k can be calculated using the following formula (1).
[0047]
number
[0048] η is a parameter (step size) that determines the weight of the values updated in one optimization process. η is also called the learning rate. f(θ) is a cost function that represents energy. ∂f(θ) / ∂θ p is the parameter θ p The gradient of the axis of f(θ) is 1,k ,θ 2,k , , ) parameter θ p is the partial derivative with respect to
[0049] In the example of equation (1), the value of the step size η is fixed during optimization. However, if the value of η is too large, especially in the early stages of optimization, the values of each of the sets of parameters θ may change too much in a single optimization process, potentially causing deviation from the optimization path that should be followed and resulting in poor optimization. Furthermore, if the value of η is too small, especially in the final stages of optimization, the amount of change in each of the sets of parameters θ may be underestimated, resulting in an increased number of optimization iterations.
[0050] Therefore, in the optimization of the VQE calculation, the classical computer 100 changes the value of the step size η for each optimization process, as shown in equations (2) and (3).
[0051]
number
[0052]
number
[0053] where η k is the step size in the k-th optimization process. D0 is a preset constant (real number). k is the parameter θ in the set θ of multiple parameters in the k-th optimization process. p is the average change in D k is calculated according to equation (4).
[0054]
number
[0055] Here, N is the number of parameters (N is a natural number). Also, m in equation (3) is a preset constant (real number). The value of m is selected so that the number of optimization iterations is as small as possible.
[0056] The classical computer 100 can accelerate the convergence of energy and reduce the number of iterations by dynamically changing the step size according to equations (3) and (4). 5 is a block diagram showing an example of the functions of a classical computer for VQE calculation. The classical computer 100 includes a quantum calculation manager 110 and an optimization calculation unit 120.
[0057] The quantum computing manager 110 generates a variational quantum circuit for calculating the energy of a quantum many-body system such as a molecule, and instructs the quantum computer 200 to perform energy calculations based on the variational quantum circuit. For example, the quantum computing manager 110 generates a variational quantum circuit for quantum chemical calculations and sets a set of multiple parameters θ related to gate operations at quantum gates in the variational quantum circuit. Before the first energy calculation based on the variational quantum circuit, the quantum computing manager 110 sets initial values for the set of multiple parameters θ. The initial values of each parameter are, for example, values specified in advance by the user. Alternatively, random values may be used as the initial values of each parameter.
[0058] The quantum computing manager 110 obtains the energy calculation result based on the variational quantum circuit parameterized by a set of multiple parameters θ from the quantum computer 200. Upon obtaining the energy calculation result, the quantum computing manager 110 determines whether the energy has converged. If the energy has not converged, the quantum computing manager 110 instructs the optimization calculator 120 to optimize the parameters.
[0059] The optimization calculation unit 120 optimizes the set of multiple parameters θ for each optimization process. For example, the optimization calculation unit 120 updates the value of the set of multiple parameters θ in a direction that reduces the energy value. When the optimization calculation is completed, the optimization calculation unit 120 notifies the quantum computing management unit 110 of the updated value of the set of multiple parameters θ.
[0060] The functions of the elements shown in FIG. 5 can be realized, for example, by causing a computer to execute a program module corresponding to the element. Next, the VQE calculation process will be described in detail.
[0061] 6 is a flowchart showing an example of the VQE calculation process. The process shown in FIG. 6 will be explained below in order of step number. [Step S101] The quantum computing manager 110 generates a variational quantum circuit parameterized by a set of parameters θ={θ1, θ2, . . .}. The quantum computing manager 110 uses, for example, a pre-specified value as the initial value of the set of parameters θ.
[0062] [Step S102] The quantum computing manager 110 sets an initial value η0 of the step size η used in parameter optimization. The initial value η0 is, for example, a value designated in advance. [Step S103] The quantum computing manager 110 instructs the quantum computer 200 to measure the expected value. For example, the quantum computing manager 110 transmits the generated variational quantum circuit and the value of the set of parameters θ to the quantum computer 200, and instructs the quantum computer 200 to calculate the expected value of each quantum bit based on the variational quantum circuit. The quantum computer 200 measures the expected value of the quantum bit based on the variational quantum circuit parameterized by the set of parameters θ.
[0063] [Step S104] The quantum computing manager 110 determines whether the energy has converged. For example, the quantum computing manager 110 calculates the value of a cost function f(θ) representing the energy and sets the calculation result as the energy value. The quantum computing manager 110 determines that the energy has converged if the energy value satisfies a predetermined convergence condition. For example, the quantum computing manager 110 determines that the energy has converged if the energy value reaches a known value as the ground state energy value. The quantum computing manager 110 may also determine that the energy has converged if the difference between the energy value calculated this time and the energy value calculated previously is equal to or less than a predetermined threshold. If the energy has converged, the quantum computing manager 110 outputs a solution corresponding to the state of the quantum bit at that time and terminates the VQE calculation process. If the energy has not converged, the quantum computing manager 110 proceeds to step S105.
[0064] [Step S105] The quantum computing manager 110 calculates the set of parameters θ as θ old and stores it in the memory 102 as [Step S106] The optimization calculation unit 120 performs optimization calculation of the set of multiple parameters θ using the previously calculated step size η. For example, the optimization calculation unit 120 performs the calculation shown in equation (2). Note that in the first optimization calculation process, the optimization calculation unit 120 sets the initial value η0 of the preset step size η as the step size η to be applied. The optimization calculation unit 120 updates the value of the set of multiple parameters θ to the value calculated by the optimization calculation.
[0065] [Step S107] The optimization calculation unit 120 calculates the updated parameter sets θ and θ old A new step size is calculated based on the average value of the differences between the optimization calculation unit 120 and the step size calculated. The calculated step size is used in the next optimization calculation. After that, the optimization calculation unit 120 proceeds to step S103.
[0066] By performing the VQE calculation in this way, the step size η for each optimization calculation is dynamically changed, which can speed up the energy convergence. Fig. 7 shows an example of a VQE calculation of the energy of a hydrogen molecule. In Fig. 7, graphs 31 and 32 show the results of VQE calculation of the energy of a hydrogen molecule (H2) when the interatomic distance is 0.7 Å.
[0067] In graphs 31 and 32, the horizontal axis represents a value indicating the number of optimization processes (the number of optimizations), and the vertical axis represents the energy value. Graph 32 is an enlarged version of graph 31, covering the energy value range from -1.16 to -1.06. In graphs 31 and 32, black circles represent the change in energy when the step size η is fixed, and white circles represent the change in energy when the step size η is varied.
[0068] The energy calculated in one optimization process decreases with each iteration of the optimization process. The rate at which the energy decreases is faster when a dynamically variable step size η is used than when a fixed value is used for the step size η. As a result, when a fixed value for the step size η is used, the number of optimizations required to reach energy convergence is 93. When a dynamically variable step size η is used, the number of optimizations required to reach energy convergence is 42. In this way, by dynamically varying the step size η, the energy converges in fewer optimizations than when the step size η is fixed.
[0069] Fig. 8 is a diagram showing an example of how the step size changes. In graph 33 shown in Fig. 8, the horizontal axis represents the number of optimizations and the vertical axis represents the step size. In graph 33, black circles represent changes in the step size when the step size η is fixed, and white circles represent changes in the step size when the step size η is varied.
[0070] In the example of Fig. 8, the initial values of the step size η are both "0.05." When the step size η is set to a fixed value, the step size remains "0.05" throughout the VQE calculation.
[0071] When the step size η is dynamically varied, the step size η alternates between values larger and smaller than the initial value every time the number of optimizations increases by one. Also, the more the number of optimizations increases, the greater the difference between the initial value of the step size η becomes. In other words, the amplitude of the variation of the step size η increases as the number of optimizations increases.
[0072] Here, the reason why the step size η changes periodically will be explained. The amount of change in the set θ of multiple parameters in the k-th optimization process is the average value D k The step size of the next optimization process is given by η k In equation (3) to calculate k ) m In the parentheses, the average value D k Since is the denominator, the average value D k The larger the step size η k In other words, the larger the amount of change in the set of parameters θ, the smaller the step size η k Then, in the next optimization process, the step size η k Since the change in the set of parameters θ is small (average value D k ) also becomes smaller. Then, the step size η calculated by equation (3) kbecomes larger, and the amount of change in the set of parameters θ becomes larger. In this way, the cases where the step size is small and large are repeated alternately. As a result, a graph 33 as shown in Figure 8 is obtained.
[0073] In the VQE calculations shown in Figures 7 and 8, the value of m in equation (3) is 0.6. The larger the value of m, the more likely it is that the number of optimization iterations will be reduced. However, if the value of m is too large, the step size will become too large, causing deviation from the optimization path and preventing the energy from converging correctly.
[0074] Fig. 9 is a diagram showing an example of the relationship between m and the number of optimizations. Graph 34 shown in Fig. 9 shows the number of optimizations at the time of energy convergence according to the value of m. The horizontal axis of graph 34 represents the value of m, and the vertical axis represents the number of optimizations at the time of energy convergence.
[0075] As shown in Figure 9, as the value of m is gradually increased from "0", the effect of reducing the number of optimizations also increases. When m increases up to "0.6", the effect of reducing the number of optimizations at energy convergence is maximized. When m exceeds "0.6", the energy does not converge correctly, and the number of optimizations at energy convergence cannot be measured. Therefore, the range of values that m can take is "0≦m≦0.6".
[0076] Note that when the value of m is "0", the step size η always remains at the initial value η0. Therefore, when the value of m is "0", the number of optimizations at energy convergence is "93", as shown in Figure 7. When the value of m is "0.6", the number of optimizations at energy convergence is "42", as shown in Figure 7. In other words, the effect of dynamically varying the step size η in reducing the number of optimizations at energy convergence is approximately 55% at most.
[0077] In this way, dynamically changing the step size in each optimization process of a VQE calculation can speed up energy convergence and reduce the number of optimizations required until convergence. As a result, the calculation time required for VQE calculations is also reduced. In the case of a VQE calculation of a hydrogen molecule, the number of iterations required until energy convergence can be reduced by up to approximately 55%, and the VQE calculation time can be reduced by the same amount.
[0078] By significantly reducing the VQE calculation time, it will become possible to efficiently perform quantum chemistry calculations using quantum computers (particularly NISQ (Noisy Intermediate-Scale Quantum Computer)) that have physical limitations on the number of quantum bits that can be used.
[0079] Other Embodiments In the second embodiment, the step size η is calculated for each optimization process, but the step size for each optimization process may be set in advance so that the step size varies as shown in FIG.
[0080] In the second embodiment, the step size η alternates between values larger and smaller than the initial value for each optimization process, but it is also possible to make the oscillation period of the step size η longer. For example, it is also possible to set four optimization processes as one cycle, execute two optimization processes with a step size larger than the initial value, and then execute two optimization processes with a step size smaller than the initial value.
[0081] The foregoing merely illustrates the principles of the present invention. Further, since numerous modifications and changes will be apparent to those skilled in the art, the present invention is not limited to the exact construction and application shown and described above, and all corresponding modifications and equivalents are deemed to be within the scope of the present invention as defined by the appended claims and their equivalents. [Explanation of symbols]
[0082] 1 Variational quantum circuits 2. Quantum Computers 10. Information processing equipment 11 Storage section 12 Processing section
Claims
1. A program that causes a computer to repeatedly execute a process of updating parameter values applied to a variational quantum circuit used in a VQE (Variational Quantum Eigensolver) calculation, determining a value of a coefficient used in the update process of the parameter value for each update process to be a value that periodically changes between a value higher than a predetermined reference value and a value lower than a predetermined reference value as the number of updates indicating the number of times the update process has been performed increases; In the update process that is executed a plurality of times in the VQE calculation, the value of the parameter is updated from the value of the parameter before the update to a changed value by an amount of change corresponding to the value of the coefficient determined for the number of updates in the update process that is executed. An information processing program that causes a computer to execute a process.
2. In the process of updating the parameter value, the amount of change is increased as the value of the coefficient increases. The information processing program according to claim 1.
3. In the process of determining the value of the coefficient for each update process, when a kth (k is a natural number) first update process of the parameter value is performed during the VQE calculation, a value of the coefficient to be used in a k+1th second update process is calculated based on a first amount of change in the parameter value in the first update process.
3. The information processing program according to claim 1.
4. and in the process of determining the values of the coefficients for each update process, the values of the coefficients to be commonly used in determining the updated values of the plurality of parameters in the second update process are calculated based on an average value of the first change amounts of the values of the plurality of parameters.
4. The information processing program according to claim 3.
5. In the process of determining the value of the coefficient for each update process, the value of the coefficient for each update count is determined to be a value that alternately repeats a value higher than the reference value and a value lower than the reference value each time the update count increases by 1. The information processing program according to claim 1.
6. A program that causes a computer to repeatedly execute a process of updating parameter values applied to a variational quantum circuit used in a VQE calculation, determining a value of a coefficient used in the update process of the parameter value for each update process to be a value that periodically changes between a value higher than a predetermined reference value and a value lower than a predetermined reference value as the number of updates indicating the number of times the update process has been performed increases; In the update process that is executed a plurality of times in the VQE calculation, the value of the parameter is updated from the value of the parameter before the update to a changed value by an amount of change corresponding to the value of the coefficient determined for the number of updates in the update process that is executed. An information processing method in which processing is performed by a computer.
7. An information processing device that executes a parameter value update process multiple times to be applied to a variational quantum circuit used in a VQE calculation, a processing unit that determines, for each update process, a value of a coefficient used in the update process of the parameter value, to a value that periodically changes between a value higher than a predetermined reference value and a value lower than a predetermined reference value as the number of updates indicating the number of times the update process has been performed increases, and updates, in the update process that is performed a plurality of times in the VQE calculation, the value of the parameter from the value of the parameter before the update to a value obtained by changing the value by an amount corresponding to the value of the coefficient determined for the number of updates in the update process to be performed; An information processing device having the above.
Citation Information
Patent Citations
System, method, quantum computing device and computer program for implementing a highly hardware-efficient variational quantum eigensolver for quantum computing machines
JP2020534607A
Quantum computation device and method
JP2021026370A
Short circuit depth variational quantum computation of monte carlo minimization and nth order moments
US20190384597A1
Quantum Computer with Improved Quantum Optimization by Exploiting Marginal Data
US20200057957A1