Quantum circuit simulation program, quantum circuit simulation method, and information processing device

By identifying and reusing tensor data from common regions within quantum circuits, the quantum circuit simulation program efficiently reduces calculation times and computational loads, addressing the challenge of high load due to repeated simulations with varying parameters.

JP2025093739APending Publication Date: 2025-06-24FUJITSU LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2023209570
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-12-12
Publication Date
2025-06-24

AI Technical Summary

Technical Problem

Repeatedly simulating quantum circuits with varying parameter values places a high computational load on computers, leading to prolonged calculation times.

Method used

A quantum circuit simulation program that identifies common regions between different quantum circuits and generates tensor data representing the calculation results of these common regions, allowing for the reuse of these results to calculate the outcomes of multiple quantum circuits efficiently.

Benefits of technology

This approach significantly reduces the calculation time for quantum circuits by eliminating redundant computations in common regions, thereby decreasing the overall computational load and optimizing parameter search processes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025093739000001_ABST
    Figure 2025093739000001_ABST
Patent Text Reader

Abstract

To reduce the computation time for a quantum circuit.SOLUTION: A storage unit 11 stores quantum circuit data 13 that specifies a quantum circuit that changes depending on the value of a parameter. A processing unit 12 generates tensor data 17 indicating the calculation result of a common area 16 by using tensor data showing the quantum computing performed by a quantum gate included in the common area 16 where the types and order of quantum gates are common between a quantum circuit 14 when the parameter is inputted with a first value and a quantum circuit 15 when the parameter is input with a second value. The processing unit 12 calculates the calculation results 18 and 19 of the quantum circuits 14 and 15, respectively, using the tensor data 17.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a quantum circuit simulation program, a quantum circuit simulation method, and an information processing apparatus.

Background Art

[0002] Quantum computing may be described by a computational model called a quantum circuit that represents a combination of multiple quantum gates. A user may cause a described quantum circuit to be executed on a quantum gate-based quantum computer. On the other hand, instead of using a quantum computer, a user may cause a classical computer to simulate the calculation result of a quantum circuit. Quantum circuit simulation using a classical computer may be used for the development of quantum computing algorithms and application software.

[0003] For example, a quantum circuit simulation method has been proposed in which a quantum computing process represented by a quantum circuit is expressed as a tensor network, and the result of the quantum computing process is calculated using a classical computer by contraction on the tensor network. The contraction in this proposed method calculates the product of a state tensor corresponding to n qubits and a quantum gate tensor.

Prior Art Documents

Patent Documents

[0004]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0005] A computer may generate a plurality of quantum circuits by changing the values of parameters and calculate the calculation results of each of the plurality of quantum circuits. For example, a variational quantum eigensolver (VQE) generates a quantum circuit including an Ansatz circuit corresponding to a wave function of the Schrödinger equation and a Hamiltonian circuit corresponding to the Hamiltonian of the Schrödinger equation. VQE calculates the expected value of energy using the quantum circuit and searches for a wave function that minimizes the energy. In this case, the Ansatz circuit changes according to the wave function to be tried.

[0006] However, repeatedly performing quantum circuit simulation on various quantum circuits while changing the values of parameters places a high load on the computer. Therefore, in one aspect, the present invention aims to shorten the calculation time for quantum circuits.

Means for Solving the Problem

[0007] In one aspect, a quantum circuit simulation program is provided that causes a computer to execute the following processing. Quantum circuit data defining a quantum circuit that changes according to the value of a parameter is acquired. For a common region where the types and orders of quantum gates of a first quantum circuit when a first value is input to the parameter and a second quantum circuit when a second value is input to the parameter are common, second tensor data indicating the calculation result of the common region is generated using first tensor data indicating the quantum operation performed by the quantum gates included in the common region. Using the second tensor data, the calculation results of the first quantum circuit and the second quantum circuit are calculated.

[0008] Also, in one aspect, a quantum circuit simulation method executed by a computer is proposed. Also, in one aspect, an information processing apparatus having a storage unit and a processing unit is provided.

Effects of the Invention

[0009] On one side, the calculation time for the quantum circuit is shortened.

Brief Description of the Drawings

[0010]

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

Figure 6

Figure 7

Figure 8

Figure 9

Figure 10

Figure 11

Figure 12

Figure 13

Figure 14

Modes for Carrying Out the Invention

[0011] Hereinafter, the present embodiment will be described with reference to the drawings. [First Embodiment] The first embodiment will be described.

[0012] FIG. 1 is a diagram for explaining an information processing apparatus according to the first embodiment. The information processing apparatus 10 performs a quantum circuit simulation that simulates the calculation result of a quantum circuit. A quantum computer is not necessarily used for the quantum circuit simulation, and the information processing apparatus 10 may be a Neumann-type classical computer. The information processing apparatus 10 may be a client apparatus or a server apparatus. The information processing apparatus 10 may be called a computer or a quantum circuit simulation apparatus.

[0013] The information processing apparatus 10 includes a storage unit 11 and a processing unit 12. The storage unit 11 may be a volatile semiconductor memory such as a RAM (Random Access Memory). Also, the storage unit 11 may be a non-volatile storage such as an HDD (Hard Disk Drive) or a flash memory.

[0014] The processing unit 12 is, for example, a processor such as a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), or a DSP (Digital Signal Processor). However, the processing unit 12 may include an electronic circuit such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array). The processor executes a program stored in a memory such as a RAM (which may also be the storage unit 11). A collection of processors may be called a multiprocessor or simply a "processor".

[0015] The storage unit 11 stores quantum circuit data 13. The quantum circuit data 13 is created, for example, by a user. The information processing apparatus 10 may receive an input of the quantum circuit data 13 from a user or receive the quantum circuit data 13 from another information processing apparatus. The quantum circuit data 13 defines a quantum circuit that changes according to the value of a parameter. By inputting a value to the parameter, a quantum circuit is generated from the quantum circuit data 13.

[0016] A quantum circuit is a quantum computing model that describes the procedure of quantum computing by a combination of multiple quantum gates. A quantum circuit diagram indicates that a plurality of horizontally arranged quantum gates are executed in order from left to right. At the left end of the quantum circuit diagram, each of one or more qubits is initialized, and at the right end of the quantum circuit diagram, the value of each of those one or more qubits is measured. A quantum gate may be a single-input quantum gate such as a unitary rotation gate, or may be a multi-input quantum gate such as a controlled NOT gate.

[0017] The quantum circuit data 13 may include a variable quantum gate that performs a quantum operation according to the value of a parameter. The variable quantum gate may be a variable rotation gate having a parameter indicating a rotation angle. The quantum circuit data 13 may include, in addition to the variable quantum gate, a fixed quantum gate that performs a fixed quantum operation independent of the value of the parameter. However, the parameter may not affect the operation of individual quantum gates, or may affect the overall structure of the quantum circuit, such as the order of a plurality of quantum gates.

[0018] The quantum circuit data 13 may be used for parameter search to search for the optimal value of a parameter. For example, the information processing apparatus 10 generates various quantum circuits by changing the value of a parameter, and searches for the value of the parameter that optimizes the calculation result of the quantum circuit.

[0019] As an example of such parameter search, VQE can be mentioned. The quantum circuit used in VQE includes an ansatz circuit corresponding to the wave function of the Schrödinger equation and a Hamiltonian circuit corresponding to the Hamiltonian of the Schrödinger equation. The Hamiltonian circuit is determined from the structure of the object to be analyzed, such as the molecular structure. The ansatz circuit is determined from the wave function to be tried and depends on the value of the parameter. For example, the rotation angle of the rotation gate included in the ansatz circuit differs depending on the wave function to be tried. VQE searches for a wave function that minimizes the energy calculated using the quantum circuit.

[0020] The processing unit 12 calculates the calculation results of each of the plurality of quantum circuits generated from the quantum circuit data 13 by quantum circuit simulation. Here, the processing unit 12 generates a quantum circuit 14 (first quantum circuit) from the quantum circuit data 13 by inputting a first value to the parameter. Further, the processing unit 12 generates a quantum circuit 15 (second quantum circuit) from the quantum circuit data 13 by inputting a second value different from the first value to the parameter.

[0021] The processing unit 12 calculates a calculation result 18 when quantum calculation is executed according to the quantum circuit 14 by quantum circuit simulation. Further, the processing unit 12 calculates a calculation result 19 when quantum calculation is executed according to the quantum circuit 15 by quantum circuit simulation. The calculation results 18 and 19 indicate the energy of the object to be analyzed, such as molecular energy. For example, the calculation result 18 indicates the energy corresponding to a certain wave function, and the calculation result 19 indicates the energy corresponding to another wave function.

[0022] Quantum circuit simulation represents quantum calculation as a transformation of tensor data having complex numbers as elements. The tensor data may be a vector which is a first-order tensor, a matrix which is a second-order tensor, or a higher-order tensor of the third order or more. The order of the tensor (first order, second order, third order, …) may also be called the number of dimensions (one dimension, two dimensions, three dimensions, …). Further, the tensor data may be a tensor network in which a large tensor is decomposed into a product of a plurality of small tensors.

[0023] The quantum circuit simulation of the first embodiment may use the state vector method or the tensor network method. In the state vector method, generally, the quantum state of a quantum circuit including n quantum bits is represented by a state vector of 2 n dimensions, and the quantum operation on this quantum state is represented by a matrix of 2 n ×2 n dimensions.

[0024] The processing unit 12 can calculate the calculation result of the quantum circuit by sequentially multiplying the initial value of the state vector by a plurality of matrices corresponding to a plurality of quantum gates. However, before multiplying the state vector, the processing unit 12 may first calculate the product of two matrices corresponding to two adjacent quantum gates and combine the two quantum gates. Therefore, the processing unit 12 can perform the multiplication of a plurality of matrices corresponding to a plurality of quantum gates in an arbitrary order.

[0025] In the tensor network method, the initial value of each qubit and the quantum operation of each quantum gate are represented by tensors having ranks corresponding to the number of connection partners. Generally, an m-input m-output quantum gate is represented by a 2m-rank tensor. The processing unit 12 synthesizes two tensors by performing a contraction to calculate the product of the two connected tensors. The rank and dimensionality of the tensor may change due to the contraction. Thereby, the processing unit 12 represents the application of a quantum gate to a qubit and the synthesis of quantum gates.

[0026] The processing unit 12 can calculate the calculation result of the quantum circuit by repeating the contraction of the tensor network. At this time, it is conceivable that the processing unit 12 performs the contraction in the forward direction from the head to the end of the quantum circuit. However, the processing unit 12 may perform the contraction first from any tensor included in the tensor network.

[0027] As the tensor network, a matrix product state (MPS) may be used. MPS is a tensor network in which a plurality of tensors corresponding to a plurality of qubits are connected in series. The processing unit 12 represents the initial values of a plurality of qubits in MPS and synthesizes this MPS and the tensor of each quantum gate. When reducing the tensor indicating a multi-input quantum gate, the reduced tensor may not be in the MPS format. In that case, for example, the processing unit 12 decomposes the reduced tensor into the MPS format using singular value decomposition (SVD).

[0028] Here, the quantum circuits 14 and 15 generated from the quantum circuit data 13 may include a common region 16 where the types and orders of the quantum gates are common (for example, the types and orders are the same). The common region 16 may be a quantum circuit in the section from the beginning of the quantum circuits 14 and 15 to before the variable quantum gate. Also, the common region 16 may be a quantum circuit in the section from after the variable quantum gate to the end of the quantum circuits 14 and 15. When the quantum circuits 14 and 15 include the common region 16, the processing unit 12 can shorten the calculation times of the calculation results 18 and 19.

[0029] The processing unit 12 generates tensor data 17 indicating the calculation result of the common region 16 for the common region 16 using tensor data indicating the quantum operations performed by the quantum gates included in the common region 16. It can be said that the tensor data 17 represents an intermediate state common to the quantum circuits 14 and 15 when calculating the calculation results 18 and 19.

[0030] The tensor data 17 may be a state vector indicating the quantum state at the end point of the common region 16. This state vector is calculated, for example, by multiplying the initial value of the state vector by the matrix corresponding to the quantum gates included in the common region 16. Also, the tensor data 17 may be a matrix indicating a composite quantum gate obtained by combining two or more quantum gates included in the common region 16. This matrix is calculated, for example, by sequentially multiplying two or more matrices corresponding to two or more quantum gates included in the common region 16.

[0031] Also, the tensor data 17 may be a tensor or a tensor network indicating the result of contracting a tensor indicating the initial value of the quantum bits and a tensor indicating the quantum gates included in the common region 16. Such a tensor network may be an MPS.

[0032] Alternatively, the tensor data 17 may be a tensor or a tensor network showing the result of contracting two or more tensors corresponding to two or more quantum gates included in the common area 16. Such a tensor network may be a matrix product operator (MPO). The MPO is, like the MPS, a tensor network in which a plurality of tensors corresponding to a plurality of qubits are connected in series. However, since the tensor indicating the initial value of the qubit is not synthesized in the MPO, it is different from the MPS in that each tensor has a leg that can connect to other tensors not only in the direction of the end of the quantum circuit but also in the direction of the head.

[0033] The processing unit 12 stores the tensor data 17 generated for the common area 16. The processing unit 12 calculates the calculation result 18 of the quantum circuit 14 and the calculation result 19 of the quantum circuit 15 using the tensor data 17. For example, the processing unit 12 calculates the calculation result 18 by performing the calculation of the difference area including the variable quantum gate to which the first value is input following the tensor data 17. Further, the processing unit 12 calculates the calculation result 19 by performing the calculation of the difference area including the variable quantum gate to which the second value is input following the tensor data 17.

[0034] Note that the processing unit 12 may perform the calculations of the quantum circuits 14 and 15 after generating the tensor data 17 corresponding to the common area 16. Further, the processing unit 12 may generate and store the tensor data 17 as an intermediate state in the process of calculating the calculation result 18 from the quantum circuit 14. Further, the processing unit 12 may generate and store the tensor data 17 in the process of performing the calculations of other quantum circuits other than the quantum circuits 14 and 15. Further, the processing unit 12 may calculate the calculation result 19 using both the tensor data indicating the calculation result of the common area on the front side of the variable quantum gate and the tensor data indicating the calculation result of the common area on the back side of the variable quantum gate.

[0035] The processing unit 12 outputs the calculated calculation results 18 and 19. The processing unit 12 may store the calculation results 18 and 19 in a non-volatile storage, may display them on a display device, or may transmit them to another information processing device. Further, the processing unit 12 may output the tensor data 17. The processing unit 12 may store the tensor data 17 in a non-volatile storage, may display it on a display device, or may transmit it to another information processing device.

[0036] As described above, the information processing device 10 of the first embodiment acquires the quantum circuit data 13 that defines the quantum circuit that changes according to the value of the parameter. The information processing device 10 generates the tensor data 17 for the common region 16 between the quantum circuit 14 when the first value is input to the parameter and the quantum circuit 15 when the second value is input to the parameter. The tensor data 17 indicates the calculation result of the common region 16 and is generated using the tensor data indicating the quantum operation performed by the quantum gates included in the common region 16. The information processing device 10 calculates the calculation results 18 and 19 of the quantum circuits 14 and 15 using the tensor data 17.

[0037] Thereby, the information processing device 10 can reuse the calculation result of the common region 16 and reduce the duplicate calculation for the common region 16 as compared with the case of independently performing the calculations of the quantum circuits 14 and 15. Therefore, the calculation time of the quantum circuit simulation is shortened. Further, a plurality of quantum circuits generated from the quantum circuit data 13 including the parameter may include a common region that does not depend on the value of the parameter. Therefore, the computational load of the parameter search for optimizing the calculation result of the quantum circuit is reduced, and the search time is shortened.

[0038] Note that the tensor data 17 may be generated during the calculation process of converting the tensor data in the forward direction from the beginning to the end of the quantum circuit 14 or in the reverse direction from the end to the beginning of the quantum circuit 14. Further, the calculation result 18 may be calculated by completing this calculation process. Thereby, the tensor data 17 to be reused is efficiently generated.

[0039] Further, the quantum circuit data 13 may include variable quantum gates that perform different quantum operations according to the values of the parameters. Also, the common region 16 may be a section before the variable quantum gate in the quantum circuit 14 or a section after the variable quantum gate. As a result, tensor data 17 is efficiently generated in the process of calculating the calculation result 18, and the tensor data 17 is efficiently reused when calculating the calculation result 19.

[0040] Also, the common region 16 may include a first common region including the head of the quantum circuit 14 and a second common region including the tail of the quantum circuit 14. Also, the tensor data 17 may include tensor data indicating the calculation result of the first common region and tensor data indicating the calculation result of the second common region. As a result, the common region where the calculation result can be reused increases, and the calculation of the quantum circuit 15 is further optimized.

[0041] Also, the tensor data 17 may represent a tensor network in which a plurality of tensors corresponding to a plurality of qubits are connected in series. As a result, the rank and size of each tensor are suppressed, and the quantum circuit simulation of the quantum circuits 14 and 15 is optimized.

[0042] Also, the calculation result 18 may indicate a first energy corresponding to a first value of the parameter, and the calculation result 19 may indicate a second energy corresponding to a second value of the parameter. The information processing apparatus 10 may search for a value of the parameter that reduces the calculated energy based on the first energy and the second energy. As a result, the parameter search using the quantum circuit data 13 is optimized.

[0043] [Second Embodiment] Next, a second embodiment will be described. The information processing apparatus 100 of the second embodiment executes VQE using quantum circuit simulation. The information processing apparatus 100 is used, for example, in quantum chemical calculations for calculating the ground energy of a molecule and the electronic state in which the ground energy is achieved. The information processing apparatus 100 may be a client apparatus or a server apparatus. The information processing apparatus 100 may be referred to as a computer or a quantum circuit simulation apparatus. The information processing apparatus 100 corresponds to the information processing apparatus 10 of the first embodiment.

[0044] FIG. 2 is a diagram showing a hardware example of the information processing apparatus according to the second embodiment. The information processing apparatus 100 includes a CPU 101, a RAM 102, an HDD 103, a GPU 104, an input interface 105, a media reader 106, and a communication interface 107 connected to a bus. The CPU 101 corresponds to the processing unit 12 of the first embodiment. The RAM 102 or the HDD 103 corresponds to the storage unit 11 of the first embodiment.

[0045] The CPU 101 is a processor that executes program instructions. The CPU 101 loads the programs and data stored in the HDD 103 into the RAM 102 and executes the programs. The information processing apparatus 100 may have a plurality of processors.

[0046] The RAM 102 is a volatile semiconductor memory that temporarily stores programs executed by the CPU 101 and data used for calculations by the CPU 101. The information processing apparatus 100 may have other types of volatile memory other than the RAM.

[0047] The HDD 103 is a non-volatile storage that stores software programs such as an operating system (OS), middleware, and application software, and data. The information processing apparatus 100 may have other types of non-volatile storage such as a flash memory or an SSD (Solid State Drive).

[0048] The GPU 104 performs image processing in cooperation with the CPU 101 and outputs an image to a display device 111 connected to the information processing apparatus 100. The display device 111 is, for example, a CRT (Cathode Ray Tube) display, a liquid crystal display, an organic EL (Electro Luminescence) display, or a projector. Other types of output devices such as a printer may be connected to the information processing apparatus 100.

[0049] Also, the GPU 104 may be used as a GPGPU (General Purpose Computing on Graphics Processing Unit). The GPU 104 can execute a program in response to an instruction from the CPU 101. The information processing apparatus 100 may have a volatile semiconductor memory other than the RAM 102 as a GPU memory.

[0050] The input interface 105 receives an input signal from an input device 112 connected to the information processing apparatus 100. The input device 112 is, for example, a mouse, a touch panel, or a keyboard. A plurality of input devices may be connected to the information processing apparatus 100.

[0051] The medium reader 106 is a reading device that reads a program and data recorded on a recording medium 113. The recording medium 113 is, for example, a magnetic disk, an optical disk, or a semiconductor memory. The magnetic disk includes a flexible disk (FD) and an HDD. The optical disk includes a CD (Compact Disc) and a DVD (Digital Versatile Disc). The medium reader 106 copies the program and data read from the recording medium 113 to other recording media such as the RAM 102 and the HDD 103. The read program may be executed by the CPU 101.

[0052] The recording medium 113 may be a portable recording medium. The recording medium 113 may be used for distributing programs and data. Also, the recording medium 113 and the HDD 103 may be referred to as computer-readable recording media.

[0053] The communication interface 107 communicates with other information processing apparatuses via the network 114. The communication interface 107 may be a wired communication interface connected to a wired communication apparatus such as a switch or a router, or may be a wireless communication interface connected to a wireless communication apparatus such as a base station or an access point.

[0054] Next, VQE will be described. FIG. 3 is a diagram showing an example of calculating the ground energy using a quantum circuit. VQE calculates the ground energy and the wave function according to the Schrödinger equation. The ground energy is the energy of the object to be analyzed in the stable state, and is the minimum value among various energies corresponding to various wave functions. When the object to be analyzed is a molecule, the wave function corresponds to the electron configuration of the electrons possessed by the molecule. The energy of the molecule is smaller when the electrons around the atomic nucleus are in the inner electron orbits.

[0055] VQE calculates the energy corresponding to a certain wave function using the quantum circuit 130. VQE repeatedly calculates the energy while changing the wave function to be tried using the optimization unit 133, and minimizes the energy calculated by the quantum circuit 130. The Schrödinger equation takes the form of HΨ(θ)=EΨ(θ). H represents the Hamiltonian, Ψ(θ) represents the wave function, E represents the energy, and θ represents the parameter.

[0056] The Hamiltonian H is an operator determined according to the structure of the object to be analyzed. The Hamiltonian H is decomposed into a linear sum of a plurality of element Hamiltonians (element Hamiltonians H1, H2, H3,...). Each element Hamiltonian can be represented by a matrix product of basic Pauli matrices such as the X matrix, the Y matrix, and the Z matrix. The quantum circuit 130 calculates a certain element Hamiltonian H at a timei The corresponding element energy E i (θ) is calculated. The linear sum of a plurality of element energies is the energy E(θ) corresponding to the wave function Ψ(θ).

[0057] The quantum circuit 130 defines quantum calculations for a plurality of qubits. The quantum circuit 130 includes an ansatz circuit 131 and a Hamiltonian circuit 132. At the beginning of the quantum circuit 130, a plurality of qubits are each initialized to |0> or the like. The initial value of the plurality of qubits represents the wave function Ψ0 of the initial state. The ansatz circuit 131 converts the initial quantum state into a quantum state representing the trial wave function Ψ(θ).

[0058] Some of the quantum gates included in the ansatz circuit 131 are parameterized quantum gates that perform quantum operations according to the value of the parameter θ. Therefore, the quantum circuit 130 is a parameterized quantum circuit that performs quantum calculations according to the value of the parameter θ. By inputting a value to the parameter θ, a quantum circuit corresponding to the wave function Ψ(θ) is generated from the quantum circuit 130.

[0059] The Hamiltonian circuit 132 performs a transformation corresponding to the action of the element Hamiltonian E i (θ) on a plurality of qubits. The Hamiltonian circuit 132 converts the quantum state representing the wave function Ψ(θ) into the quantum state representing H i Ψ(θ). The quantum circuit 130 may include a plurality of Hamiltonian circuits corresponding to a plurality of element Hamiltonians. Also, the Hamiltonian circuit 132 may be switched according to the element Hamiltonian H i used. At the end of the quantum circuit 130, the value of each of the plurality of qubits is measured. The element energy E i (θ) is calculated from the measurement values of the plurality of qubits.

[0060] The quantum circuit 130 is executed by a quantum computer or a quantum circuit simulator on a classical computer. In a quantum computer, the measured value of a qubit is a probabilistically obtained value. Therefore, the quantum computer repeatedly measures the element energy E i for the same value of the parameter θ and the element Hamiltonian H i (θ), and calculates the average value as the expected value of the element energy E i (θ). The quantum circuit simulator does not need to repeatedly measure the element energy E i (θ).

[0061] The optimization unit 133 executes an optimization algorithm that optimizes the value of the parameter θ using the quantum circuit 130. The optimization unit 133 is implemented on a classical computer. The optimization unit 133 inputs an initial value to the parameter θ of the ansatz circuit 131 and obtains a plurality of element energies corresponding to a plurality of element Hamiltonians. The optimization unit 133 calculates the linear sum of the obtained plurality of element energies as the energy E(θ).

[0062] The optimization unit 133 selects the value of the parameter θ to be tried next so that the energy E(θ) is smaller than the current value. For example, the sequential least squares quadratic programming (SLSQP) method is used to select the value of the parameter θ. For example, the optimization unit 133 adds a certain small amount δ to the current value of the parameter θ and substitutes the added value into the parameter θ of the ansatz circuit 131. The optimization unit 133 calculates the energy E(θ + δ) after adding δ based on the output of the quantum circuit 130.

[0063] The optimization unit 133 calculates the gradient of the energy E(θ) based on the difference between E(θ) and E(θ + δ). The gradient is, for example, (E(θ + δ) - E(θ)) / δ. The optimization unit 133 selects the value of the parameter θ to be tried next based on the calculated gradient. For example, the optimization unit 133 subtracts the value obtained by multiplying the gradient by a certain coefficient from the current value of the parameter θ. The optimization unit 133 substitutes the selected value into the parameter θ of the ansatz circuit 131.

[0064] The ansatz circuit 131 may have a plurality of parameters. For example, the ansatz circuit 131 may include a plurality of quantum gates that depend on different parameters. In that case, the optimization unit 133 calculates the gradient of each of the plurality of parameters by varying the values of the plurality of parameters independently by δ each. The optimization unit 133 selects a combination of the values of the plurality of parameters using the calculated gradients.

[0065] The optimization unit 133 repeats the above process until the stop condition is satisfied. The stop condition may be that the number of repetitions, which is the number of times the value of the parameter θ is selected, exceeds a threshold, or that the magnitude of the calculated gradient becomes less than a threshold. The optimization unit 133 outputs the minimum value of the energy E(θ) calculated so far as the ground energy, and outputs the value of the parameter θ corresponding to the ground energy as the optimal value of the parameter θ.

[0066] In the second embodiment, the information processing apparatus 100 executes software corresponding to the optimization unit 133. The information processing apparatus 100 calculates the element energy E i (θ) from the quantum circuit 130 by executing software for quantum circuit simulation.

[0067] FIG. 4 is a diagram showing an example of an ansatz circuit having parameters. This quantum circuit is included in, for example, the above-mentioned ansatz circuit 131. In FIG. 4, X represents a controlled NOT gate. U2 represents a unitary rotation gate that rotates by π / 2 around the Y axis. Ry(φ) represents a rotation gate that rotates by φ around the Y axis. Rz(φ) represents a rotation gate that rotates by φ around the Z axis.

[0068] This quantum circuit includes quantum gates 134 to 138. The quantum gates 134 to 138 are parameterized quantum gates. The quantum gates 134 and 135 depend on a parameter t[0] indicating the rotation angle. The quantum gates 136 and 137 depend on a parameter t[1] indicating the rotation angle. The quantum gate 138 depends on a parameter t[2] indicating the rotation angle. By changing the values of these three parameters, the quantum operations of the quantum gates 134 to 138 change, and the quantum state output by the ansatz circuit 131 changes. However, the quantum operations of other quantum gates are not affected by these three parameters.

[0069] Next, quantum circuit simulation will be described. In the second embodiment, the information processing apparatus 100 executes quantum circuit simulation by the tensor network method. Generally, a classical computer can represent the quantum state indicated by n qubits as a complex vector of 2 n dimensions, and can represent the quantum operation on the quantum state as a complex matrix of 2 n ×2 n dimensions. However, simulations using such huge vectors and matrices may have a large amount of data and a large amount of calculation, and may not be realistic.

[0070] Therefore, the tensor network method represents a quantum state and a quantum circuit by a tensor network. A tensor network represents a large tensor as a product of a plurality of small tensors. In the second embodiment, the information processing apparatus 100 uses a matrix product state (MPS), which is a type of tensor network.

[0071] FIG. 5 is a diagram showing a structural example of a matrix product state. The MPS includes a plurality of nodes corresponding to a plurality of qubits and connects these plurality of nodes in series. The example in FIG. 5 shows the MPS when the number of qubits n is 8. This MPS includes nodes 141 to 148. Nodes 141 to 148 correspond to different qubits respectively. Nodes 141 to 148 each have an open leg called a Physical Index. The Physical Index represents |0> or |1> as the value of a certain qubit and is a leg with a dimension of 2.

[0072] Also, nodes 141 to 148 each have a leg between adjacent nodes. A dimension number called the Bond Dimension is set for the legs between adjacent nodes. The Bond Dimension may be different for different legs. The upper node 141 and the lower node 148 each have two legs. The middle nodes 142 to 147 each have three legs. Nodes 141 to 148 each have a tensor of a rank corresponding to the number of legs. Therefore, the upper node 141 and the lower node 148 each have a second-rank tensor. The middle nodes 142 to 147 each have a third-rank tensor.

[0073] For example, node 142 has a third-rank tensor 149. The size of the first rank (number of rows or height) of tensor 149 is the Bond Dimension of the upper leg. The size of the second rank (number of columns or width) of tensor 149 is the Bond Dimension of the lower leg. The size of the third rank (depth) of tensor 149 is 2 corresponding to |0> and |1> of the Physical Index. However, node 141 may be interpreted as having a third-rank tensor with the size of the first rank being 1, and node 148 may be interpreted as having a third-rank tensor with the size of the second rank being 1.

[0074] The information processing apparatus 100 generates an MPS indicating an initialized quantum state and connects it to the head of the quantum circuit. Then, the information processing apparatus 100 sequentially performs "contraction" to synthesize the MPS and one quantum gate from the head to the tail of the quantum circuit. The quantum operation of each quantum gate is also represented by a tensor. A quantum gate with m inputs and m outputs acting on m qubits is interpreted as a node with a 2m-order tensor. Contraction is a calculation for obtaining the product of two tensors. The MPS after contracting the quantum gate represents the quantum state after the execution of that quantum gate.

[0075] FIG. 6 is a diagram showing a calculation example of a quantum circuit using a matrix product state. The information processing apparatus 100 connects an MPS 151 to the head of the quantum circuit 150. The MPS 151 corresponds to a vector indicating a quantum state in which each qubit is initialized to |0>. In the example of FIG. 6, the number of qubits n is 3. The information processing apparatus 100 synthesizes quantum gates one by one with the MPS 151 from the head to the tail of the quantum circuit 150.

[0076] Here, in order to improve the efficiency of MPS calculation, in the MPS 151, auxiliary nodes are inserted between the main nodes having physical indices. Since the auxiliary nodes have no physical indices and are connected to two main nodes, they have second-order tensors. Such an MPS shape is sometimes called the Canonical Form. For example, nodes 152 and 154 each have a physical index, and node 153 is connected to nodes 152 and 154. Node 152 has a third-order tensor, node 153 has a second-order tensor, and node 154 has a third-order tensor.

[0077] When the quantum gate to be reduced is a single-input quantum gate, the information processing apparatus 100 calculates the product of the tensor of the node of the MPS 151 connected to the quantum gate and the tensor of the quantum gate. In the reduction, the information processing apparatus 100 performs an element-wise product-sum operation between two tensors such that the ranks corresponding to the common legs are eliminated from the two tensors respectively. In the case of a single-input quantum gate, the reduced node has one physical index, and the calculated product is a third-order tensor. Therefore, the MPS shape is maintained.

[0078] On the other hand, when the quantum gate to be reduced is a multi-input quantum gate, for example, the information processing apparatus 100 synthesizes the tensors of a plurality of nodes connected to the quantum gate to match the size of the tensor to the quantum gate. Then, the information processing apparatus 100 calculates the product of the tensor on the MPS 151 side and the tensor of the quantum gate. In the case of a multi-input quantum gate, the reduced node has a plurality of physical indexes, and the calculated product is a tensor of the fourth order or higher. Therefore, the MPS shape collapses after the reduction.

[0079] Therefore, the information processing apparatus 100 returns the reduced tensor network to the MPS shape by singular value decomposition (SVD). One SVD decomposes a certain tensor into the product of three tensors. As a result, the reduced node is divided into the same number of nodes as before the reduction, and the MPS shape in which each node has at most one physical index is restored.

[0080] For example, node 155 is connected to nodes 152 and 154. Node 155 represents a two-input quantum gate. The information processing apparatus 100 reduces nodes 152 to 155 and converts them into node 156. Node 156 has four legs including two physical indexes and has a fourth-order tensor synthesized from the tensors of nodes 152 to 155.

[0081] The information processing apparatus 100 performs SVD on node 156 and converts node 156 into nodes 157 to 159. By SVD, the tensor of node 156 is decomposed into the product of three tensors. Nodes 157 to 159 correspond to these three tensors. Nodes 157 and 159 correspond to nodes 152 and 154 before reduction and each have three legs including one physical index. Nodes 157 and 159 each have a third-order tensor. Node 158 corresponds to node 153 before reduction and is connected to nodes 157 and 159. Node 158 has a second-order tensor.

[0082] FIG. 7 is a diagram showing a first example of reduction and singular value decomposition. Nodes 161 and 163 are main nodes. Node 162 is an auxiliary node connected to nodes 161 and 163. The dimensions of the three legs of node 161 are one dimension, one dimension, and two dimensions. Therefore, node 161 has a 1×1×2 tensor. The dimensions of the two legs of node 162 are one dimension and one dimension. Therefore, node 162 has a 1×1 tensor. The dimensions of the three legs of node 163 are one dimension, one dimension, and two dimensions. Therefore, node 163 has a 1×1×2 tensor.

[0083] A node 164 representing a two-input quantum gate is connected to nodes 161 and 163. The dimensions of the four legs of node 164 are two dimensions, two dimensions, two dimensions, and two dimensions. Therefore, node 164 has a 2×2×2×2 tensor. Note that FIG. 7 represents a first-order tensor and a second-order tensor by one matrix. Also, FIG. 7 represents a third-order tensor by arranging a plurality of matrices horizontally. Also, FIG. 7 represents a fourth-order tensor by stacking sets of horizontally arranged matrices vertically.

[0084] The information processing apparatus 100 reduces nodes 161 to 164 and converts them into node 165. Node 165 has a 2×2×2×2 tensor. The information processing apparatus 100 performs SVD on node 165 and divides node 165 into nodes 166 to 168.

[0085] Nodes 166 and 168 are the main nodes. Node 167 is an auxiliary node connected to nodes 166 and 168. The dimensionalities of the three legs of node 166 are 1 dimension, 2 dimensions, and 2 dimensions. Thus, node 166 has a 1×2×2 tensor. The dimensionalities of the two legs of node 167 are 2 dimensions and 2 dimensions. Thus, node 167 has a 2×2 tensor. The dimensionalities of the three legs of node 168 are 2 dimensions, 1 dimension, and 2 dimensions. Thus, node 168 has a 2×1×2 tensor. In this way, the leg bond dimension between nodes may change through contraction.

[0086] Figure 8 is a diagram showing a second example of contraction and singular value decomposition. Nodes 171 and 173 are the main nodes. Node 172 is an auxiliary node connected to nodes 171 and 173. The dimensionalities of the three legs of node 171 are 2 dimensions, 2 dimensions, and 2 dimensions. Thus, node 171 has a 2×2×2 tensor. The dimensionalities of the two legs of node 172 are 2 dimensions and 2 dimensions. Thus, node 172 has a 2×2 tensor. The dimensionalities of the three legs of node 173 are 2 dimensions, 1 dimension, and 2 dimensions. Thus, node 173 has a 2×1×2 tensor.

[0087] A node 174 representing a two-input quantum gate is connected to nodes 171 and 173. The dimensionalities of the four legs of node 174 are 2 dimensions, 2 dimensions, 2 dimensions, and 2 dimensions. Thus, node 174 has a 2×2×2×2 tensor. The information processing apparatus 100 contracts nodes 171 to 174 and converts them into node 175. Node 175 has a 2×2×2×2 tensor. The information processing apparatus 100 performs SVD on node 175 and divides node 175 into nodes 176 to 178.

[0088] Nodes 176 and 178 are the main nodes. Node 177 is an auxiliary node connected to nodes 176 and 178. The dimensionalities of the three legs of node 176 are 2D, 2D, and 2D. Therefore, node 176 has a 2×2×2 tensor. The dimensionalities of the two legs of node 177 are 2D and 2D. Therefore, node 177 has a 2×2 tensor. The dimensionalities of the three legs of node 178 are 2D, 1D, and 2D. Therefore, node 178 has a 2×1×2 tensor.

[0089] When all the quantum gates included in the quantum circuit are reduced, finally one MPS remains. This MPS indicates the quantum state at the end of the quantum circuit. The information processing device 100 acquires the measurement values of a plurality of qubits by reading tensors from the MPS. In such a calculation of a quantum circuit, usually, the information processing device 100 proceeds with the reduction of the quantum gates in the forward direction from the beginning to the end of the quantum circuit.

[0090] However, the calculation result of the quantum circuit does not depend on the order of the reduction of the quantum gates. Therefore, the information processing device 100 may reduce the quantum gates in the middle of the quantum circuit first, or may proceed with the reduction of the quantum gates in the reverse direction from the end to the beginning of the quantum circuit.

[0091] When reducing the quantum gates in an order other than the forward direction, the combined quantum gates may form a matrix product operator (MPO). Similar to the MPS, the MPO is a series connection of a plurality of nodes each having a tensor. However, while the MPS represents a quantum state, the MPO represents a quantum operation. The main nodes included in the MPO have physical indices not only on the end side of the quantum circuit but also on the beginning side of the quantum circuit. Therefore, the main nodes of the MPO have fourth-order tensors.

[0092] Here, as described above, the information processing apparatus 100 selects the value of a parameter and calculates the calculation result of a quantum circuit by quantum circuit simulation. The information processing apparatus 100 also calculates the calculation result of a quantum circuit in which the value of the parameter is varied by a small amount δ from the current value in order to select the value of the parameter to be tried next. When there are a plurality of parameters, the information processing apparatus 100 varies the value by δ for each parameter. Therefore, every time the information processing apparatus 100 selects the value of a parameter once, it calculates the calculation results of the parameter number + 1 quantum circuits.

[0093] Reducing the whole quantum circuit by a classical computer involves a large amount of calculation and a high load. In contrast, in the quantum circuit after δ addition, the quantum gates that change from the reference quantum circuit are few, and many quantum gates are the same as the reference quantum circuit. Therefore, the information processing apparatus 100 of the second embodiment reduces the calculation amount of quantum circuit simulation by reusing the intermediate reduction result for the reference quantum circuit.

[0094] FIG. 9 is a diagram showing an example of storing a reusable matrix product state. The information processing apparatus 100 substitutes the selected value into the parameter and generates a reference quantum circuit before δ addition. The information processing apparatus 100 connects an MPS to the head of the reference quantum circuit and proceeds with the reduction of the quantum gates in the forward direction. At this time, every time a parameterized quantum gate is detected, the information processing apparatus 100 stores the immediately preceding MPS.

[0095] For example, the quantum circuit includes quantum gates 181 to 183 which are parameterized quantum gates. First, the information processing apparatus 100 proceeds with the reduction until immediately before the quantum gate 181. The information processing apparatus 100 stores the MPS #1 at that time as the reduction result of the section 191 from the head to immediately before the quantum gate 181.

[0096] Subsequently, the information processing apparatus 100 proceeds with the contraction up to immediately before the quantum gate 182. The information processing apparatus 100 stores the MPS#2 at that time as the contraction result of the section 192 from the head up to immediately before the quantum gate 182. Subsequently, the information processing apparatus 100 proceeds with the contraction up to immediately before the quantum gate 183. The information processing apparatus 100 stores the MPS#3 at that time as the contraction result of the section 193 from the head up to immediately before the quantum gate 183.

[0097] Finally, the information processing apparatus 100 proceeds with the contraction up to the end of the quantum circuit. As a result, the information processing apparatus 100 obtains the MPS#4 indicating the calculation result of the section 194 from the head to the end. In this way, the information processing apparatus 100 stores one or more head-side contraction results that may be reusable during one forward calculation for the reference quantum circuit.

[0098] FIG. 10 is a diagram showing an example of storing reusable matrix product operators. To increase the reusable contraction results, the information processing apparatus 100 performs a backward calculation in addition to the forward calculation for the reference quantum circuit. First, the information processing apparatus 100 generates an MPO in which each of the main nodes represents the identity gate I, and connects it to the end of the quantum circuit. The identity gate I is a quantum gate that does not change the state of the quantum bit. The information processing apparatus 100 proceeds with the contraction of the quantum gates in the reverse direction, and saves the MPO at that time (the position immediately after the parameterized quantum gate) every time a parameterized quantum gate is detected.

[0099] For example, the information processing apparatus 100 proceeds with the contraction up to the position immediately after the quantum gate 183. The information processing apparatus 100 stores the MPO #1 at that time as the contraction result of the section 195 from the end to the position immediately after the quantum gate 183. Subsequently, the information processing apparatus 100 proceeds with the contraction up to the position immediately after the quantum gate 182. The information processing apparatus 100 stores the MPO #2 at that time as the contraction result of the section 196 from the end to the position immediately after the quantum gate 182. Subsequently, the information processing apparatus 100 proceeds with the contraction up to the position immediately after the quantum gate 181. The information processing apparatus 100 stores the MPO #3 at that time as the contraction result of the section 197 from the end to the position immediately after the quantum gate 181.

[0100] In this way, while performing the reverse calculation on the reference quantum circuit once, the information processing apparatus 100 stores one or more reduction results on the trailing side that may be reusable. Therefore, the information processing apparatus 100 performs two quantum circuit calculations in the forward and reverse directions on the reference quantum circuit. Note that the information processing apparatus 100 may calculate the MPS #4 of the section 194 by connecting the MPS to the head of the quantum circuit during the reverse calculation. Also, the information processing apparatus 100 may calculate the MPS #4 during the reverse calculation instead of calculating the MPS #4 during the forward calculation.

[0101] FIG. 11 is a diagram showing an example of reuse of the matrix product state and the matrix product operator. The information processing apparatus 100 generates three deformed quantum circuits by adding δ to the value of one of the three parameters that define the quantum gates 181 to 183. The first quantum circuit is obtained by replacing the quantum gate 181 with the quantum gate 184. The second quantum circuit is obtained by replacing the quantum gate 182 with the quantum gate 185. The third quantum circuit is obtained by replacing the quantum gate 183 with the quantum gate 186.

[0102] For the first quantum circuit, the information processing apparatus 100 reads out an MPS from the set of stored MPSs, which is in the section before the quantum gate 184 and has the longest possible reuse section. Here, the information processing apparatus 100 reads out the MPS #1 in section 191. Also, the information processing apparatus 100 reads out an MPO from the stored MPOs, which is in the section after the quantum gate 184 and has the longest possible reuse section. Here, the information processing apparatus 100 reads out the MPO #3 in section 197.

[0103] The information processing apparatus 100 reuses the MPS #1 and the MPO #3 to calculate the calculation result of the first quantum circuit. For example, the information processing apparatus 100 contracts the MPS #1 with the tensor representing the quantum gate 184, and further contracts the contracted MPS with the MPO #3. Thereby, an MPS indicating the final quantum state is calculated. However, the information processing apparatus 100 may perform the contraction in the reverse direction instead of the forward contraction.

[0104] Similarly, for the second quantum circuit, the information processing apparatus 100 reads out an MPS from the set of stored MPSs, which is in the section before the quantum gate 185 and has the longest possible reuse section. Here, the information processing apparatus 100 reads out the MPS #2 in section 192. Also, the information processing apparatus 100 reads out an MPO from the stored MPOs, which is in the section after the quantum gate 185 and has the longest possible reuse section. Here, the information processing apparatus 100 reads out the MPO #2 in section 196.

[0105] The information processing apparatus 100 reuses the MPS #2 and the MPO #2 to calculate the calculation result of the second quantum circuit. For example, the information processing apparatus 100 contracts the MPS #2 with the tensor representing the quantum gate 185, and further contracts the contracted MPS with the MPO #2.

[0106] For the third quantum circuit, the information processing apparatus 100 reads out, from the set of stored MPSs, an MPS in the section before the quantum gate 186 and having the longest possible reuse section. Here, the information processing apparatus 100 reads out the MPS #3 in section 193. Also, the information processing apparatus 100 reads out, from the stored MPOs, an MPO in the section after the quantum gate 186 and having the longest possible reuse section. Here, the information processing apparatus 100 reads out the MPO #1 in section 195.

[0107] The information processing apparatus 100 calculates the calculation result of the third quantum circuit by reusing the MPS #3 and the MPO #1. For example, the information processing apparatus 100 contracts the MPS #3 with the tensor representing the quantum gate 186, and further contracts the contracted MPS with the MPO #1.

[0108] Note that in the second embodiment, the information processing apparatus 100 reuses both the forward contraction result and the reverse contraction result, but it may reuse only one of the contraction results. Also, in the second embodiment, the information processing apparatus 100 performs quantum circuit simulation using an MPS which is a type of tensor network, but the above method of reusing the contraction result is also applicable to other methods of quantum circuit simulation.

[0109] For example, the information processing apparatus 100 may perform quantum circuit simulation by the state vector method. In that case, the information processing apparatus 100 may save the state vector immediately before the parameterized quantum gate in the forward calculation for the reference quantum circuit. Also, the information processing apparatus 100 may save the matrix at the position immediately after the parameterized quantum gate in the reverse calculation for the reference quantum circuit. The information processing apparatus 100 may reuse at least one of the saved state vector and the saved matrix for the quantum circuit after δ addition, and omit the matrix calculation of the common part.

[0110] Further, for example, the information processing apparatus 100 may perform quantum circuit simulation by a general tensor network method other than MPS. In a general tensor network method, the reduction result of quantum gates does not have to be in the form of MPS or MPO, and the rank of the tensor may change before and after reduction.

[0111] In that case, the information processing apparatus 100 may save the tensor network immediately before the parameterized quantum gate in the forward calculation for the reference quantum circuit. Also, the information processing apparatus 100 may save the tensor network at the position immediately after the parameterized quantum gate in the reverse calculation for the reference quantum circuit. The information processing apparatus 100 may reuse at least one of the saved forward tensor network and the reverse tensor network for the quantum circuit after δ addition, and omit the reduction of the common part.

[0112] Also, although the information processing apparatus 100 reuses the MPS of the section including the head of the quantum circuit and the MPO of the section including the tail of the quantum circuit, it may reuse the MPO of the intermediate section that does not include either the head or the tail. Also, in the second embodiment, the information processing apparatus 100 reuses the reduction result generated from the reference quantum circuit for the quantum circuit for gradient calculation. In contrast, the information processing apparatus 100 may reuse the reduction result of the section that does not include the parameterized quantum gate for the reference quantum circuit in subsequent times when the parameter value is changed.

[0113] Next, the functions and processing procedures of the information processing apparatus 100 will be described. FIG. 12 is a diagram showing a functional example of the information processing apparatus according to the second embodiment. The information processing apparatus 100 includes a quantum circuit memory unit 121, an energy memory unit 122, an intermediate tensor memory unit 123, a parameter search unit 124, and a quantum circuit solver 125. The quantum circuit memory unit 121, the energy memory unit 122, and the intermediate tensor memory unit 123 are implemented using, for example, the RAM 102 or the HDD 103. The parameter search unit 124 and the quantum circuit solver 125 are implemented using, for example, the CPU 101 and a program.

[0114] The quantum circuit memory unit 121 stores a parameterized quantum circuit. The parameterized quantum circuit is created according to the structure of an object to be analyzed, such as a molecular structure. The parameterized quantum circuit may be created by a user or generated by software from structure information. The information processing apparatus 100 may receive an input of the parameterized quantum circuit from the user or receive the parameterized quantum circuit from another information processing apparatus.

[0115] The energy memory unit 122 stores, in association with each other, the values of the parameters tried and the calculated energy. The intermediate tensor memory unit 123 stores reduction results reusable in quantum circuit simulation. The reduction results include MPS and MPO.

[0116] The parameter search unit 124 searches for values of parameters such that the ground energy is calculated based on the parameterized quantum circuit stored in the quantum circuit memory unit 121. The parameter search unit 124 inputs values to the parameters to generate a quantum circuit, and causes the quantum circuit solver 125 to calculate the calculation result of the quantum circuit. The parameter search unit 124 stores the values of the parameters tried and the calculated energy in the energy memory unit 122. Further, the parameter search unit 124 calculates the gradient of the energy with respect to the values of the parameters, and selects the values of the parameters to be tried next based on the gradient. The parameter search unit 124 repeats the selection of the values of the parameters and the calculation of the energy until the stop condition is satisfied.

[0117] The quantum circuit solver 125 receives a quantum circuit from the parameter search unit 124 and calculates the calculation result of the quantum circuit by quantum circuit simulation. Among the quantum gates included in the quantum circuit, the quantum gate with the value of the parameter input is specified by the parameter search unit 124. During the process of calculating the calculation result of the received quantum circuit, the quantum circuit solver 125 stores the reusable reduction result in the intermediate tensor storage unit 123. Then, the quantum circuit solver 125 calculates the calculation result of the quantum circuit after δ addition. At this time, the quantum circuit solver 125 reuses the reduction result stored in the intermediate tensor storage unit 123.

[0118] FIG. 13 is a diagram showing an example of an energy search table. The energy storage unit 122 stores the energy search table 126. The energy search table 126 stores a plurality of records associating the values of the parameters with the energy. One record includes a set of values input to a plurality of parameters such as parameters t[0], t[1], t[2]. The energy is the total energy of the object to be analyzed and is the linear sum of a plurality of element energies respectively calculated by the quantum circuit.

[0119] FIG. 14 is a flowchart showing an example of the procedure of quantum circuit simulation. (S10) The parameter search unit 124 inputs an initial value to each parameter of the parameterized quantum circuit to generate an executable quantum circuit. The initial value may be a fixed value such as 0 or 1, or a randomly selected value.

[0120] (S11) The quantum circuit solver 125 connects the MPS indicating the initial quantum state to the head of the quantum circuit and advances the degeneracy of the quantum gates in the forward direction. At this time, the quantum circuit solver 125 stores the MPS immediately before the parameterized quantum gate. The quantum circuit solver 125 performs degeneracy until the end of the quantum circuit and outputs the calculation result of the quantum circuit.

[0121] (S12) The quantum circuit solver 125 connects an MPO representing an identity gate to the end of the quantum circuit and proceeds with the contraction of the quantum gates in the reverse direction. At this time, the quantum circuit solver 125 saves the MPO at the position immediately after the parameterized quantum gate.

[0122] (S13) The parameter search unit 124 calculates the energy corresponding to the current value of the parameter. For example, the parameter search unit 124 synthesizes a plurality of calculation results corresponding to a plurality of element Hamiltonians to calculate the total energy. The parameter search unit 124 saves the current value of the parameter and the calculated energy in the energy search table 126.

[0123] (S14) The parameter search unit 124 selects one parameter. The parameter search unit 124 adds a small amount δ to the current value of the selected parameter. δ is, for example, a predetermined positive value. δ may vary depending on the parameter. As a result, a quantum circuit different from steps S11 and S12 is generated. Note that the values of the other parameters other than the selected parameter are the current values before the addition of δ.

[0124] (S15) The quantum circuit solver 125 reads out the MPS and MPO reusable in the quantum circuit of step S14 from the saved MPS and MPO. The quantum circuit solver 125 performs the remaining contraction using the read MPS and MPO and calculates the calculation result of the quantum circuit.

[0125] (S16) The parameter search unit 124 calculates the energy corresponding to the value of the parameter after the addition of δ from the calculation result of step S15. The parameter search unit 124 compares the calculated energy with the energy of step S13 for the parameter selected in step S14 and calculates the gradient of the energy with respect to the value of the parameter.

[0126] (S17) The parameter search unit 124 determines whether all parameters have been selected in step S14. If all parameters have been selected, the process proceeds to step S18. If there are unselected parameters, the process returns to the process of step S14.

[0127] (S18) The parameter search unit 124 compares the gradient in step S16 with the threshold for each parameter. The parameter search unit 124 determines whether the gradients of all parameters are less than the threshold. If the gradients of all parameters are less than the threshold, the process proceeds to step S20. If there is a parameter whose gradient is greater than or equal to the threshold, the process proceeds to step S19.

[0128] (S19) The parameter search unit 124 updates the current value of each parameter using the gradient. For example, the parameter search unit 124 subtracts the value obtained by multiplying the gradient by a coefficient from the current value of the parameter. Then, the process returns to step S11.

[0129] (S20) The parameter search unit 124 outputs information indicating the value of the parameter and the energy. The parameter search unit 124 may output only the optimal value of the parameter and the minimum energy, or may output the values of the parameter and the energy for a plurality of trials. The parameter search unit 124 may store the above information in a non-volatile storage, may display it on the display device 111, or may transmit it to another information processing device.

[0130] As described above, the information processing device 100 of the second embodiment can execute VQE. Thereby, the information processing device 100 can accurately calculate the ground energy and electron configuration of a molecule, and useful information about the molecule can be obtained. Further, the information processing device 100 calculates the calculation result of the quantum circuit by quantum circuit simulation. Thereby, even when a practical quantum computer is not available, the information processing device 100 can execute VQE. In addition, the user can develop in advance a quantum algorithm and application software suitable for a quantum computer.

[0131] In addition, the information processing apparatus 100 executes quantum circuit simulation of the tensor network method using MPS. Thereby, the information processing apparatus 100 can reduce the calculation resources and calculation time to be used, and can execute quantum circuit simulation efficiently.

[0132] In addition, when calculating the calculation result of the reference quantum circuit, the information processing apparatus 100 stores the MPS of the section from the beginning to immediately before the parameterized quantum gate. Further, the information processing apparatus 100 also performs reverse calculation on the reference quantum circuit, and stores the MPO of the section from the end to the position immediately after the parameterized quantum gate. Then, the information processing apparatus 100 re-uses the stored MPS and MPO to calculate the calculation result of the quantum circuit for gradient calculation with a slightly modified value of one parameter. Thereby, the information processing apparatus 100 can omit the contraction of many sections in the quantum circuit for gradient calculation. Therefore, the calculation amount of the quantum circuit simulation is reduced, and the calculation time is reduced.

Explanation of Signs

[0133] 10 Information processing apparatus 11 Storage unit 12 Processing unit 13 Quantum circuit data 14, 15 Quantum circuits 16 Common area 17 Tensor data 18, 19 Calculation results

Claims

1. Obtain quantum circuit data defining a quantum circuit that changes according to the value of a parameter, For a common region where the types and orders of quantum gates of a first quantum circuit when a first value is input to the parameter and a second quantum circuit when a second value is input to the parameter are common, generate second tensor data indicating a calculation result of the common region using first tensor data indicating a quantum operation performed by a quantum gate included in the common region, Calculate a calculation result of the first quantum circuit and a calculation result of the second quantum circuit using the second tensor data, A quantum circuit simulation program for causing a computer to execute the process.

2. The second tensor data is generated during a calculation process of converting tensor data in a forward direction from the head of the first quantum circuit toward the tail of the first quantum circuit or in a reverse direction from the tail toward the head, The calculation result of the first quantum circuit is calculated by completing the calculation process, The quantum circuit simulation program according to Claim 1.

3. The quantum circuit data includes variable quantum gates that perform different quantum operations according to the value of the parameter, The common region is a section before the variable quantum gate in the first quantum circuit or a section after the variable quantum gate in the first quantum circuit, The quantum circuit simulation program according to Claim 1.

4. The common region includes a first common region including the head of the first quantum circuit and a second common region including the tail of the first quantum circuit, The second tensor data includes third tensor data indicating a calculation result of the first common region and fourth tensor data indicating a calculation result of the second common region, The calculation result of the second quantum circuit is calculated using the third tensor data and the fourth tensor data, The quantum circuit simulation program according to Claim 1.

5. The second tensor data indicates a tensor network in which a plurality of tensors corresponding to a plurality of quantum bits are connected in series, The quantum circuit simulation program according to Claim 1.

6. The calculation result of the first quantum circuit indicates a first energy corresponding to the first value, and the calculation result of the second quantum circuit indicates a second energy corresponding to the second value, Further cause the computer to execute a process of searching for a value of the parameter that reduces the energy calculated based on the first energy and the second energy. The quantum circuit simulation program according to claim 1. **Claim 7** Obtain quantum circuit data defining a quantum circuit that changes according to the value of a parameter. For a common region where the types and orders of quantum gates of a first quantum circuit when a first value is input to the parameter and a second quantum circuit when a second value is input to the parameter are common, generate second tensor data indicating a calculation result of the common region using first tensor data indicating a quantum operation performed by the quantum gates included in the common region. Calculate the calculation result of the first quantum circuit and the calculation result of the second quantum circuit using the second tensor data. A quantum circuit simulation method in which a computer executes a process. **Claim 8** A storage unit that stores quantum circuit data defining a quantum circuit that changes according to the value of a parameter. For a common region where the types and orders of quantum gates of a first quantum circuit when a first value is input to the parameter and a second quantum circuit when a second value is input to the parameter are common, generate second tensor data indicating a calculation result of the common region using first tensor data indicating a quantum operation performed by the quantum gates included in the common region, and a processing unit that calculates the calculation result of the first quantum circuit and the calculation result of the second quantum circuit using the second tensor data. An information processing apparatus having the above.

Citation Information

Patent Citations

  • Quantum circuit simulation method, device, facility, storage medium, and program

    JP2022003501A