WO2021125189A1 - プログラム、計算機システム、及び計算機 - Google Patents

プログラム、計算機システム、及び計算機 Download PDF

Info

Publication number
WO2021125189A1
WO2021125189A1 PCT/JP2020/046819 JP2020046819W WO2021125189A1 WO 2021125189 A1 WO2021125189 A1 WO 2021125189A1 JP 2020046819 W JP2020046819 W JP 2020046819W WO 2021125189 A1 WO2021125189 A1 WO 2021125189A1
Authority
WO
WIPO (PCT)
Prior art keywords
computer
quantum
algorithm
classical
calculation
Prior art date
Application number
PCT/JP2020/046819
Other languages
English (en)
French (fr)
Inventor
純太 渕脇
裕也 大西
嘉夫 滝本
Original Assignee
Jsr株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Jsr株式会社 filed Critical Jsr株式会社
Priority to CN202080088103.1A priority Critical patent/CN114846479A/zh
Priority to JP2021565598A priority patent/JPWO2021125189A1/ja
Publication of WO2021125189A1 publication Critical patent/WO2021125189A1/ja
Priority to US17/807,079 priority patent/US20220310212A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • G06N10/60Quantum algorithms, e.g. based on quantum optimisation, quantum Fourier or Hadamard transforms
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16CCOMPUTATIONAL CHEMISTRY; CHEMOINFORMATICS; COMPUTATIONAL MATERIALS SCIENCE
    • G16C10/00Computational theoretical chemistry, i.e. ICT specially adapted for theoretical aspects of quantum chemistry, molecular mechanics, molecular dynamics or the like

Definitions

  • the present invention relates to a program, a computer system and a computer.
  • quantum computer As a computer that performs calculations under a calculation paradigm different from that of classical computers.
  • a quantum computer applies a unitary matrix to an initially generated quantum state such as a quantum entangled state under a predetermined quantum algorithm such as a shore prime factorization algorithm or a Glover search algorithm to generate a quantum. It is a computer that generates calculation results based on the state.
  • the simulation and execution environment of quantum calculation is provided in the form of cloud services such as Azure (registered trademark) Quantum, AWS (registered trademark) Breaket, and IBM Q-Experience (registered trademark).
  • cloud services such as Azure (registered trademark) Quantum, AWS (registered trademark) Breaket, and IBM Q-Experience (registered trademark).
  • Azure registered trademark
  • AWS registered trademark
  • IBM Q-Experience registered trademark
  • the quantum computer has a slower increase rate of calculation with respect to the number of atoms N than the classical computer, but has a large qubit. Since it is difficult to create a quantum computer for numbers, it is limited by the number of qubits. Therefore, depending on the magnitude of the given processing, it may be desirable to use either a classical computer or a quantum computer for the calculation.
  • VQE Very Quantum Eigensolver
  • An object of the present invention is to optimize processing when a classical computer and a quantum computer or a plurality of quantum computers coexist.
  • the program according to the present invention is given when the given processing is performed by a quantum algorithm or a combination algorithm of a classical algorithm and a quantum algorithm.
  • a program that causes a classical computer to execute a process of selecting a computer to execute a process and causes the classical computer to execute a calculation step, a selection step, and a control step.
  • the calculation step is the required qubit or required quantum in the part of the quantum algorithm that is necessary to perform the given process using the quantum algorithm, or when the given process is performed using the combined algorithm. Calculate the size of the volume.
  • the selection step selects a computer that executes a given process based on the qubit or required quantum volume calculated by the calculation step.
  • the control step generates a control signal regarding an instruction for the quantum computer to start the quantum algorithm, which is transmitted to the quantum computer when the computer selected by the selection step includes the quantum computer.
  • the computer that executes the given process is included in a plurality of computers. It consists of a classical computer that executes the process of selecting from, and a plurality of computers.
  • the plurality of computers include at least one quantum computer.
  • a classical computer includes a calculation unit, a distribution unit, and a transmission unit. The calculator is required to perform the given process using the quantum algorithm, or the required qubit or required quantum volume in the part of the quantum algorithm when the given process is executed using the combined algorithm. Calculate the size of.
  • the distribution unit selects a computer that executes a given process based on the qubit or the required quantum volume calculated by the calculation unit.
  • the transmission unit and the computer selected by the distribution unit include the quantum computer, the quantum computer transmits an instruction to start the quantum algorithm to the quantum computer.
  • the computer selects from a plurality of computers to execute the given processing when the given processing is performed by the quantum algorithm or the combined algorithm of the classical algorithm and the quantum algorithm. It is a classical computer that executes the processing.
  • the calculator is required to perform the given process using the quantum algorithm, or the required qubit or required quantum volume in the part of the quantum algorithm when the given process is executed using the combined algorithm. Calculate the size of.
  • the distribution unit selects a computer that executes a given process based on the qubit or the required quantum volume calculated by the calculation unit.
  • the transmission unit transmits an instruction to the quantum computer to start the quantum algorithm when the computer selected by the distribution unit includes the quantum computer.
  • processing can be optimized when a classical computer and a quantum computer are used, or when a plurality of quantum computers are mixed.
  • FIG. 1 is a diagram showing an outline of a computer system according to an embodiment of the present invention.
  • FIG. 2A is a diagram illustrating a background according to the embodiment.
  • FIG. 2B is a diagram illustrating a background according to the embodiment.
  • FIG. 3 is a flowchart showing a flow of processing executed by the program according to the first embodiment.
  • FIG. 4 is a flowchart showing a flow of processing executed by the program according to the first modification of the first embodiment.
  • FIG. 5 is a flowchart showing a flow of processing executed by the program according to the second embodiment.
  • FIG. 6 is a flowchart illustrating the process of step S200 in FIG. 5 in detail.
  • FIG. 1 is a diagram showing an outline of a computer system 1 according to an embodiment of the present invention.
  • the computer system 1 uses a conventional classical computer 100 for controlling other computers, classical computers 200a, 200b, 200c ... For performing calculations by a conventional method without using quantum calculation, and quantum calculation. Includes quantum computers 300a, 300b, 300c ... For performing calculations.
  • the classical calculators 100 and 200a, 200b, 200c are computers in the usual sense that can be expressed as, for example, a Turing machine, for example, a von Neumann type computer.
  • the computer system 1 may have two or more computers. It may be any case of having both a classical computer and a quantum computer.
  • the classical computer 100 is a computer for controlling other computers (classical computers 200a, 200b, 200c ..., Quantum computers 300a, 300b, 300c), and includes a processing circuit 10, a storage unit 20, a display 30, and the like. It includes an input device 40.
  • the processing circuit 10 includes a calculation function 10a, a selection function 10b, a control function 10c, a division determination function 10d, a division function 10e, a display control function 10f, and a generation function 10g.
  • the processing circuit 10 reads a program from the storage unit 20 and executes it to realize functions such as a calculation function 10a and a selection function 10b (for example, a CPU (Central Processing Unit), a GPU (Graphical Processing Unit), and an ASIC. (Application Special Integrated Circuit), PLD (Programmable Logical Device), etc.). That is, the processing functions by the calculation function 10a, the selection function 10b, the control function 10c, the division determination function 10d, the division function 10e, the display control function 10f, the generation function 10g, and the like are stored in the storage unit 20 in the form of a program that can be executed by the processor. Is remembered in.
  • the processing circuit 10 in the state where the program is read has functions such as a calculation function 10a, a selection function 10b, a control function 10c, a division determination function 10d, a division function 10e, a display control function 10f, and a generation function 10g.
  • the calculation function 10a displays the calculation step
  • the selection function 10b displays the selection step
  • the control function 10c displays the control step
  • the division determination function 10d displays the division determination step
  • the division function 10e displays the division step
  • the display control function 10f displays the division step.
  • the generation step is executed by the classical computer 100 by the generation function 10g.
  • the calculation function 10a, the selection function 10b, the control function 10c, the division determination function 10d, the division function 10e, the display control function 10f, and the generation function 10g are the calculation unit, the distribution unit (selection unit), the control unit, and the division determination unit, respectively.
  • the control function 10c is also an example of a transmission unit having a function of transmitting various information.
  • the storage unit 20 is a storage area for a RAM (Random Access Memory), a ROM (Read Only Memory), a flash memory, a hard disk, etc., and stores various programs executed by the processing circuit 10 and execution results of the various programs.
  • RAM Random Access Memory
  • ROM Read Only Memory
  • flash memory a hard disk, etc.
  • the display 30 displays various information.
  • the display 30 displays a processing result of the CPU, a GUI (Graphical User Interface) for receiving various operations from the user, and the like.
  • the display 30 is composed of, for example, a liquid crystal display, an organic EL (Electro Luminescence) display, or a cathode ray tube display.
  • the input device 40 and the display 30 may be integrally configured, for example, in the form of a touch panel.
  • the input device 40 is a device for the user to perform various operations.
  • the input device 40 is composed of, for example, a mouse, a keyboard, a touch panel, or hardware keys.
  • the embodiment is not limited to the above example.
  • the storage unit 20, the display 30, the input device 40, etc. are not essential components of the classical computer 100, that is, the classical computer 100 does not include the storage unit 20, the display 30, the input device 40, etc. Good.
  • the storage unit 20, the display 30, the input device 40, and the like may be arranged outside the classical computer 100 via a network, for example, and data may be exchanged with the processing circuit 10.
  • the classical computer 100 may be composed of two or more classical computers.
  • the classical computer is connected to a first classical computer having a calculation function 10a through a network, and has a distribution function (selection function 10b) and a control function 10c as a transmission unit. It may be equipped with a computer.
  • the classical computer 100 is a computer that performs calculations for controlling other computers
  • the classical computer 200a, the classical computer 200b, the classical computer 200c, and the like perform a given process itself such as a quantum chemical calculation. It is a calculator to execute.
  • the classical computer 200a includes a processing circuit 10x similar to the processing circuit 10 and a storage unit 20x similar to the storage unit 20 as in the classical computer 100. It is not necessary for the processing circuit 10x to have all the functions of the processing circuit 10.
  • the classical computers 200b, 200c ... also include a processing circuit similar to the processing circuit 10 and a storage unit similar to the storage unit 20.
  • Quantum computers 300a, 300b, and 300c are quantum computers that perform calculations using quantum states.
  • the quantum computer 300a includes a quantum information generation unit 50 that generates an initial quantum state, a plurality of quantum gates 60, a quantum gate control unit 70, and a measurement unit 80.
  • the processing circuit 10 transmits a control signal for generating a quantum state in an initial state to the quantum computer 300a by a control function 10c as a transmission unit.
  • the quantum computer 300a which has acquired a control signal for generating a quantum state in the initial state from the classical computer 100, generates an initial quantum state such as a quantum entanglement state by the quantum information generation unit 50.
  • the quantum gate 60 acts on the generated quantum state to change the quantum state.
  • the action of the quantum gate 60 on the quantum state can be expressed in the form of a unitary matrix.
  • the quantum gate control unit 70 changes the operation of the quantum gate 60, that is, the unitary matrix.
  • the measuring unit 80 measures the quantum state that has passed through the quantum gate 60. As a result, the quantum computer 300a can obtain the measurement result measured by the measuring unit 80 as output data.
  • the computer system 1 may include a user terminal 400 that accepts input of information from the user or displays the information to the user.
  • the user terminal 400 may be provided with the display 30z and the input device 40z on the user terminal side in the same manner as the display 30 and the input device 40.
  • quantum computer As a computer that performs calculations under a calculation paradigm different from that of classical computers.
  • the quantum computer is generated by applying a unitary matrix to a quantum state such as an initially generated quantum entangled state under a predetermined quantum algorithm such as a shore prime factorization algorithm or a Glover search algorithm. It is a computer that measures the quantum state and generates the calculation result.
  • the simulation and execution environment of quantum calculation is provided in the form of cloud services such as Azure (registered trademark) Quantum, AWS (registered trademark) Breaket, and IBM Q-Experience (registered trademark).
  • cloud services such as Azure (registered trademark) Quantum, AWS (registered trademark) Breaket, and IBM Q-Experience (registered trademark).
  • Azure registered trademark
  • AWS registered trademark
  • IBM Q-Experience registered trademark
  • the calculation time increases sharply as the number of atoms N increases. To do. For example, the calculation time increases in proportion to N 6 with respect to the number of atoms N.
  • the calculation time does not increase so much with respect to the number of atoms N. For example, the calculation time can be suppressed to a time proportional to N with respect to the number of atoms N.
  • VQE Very Quantum Eigensolver
  • VQE is based on the variational method by generating a predetermined trial wave function with a quantum computer, measuring the expected value of Hamiltonian, and processing it with a classical computer based on the measurement result. So, it is an algorithm that incorporates a quantum computer into a classical computer.
  • the given process is divided into a process in charge of the classical computer and a process in charge of the quantum computer, and each process is divided into each process. It is conceivable that parallel calculation is performed by executing the computer of. In addition, when a given process is shared by multiple quantum computers with different qubit numbers, the given process is divided into the processes that each quantum computer is in charge of, and each process is executed by each computer. It is conceivable that parallel calculation is performed by.
  • the embodiment is based on such a background, and is intended to optimize the processing when processing is performed by a plurality of computers including at least one quantum computer.
  • FIG. 3 is a flowchart showing the flow of processing executed by the program according to the first embodiment.
  • the case where the molecular orbital calculation of the compound is performed will be described as an example of the given calculation process.
  • step S100 the processing circuit 10 acquires information such as the structure of the compound from the storage unit, and prepares to perform a given process, for example, a process of performing a quantum chemical calculation on the given chemical structure. That is, the processing circuit 10 uses the chemical structure read out from the storage unit 20 that stores the list of chemical structures as the given chemical structure, and prepares to perform the process of performing the quantum chemical calculation.
  • step S110 the processing circuit 10 calculates the required quantum bit (qubit) or the size of the required quantum volume by the calculation function 10a. That is, the program according to the embodiment is necessary or given in step S110 to execute a given process, for example, a process of performing a quantum chemical calculation on a given chemical structure, using a quantum algorithm.
  • the classical computer 100 is made to execute a calculation step for calculating the size of the required qubit or the required quantum volume in the part of the quantum algorithm when the above processing is executed by using the combined algorithm.
  • the required quantum volume represents the magnitude of the required quantum volume, that is, the scale of quantum computing that can be performed, that is, the spatial size and time.
  • the quantum volume is an index calculated by adding the magnitude of the error that occurs to a simple number of qubits.
  • the processing circuit 10 uses the calculation function 10a to provide the required qubit or required quantum volume with some margin.
  • the value of may be calculated, and it is desirable to calculate it.
  • the margin can be arbitrarily set according to the type of calculation, the required calculation speed, the capacity of the computer, the congestion status of the queue, and the like.
  • the processing circuit 10 uses the calculation function 10a to calculate the number of atoms and the required qubit or required for calculating the molecular orbital of the number of atoms.
  • the size of the required qubit or required quantum volume is calculated based on the table showing the relationship with the quantum volume and the number of atoms.
  • the table is obtained by extrapolating, for example, the relational expression between the number of atoms when the number of atoms is small enough to accurately estimate the amount of calculation and the required quantum bit or required volume when the number of atoms is large. Created.
  • step S120 when the given processing is performed by the quantum algorithm, by the combined algorithm of the classical algorithm and the quantum algorithm, or by using both the classical algorithm and the quantum algorithm in combination, the first execution is performed.
  • the program according to the embodiment causes the classical computer 100 to execute a selection step of selecting a computer to execute a given process by the selection function 10b.
  • the processing circuit 10 selects a computer that executes a given process based on the qubit or the required quantum volume calculated in step S110 by the selection function 10b.
  • the selection step for selecting the computer for executing the given processing is calculated in step S110 from among the plurality of quantum computers. It is a step of selecting a quantum computer that performs a given process based on the qubit or the required quantum volume.
  • the selection step for selecting the computer to execute the given processing is both the classical computer and the quantum computer.
  • This is a step of selecting a computer that executes a given process from a classical computer and a quantum computer based on the quantum bit or the required quantum volume calculated in step S110.
  • the processing circuit 10 provides a quantum computer by the selection function 10b if the qubit or the required quantum volume is within the range of the qubit or the required quantum volume that can be realized by the candidate quantum computer.
  • the classical computer is used for the given processing. Select as the computer to run.
  • the processing circuit 10 uses the selection function 10b to perform the quantum computer 300a. Is selected as the computer that executes the given process.
  • the quantum computer 300a executes the given process by the quantum algorithm.
  • the processing circuit 10 uses the selection function 10b to perform the classical computer 200a. Is selected as the computer that executes the given process.
  • the classical computer 200a executes the molecular orbital calculation by, for example, the Hartree-Fock method, the DFT method, the CCSD (T) method, or the like.
  • the selection step of selecting the computer to execute the given process is the given process based on the qubit or the required quantum volume calculated in step S110.
  • the step is to select the quantum computer to execute the above, and to select the classical computer to execute the classical algorithm separately from the selection of the quantum computer.
  • the quantum bit calculated in step S110 does not exceed the qubit available in the selected computer, or the required quantum volume calculated in step S110 is realized in the selected computer.
  • the processing circuit 10 selects the quantum computer by the selection function 10b so as not to exceed the possible required quantum volume.
  • the selection step when there are a plurality of quantum computers having different qubits or quantum volumes in the system, the selection step does not fall below the qubits or quantum volumes required for the calculation of the target compound, and is the most. It is preferable to preferentially select a quantum computer having close qubits or volumes.
  • the processing circuit 10 takes into account the capacity, characteristics, availability, etc. of available computer resources in addition to the qubit or required quantum volume calculated by the selection function 10b. You may make a choice. As an example, the processing circuit 10 uses the selection function 10b to select a computer having a high capacity of computer resources and having characteristics suitable for the given processing, or a computer having relatively free characteristics as a computer for executing the processing.
  • the processing circuit 10 may select not only the computer but also the execution timing and the execution order of executing the computer by the selection function 10b.
  • the processing circuit 10 relates to the size of the qubit or the required quantum volume calculated by the calculation function 10a by the display control function 10f, and the computer selected by the selection function 10b.
  • Information and information for specifying a character string or a compound representing a structural formula, atomic coordinates, or chemical structure are appropriately displayed on the display unit.
  • the display unit may be the display 30, or the user terminal 400, which is a terminal different from the provider-side terminal, which is the terminal on which the classical computer 100 is arranged, and is a terminal that can be operated by the user. You may.
  • the processing circuit 10 uses the control function 10c to provide information on the size of the qubit or quantum volume calculated by the calculation function 10a or the computer selected by the selection function 10b to other computers or the user terminal 400. It may be provided with a function of transmitting to an external terminal or the like of the computer system 1.
  • step S130 the program according to the embodiment selects a control step as a transmission unit for generating a control signal to be transmitted to the quantum computer when the computer selected in step S120 includes a quantum computer.
  • the control signal is a control signal relating to an instruction for the quantum computer to start the quantum algorithm, and is, for example, information necessary for generating a quantum state in which the quantum computer generates the quantum algorithm at the start.
  • the quantum state generated at the start of the quantum algorithm can be represented by ⁇ 1
  • the coefficients ⁇ 1 and ⁇ 2 are the quantum states ⁇ generated by the quantum computer at the start of the quantum algorithm.
  • the processing circuit 10 transmits, as a control signal, information necessary for generating the quantum state generated by the quantum computer at the start of the quantum algorithm to the quantum computer by the control function 10c as a transmission unit.
  • step S140 the quantum computer executes the quantum calculation based on the control signal acquired from the classical computer 100. Further, when the calculation is executed by the classical computer, the classical computer executes a normal calculation based on the control signal acquired from the classical computer 100. Further, when the calculation is executed by the combined algorithm of the calculation by the classical computer and the calculation by the quantum computer, the classical computer and the quantum computer perform the calculation based on the control signal acquired from the classical computer 100.
  • the classical computer 100 transmits a control signal to a plurality of computers by the control function 10c as a transmission unit, and each of the plurality of computers performs its own processing based on the control signal received by each of the plurality of computers.
  • VQE Variational Quantum Eigensolver
  • the variational parameter is ⁇
  • ⁇ ( ⁇ )> related to the trial wave function ⁇ ( ⁇ ) for the Hamiltonian H of the system always exceeds the energy E in the ground state.
  • the quantum computer 300a or the like generates a quantum state ⁇ ( ⁇ ), which is the target of the variational method, as a quantum state using a quantum algorithm for a certain variational parameter ⁇ .
  • the quantum information generation unit 50 expresses the Hamiltonian H of the system that performs the molecular orbital calculation or the like on the quantum computer as a Hamiltonian for the quantum state ⁇ ( ⁇ ) generated on the quantum computer.
  • the measuring unit 80 measures the expected value ⁇ ( ⁇ )
  • the quantum computer 300a can obtain the expected value of the Hamiltonian H of the system in the generated quantum state ⁇ ( ⁇ ) under the given variational parameter ⁇ as a measured value.
  • the classical computer 200a or the like is based on the processing of other parts, for example, the processing of selecting the variational parameter ⁇ , the processing of calculating the variational parameter ⁇ that minimizes the expected value of the Hamiltonian, and the value of the variational parameter ⁇ . Therefore, it is in charge of processing such as determining what kind of quantum state ⁇ ( ⁇ ) is selected, and optimizes the variational parameter ⁇ .
  • the classical computer 200a and the like and the quantum computer 300a and the like can jointly perform quantum chemical calculations and the like.
  • the computer to be processed can be appropriately selected. As a result, the processing can be optimized.
  • the program automatically selects a computer to execute a given process based on the size of the qubit or the required quantum volume calculated in the calculation step.
  • the embodiment is not limited to this, and in the first modification of the first embodiment, the program displays the calculated size of the qubit or the required quantum volume on the display 30, and the quantum displayed on the display 30. Feedback from the user who sees the magnitude of the bit or the required quantum volume may be accepted.
  • step S100, step S110, step S130, and step S140 are the same processes as those already described with reference to FIG. 2, the description thereof will be omitted.
  • step S121 the program according to the first modification of the first embodiment displays the size of the qubit or the required quantum volume calculated in the calculation step S110 on the display unit by the display control function 10f of the processing circuit 10.
  • the classical computer 100 further executes the display control step to be displayed.
  • step S122 the program according to the first modification of the first embodiment is processed by the classical computer 100 based on the qubit or the required quantum volume calculated in step S121 by the processing circuit 10.
  • step S122 the program according to the first modification of the first embodiment is processed by the classical computer 100 based on the qubit or the required quantum volume calculated in step S121 by the processing circuit 10.
  • step S123 the program causes the classical computer 100 to display on the display unit a list of computers capable of executing the processing generated in step S122 by the display control function 10f of the processing circuit 10. Let it run.
  • step S124 the program receives an input from the user to the classical computer 100 as to whether or not to correct the input data such as the compound name by the control function 10c of the processing circuit 10.
  • step S125 Yes When the processing circuit 10 receives an input from the user to modify the input data by the control function 10c (step S125 Yes), the processing returns to step S100. On the other hand, when the input data is not modified (step S125 No), the process proceeds to step S123.
  • step S126 the program according to the first modification of the first embodiment manually inputs to the classical computer 100 by the control function 10c of the processing circuit 10 to execute the given processing. Execute the accepting step.
  • step S127 the program according to the first modification of the first embodiment is given to the classical computer 100 by the selection function 10b of the processing circuit 10 based on the input received from the user in step S126. Perform the step of selecting the computer to execute the processed processing.
  • the program according to the first modification of the first embodiment causes the classical computer 100 to execute the same processes as in steps S130 and S140.
  • the input from the user is accepted as necessary.
  • the computer to be processed can be appropriately selected, and as a result, the processing can be optimized.
  • FIG. 5 is a flowchart showing the flow of processing to be executed by the classical computer 100 by the program according to the second embodiment
  • FIG. 6 is a flowchart illustrating the processing of step S200 in FIG. 5 in detail.
  • step S200 the program according to the second embodiment determines how to divide the given process into a plurality of small processes by the division determination function 15d of the processing circuit 10 on the classical computer 100. To execute the division decision step.
  • step S200 The division determination step of step S200 will be described in detail with reference to FIG. The entire process of FIG. 6 corresponds to step S200 of FIG.
  • step S201 the classical computer 100 is made to acquire the calculation performance of each computer.
  • step S202 the program according to the second embodiment performs a plurality of processes given to the classical computer 100 by the division determination function 10d of the processing circuit 10 based on the calculation performance acquired in step S201. Execute the step of temporarily dividing the small process.
  • step S203 the program according to the second embodiment causes the classical computer 100 to execute a step of calculating the size of the qubit or the required quantum volume for each of the plurality of tentatively divided subprocesses.
  • step S204 Yes when the temporary division satisfies a predetermined condition and is an appropriate division (step S204 Yes), the process proceeds to step S206, and the processing circuit 10 states that the temporary division is an appropriate division method. After determining, the processing circuit 10 determines that the division is an appropriate division method.
  • step S204 No. the program according to the second embodiment causes the classical computer 100 to execute the step of performing the provisional division by a new division method in step S205. After that, the process returns to step S202.
  • the program according to the second embodiment causes the classical computer 100 to execute the process according to step S200 described above.
  • the program according to the second embodiment is given to the classical computer 100 in step S210 based on the division method determined in step S200 by the division function 10e of the processing circuit 10.
  • the step of dividing the processed process into a plurality of sub-processes is executed.
  • steps S200 and S210 it is not necessary to go through the processes of steps S200 and S210, and the given process may be composed of a plurality of small processes. In such a case, steps S200 and S210 may be used. The operation of is omitted if necessary.
  • step S220 the program according to the second embodiment causes the classical computer 100 to calculate the size of the qubit or the required quantum volume for each of the plurality of small processes by the calculation function 10a of the processing circuit 10. Execute the calculation step.
  • step S230 the program according to the second embodiment tells the classical computer 100 that the calculated qubit or required quantum volume and the capacity and characteristics of the available computer resources for each of the plurality of subprocesses.
  • the selection step of selecting the computer to perform the calculation is executed according to the availability.
  • the program according to the second embodiment calculates a computer having high computing power, a computer whose characteristics of a given process match the characteristics of the computer, and a computer which is relatively free, on the classical computer 100. Give priority to selection as a computer.
  • step S240 the program according to the second embodiment uses the classical computer 100, the selection function 10b of the processing circuit 10, and the quantum bits or required quantum volumes calculated for each of the plurality of small processes.
  • the execution timing or execution order of executing the computer is selected according to the capacity, characteristics, availability, etc. of the available computer resources.
  • the program according to the second embodiment allows the execution timing or execution order of executing the computer to be selected so that the processing load of the computer is not concentrated on a specific computer.
  • step S250 the program according to the second embodiment is required in step S250 for the classical computer 100 to generate the quantum state generated by the quantum computer at the start of the quantum algorithm by the control function 10c of the processing circuit 10.
  • a control step that generates information as a control signal is executed.
  • the processing circuit 10 transmits the generated control signal to the computer selected in step S230 by the control function 10c as a transmission unit.
  • step S260 the quantum computer executes the quantum calculation.
  • the classical computer and the quantum computer or when a plurality of quantum computers coexist and the given process consists of a plurality of processes.
  • the processing is divided into two, and the processing can be optimized by appropriately selecting the computer that performs the processing for each divided processing.
  • the processing can be optimized when the classical computer and the quantum computer or a plurality of quantum computers coexist.
  • Processing circuit 10 Calculation function 10b Selection function 10c Control function 10d Division decision function 10e Division function 10f Display control function 10g Generation function 20 Storage unit 30 Display 40 Input device 200a Classical computer 300a Quantum computer 400 User terminal

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Analysis (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Health & Medical Sciences (AREA)
  • Optical Modulation, Optical Deflection, Nonlinear Optics, Optical Demodulation, Optical Logic Elements (AREA)
  • Superconductor Devices And Manufacturing Methods Thereof (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本発明に係るプログラムは、与えられた処理を、量子アルゴリズムにより、または古典アルゴリズムと量子アルゴリズムとの併用アルゴリズムにより行う場合に、当該与えられた処理を実行する計算機を選択する処理を古典計算機に実行させるプログラムであって、算出ステップと、選択ステップと、制御ステップとを当該古典計算機に実行させる。算出ステップは、与えられた処理を量子アルゴリズムを用いて実行するのに必要な、または与えられた処理を前記併用アルゴリズムを用いて実行する場合における量子アルゴリズムの部分における、必要な量子ビット又は要求量子体積の大きさを算出する。選択ステップは、算出ステップにより算出された量子ビット又は要求量子体積に基づいて、与えられた処理を実行する計算機を選択する。制御ステップは、選択ステップにより選択された計算機が量子計算機を含む場合に、量子計算機に送信する、量子計算機が量子アルゴリズムを開始する指示に関する制御信号を生成する。

Description

プログラム、計算機システム、及び計算機
 本発明は、プログラム、計算機システム及び計算機に関する。
 古典計算機とは異なる計算パラダイムの下で計算を行う計算機として量子計算機がある。量子計算機は、例えば量子もつれ状態等の初期生成された量子状態に対して、ショアの素因数分解アルゴリズムやグローバーの探索アルゴリズム等の所定の量子アルゴリズムのもとでユニタリ行列を作用させ、生成された量子状態を基に計算結果を生成する計算機である。
 量子計算のシミュレーション及び実行環境は、例えば、Azure(登録商標) Quantum、AWS(登録商標) Braket、IBM Q-Experience(登録商標)などの、クラウドサービスの形で提供されている。これらのクラウドサービスでは、例えば、量子アルゴリズムの古典コンピュータ上でのテスト及びシミュレーション環境が与えられ、また作成した量子アルゴリズムを、ゲート方式の超伝導コンピュータ、量子アニーリング超伝導コンピュータ、イオントラップコンピュータ等の量子ハードウェア上で実行することができる。
 ここで、量子計算機と古典計算機の違いを例えば分子軌道計算を行う場合で説明すると、量子計算機は、古典計算機と比較して、原子数Nに対する計算の増大速度がゆるやかな一方で、大きな量子ビット数の量子計算機を作成するのが難しいため、量子ビット数による制限が課せられる。従って、与えられた処理の大きさによって、古典計算機と量子計算機のどちらで計算を行うかを使い分けるのが望ましい場合がある。
 また、すべての計算を量子計算機で行うのではなく、古典計算機と量子計算機の両方を用いて計算を行う併用アルゴリズムが知られている。例えば、VQE(Variational Quantum Eigensolver)は、変分法をベースにして、量子計算機により所定の試行波動関数を生成した上でハミルトニアンの期待値を測定し、測定結果を基に古典計算機で処理を行うことで、変分法ベースで、古典計算機の中に量子計算機を組み込むアルゴリズムである。
 また、量子ビットの異なる複数の量子計算機を用いて計算を行う場合が考えられる。
Kandala, A., Mezzacapo, A., Temme, K. et al., Nature, 2017年、549巻、p242-246
 本発明は、古典計算機と量子計算機とが、または複数の量子計算機が混在する場合において、処理の最適化を行うことを目的とする。
 上述した課題を解決し、目的を達成するために、本発明に係るプログラムは、与えられた処理を、量子アルゴリズムにより、または古典アルゴリズムと量子アルゴリズムとの併用アルゴリズムにより行う場合に、当該与えられた処理を実行する計算機を選択する処理を古典計算機に実行させるプログラムであって、算出ステップと、選択ステップと、制御ステップとを当該古典計算機に実行させる。算出ステップは、与えられた処理を量子アルゴリズムを用いて実行するのに必要な、または与えられた処理を前記併用アルゴリズムを用いて実行する場合における量子アルゴリズムの部分における、必要な量子ビット又は要求量子体積の大きさを算出する。選択ステップは、算出ステップにより算出された量子ビット又は要求量子体積に基づいて、与えられた処理を実行する計算機を選択する。制御ステップは、選択ステップにより選択された計算機が量子計算機を含む場合に、量子計算機に送信する、量子計算機が量子アルゴリズムを開始する指示に関する制御信号を生成する。
 また、本発明に係る計算機システムは、与えられた処理を、量子アルゴリズムにより、または古典アルゴリズムと量子アルゴリズムとの併用アルゴリズムにより行う場合に、当該与えられた処理を実行する計算機を複数の計算機の中から選択する処理を実行する古典計算機と、複数の計算機とからなる。この複数の計算機は、少なくとも1つの量子計算機を含む。古典計算機は、算出部と、振り分け部と、送信部とを備える。算出部は、与えられた処理を量子アルゴリズムを用いて実行するのに必要な、または与えられた処理を併用アルゴリズムを用いて実行する場合における量子アルゴリズムの部分における、必要な量子ビット又は要求量子体積の大きさを算出する。振り分け部は、算出部が算出した量子ビット又は要求量子体積に基づいて、与えられた処理を実行する計算機を選択する。送信部と、振り分け部が選択した計算機が量子計算機を含む場合に、量子計算機が量子アルゴリズムを開始する指示を量子計算機に送信する。
 また、本発明に係る計算機は、与えられた処理を、量子アルゴリズムにより、または古典アルゴリズムと量子アルゴリズムとの併用アルゴリズムにより行う場合に、与えられた処理を実行する計算機を複数の計算機の中から選択する処理を実行する古典計算機である。算出部は、与えられた処理を量子アルゴリズムを用いて実行するのに必要な、または与えられた処理を併用アルゴリズムを用いて実行する場合における量子アルゴリズムの部分における、必要な量子ビット又は要求量子体積の大きさを算出する。振分け部は、算出部が算出した量子ビット又は要求量子体積に基づいて、与えられた処理を実行する計算機を選択する。送信部は、振り分け部が選択した計算機が量子計算機を含む場合に、量子計算機が量子アルゴリズムを開始する指示を量子計算機に送信する。
 本発明によれば、古典計算機と量子計算機とが、または複数の量子計算機が混在する場合において、処理の最適化を行うことができる。
図1は、本発明の実施形態に係る計算機システムの概略を表す図である。 図2Aは、実施形態に係る背景について説明する図である。 図2Bは、実施形態に係る背景について説明する図である。 図3は、第1の実施形態に係るプログラムが実行する処理の流れを示したフローチャートである。 図4は、第1の実施形態の第1の変形例に係るプログラムが実行する処理の流れを示したフローチャートである。 図5は、第2の実施形態に係るプログラムが実行する処理の流れを示したフローチャートである。 図6は、図5におけるステップS200の処理について詳細に説明したフローチャートである。
 以下、添付図面を参照しながら、本発明の実施形態に係るプログラム、計算機システム及び計算機を説明する。
(第1の実施形態)
 図1は、本発明の実施形態に係る計算機システム1の概略を表す図である。計算機システム1は、他の計算機の制御を行うための従来型の古典計算機100と、量子計算を用いず従来型の方法で計算を行う古典計算機200a、200b、200c…と、量子計算を用いて計算を行う量子計算機300a、300b、300c…を含む。ここで、古典計算機100及び200a、200b、200cは、例えばチューリングマシンとして表現できる通常の意味での計算機、例えばノイマン型の計算機である。
 なお、計算機システム1の構成としては、古典計算機200a、200b、200c…と、量子計算機300a、300b、300c…とのうち2以上の計算機を有していればよく、量子計算機のみを有する場合、古典計算機と量子計算機とのうち両方を有する場合の、いずれの場合であってもよい。
 古典計算機100は、他の計算機(古典計算機200a、200b、200c…、量子計算機300a、300b、300c)の制御を行うための計算機であり、処理回路10と、記憶部20と、ディスプレイ30と、入力装置40とを備える。処理回路10は、算出機能10aと、選択機能10bと、制御機能10cと、分割決定機能10dと、分割機能10eと、表示制御機能10fと、生成機能10gを備える。
 処理回路10は、プログラムを記憶部20から読み出して実行することで、算出機能10a、選択機能10b等の機能を実現するプロセッサ(例えば、CPU(Central Processing Unit)、GPU(Graphical Processing Unit)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)等)である。すなわち、算出機能10a、選択機能10b、制御機能10c、分割決定機能10d、分割機能10e、表示制御機能10f、生成機能10g等による処理機能は、当該プロセッサにより実行可能なプログラムの形態で記憶部20に記憶される。これにより、プログラムが読み出された状態の処理回路10は、算出機能10a、選択機能10b、制御機能10c、分割決定機能10d、分割機能10e、表示制御機能10f、生成機能10g等の機能を有し、算出機能10aにより算出ステップを、選択機能10bにより選択ステップを、制御機能10cにより制御ステップを、分割決定機能10dにより分割決定ステップを、分割機能10eにより分割ステップを、表示制御機能10fにより表示ステップを、生成機能10gにより生成ステップを、古典計算機100に実行させる。すなわち、算出機能10a、選択機能10b、制御機能10c、分割決定機能10d、分割機能10e、表示制御機能10f、生成機能10gは、それぞれ算出部、振り分け部(選択部)、制御部、分割決定部、分割部、表示制御部、生成部に対応する。なお、処理回路10が有する各機能の処理の詳細については後述する。また、制御機能10cは、種々の情報を送信する機能を備える送信部の一例ともなる。
 記憶部20は、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、ハードディスク等の記憶領域であり、処理回路10が実行する各種プログラム及び当該各種プログラムの実行結果等を記憶する。
 ディスプレイ30は、各種情報を表示する。例えば、ディスプレイ30は、CPUの処理結果や、ユーザから各種操作を受け付けるためのGUI(Graphical User Interface)等を表示する。ディスプレイ30は、例えば液晶ディスプレイ、有機EL(Electro Luminescence)ディスプレイ又はブラウン管ディスプレイで構成される。なお、例えばタッチパネルのような形態で、入力装置40とディスプレイ30とが一体に構成されても良い。 
 入力装置40は、ユーザが各種の操作を行うためのデバイスである。入力装置40は、例えばマウス、キーボード、タッチパネル又はハードウェアキーで構成される。
 なお、実施形態は上述の例に限られない。実施形態によっては、記憶部20、ディスプレイ30、入力装置40等は、古典計算機100の必須の構成要素ではなく、すなわち古典計算機100は記憶部20、ディスプレイ30、入力装置40等を含まなくてもよい。また、別の例として、記憶部20、ディスプレイ30、入力装置40等は、例えば、ネットワークを介して古典計算機100の外に配置され、処理回路10とデータのやりとりが行われてもよい。また、古典計算機100は、2以上の古典計算機から構成されてもよい。例えば、古典計算機は、算出機能10aを有する第1の古典計算機と、第1の古典計算機とネットワークを通じて接続され、振り分け機能(選択機能10b)及び送信部としての制御機能10cを有する第2の古典計算機とを備えても良い。
 古典計算機100が、他の計算機の制御を行うための計算を行う計算機であるのに対して、古典計算機200a、古典計算機200b、古典計算機200c…は、量子化学計算等、与えられた処理そのものを実行するための計算機である。例えば古典計算機200aは、古典計算機100と同様に、処理回路10と同様の処理回路10xと、記憶部20と同様の記憶部20xとを備える。なお、処理回路10の有するすべての機能を、処理回路10xが有している必要はない。以下同様に、古典計算機200b、200c…も、処理回路10と同様の処理回路と、記憶部20と同様の記憶部を備える。
 量子計算機300a、300b、300cは、量子状態を用いて計算を行う量子計算機である。例えば、量子計算機300aは、初期量子状態を生成する量子情報生成部50と、複数の量子ゲート60と、量子ゲート制御部70と、測定部80とを備える。
 量子計算機の典型的な動作の例を説明すると、処理回路10は、送信部としての制御機能10cにより、初期状態の量子状態を生成するための制御信号を量子計算機300aに送信する。初期状態の量子状態を生成するための制御信号を古典計算機100から取得した量子計算機300aは、量子情報生成部50により、例えば量子エンタングルメント状態等の初期量子状態を生成する。
 量子ゲート60は、生成された量子状態に作用し、量子状態を変化させる。量子ゲート60の量子状態に対する作用は、ユニタリ行列の形で表すことができる。また、量子ゲート制御部70は、量子ゲート60の動作、すなわち当該ユニタリ行列を変化させる。測定部80は、量子ゲート60を通過した量子状態を測定する。これにより、量子計算機300aは、測定部80が測定した測定結果を出力データとして得ることができる。
 また、計算機システム1は、ユーザからの情報の入力を受け付け、またはユーザに情報の表示を行うユーザ端末400を備えてもよい。一例として、ユーザ端末400は、ディスプレイ30や入力装置40と同様に、ユーザ端末側に、ディスプレイ30z及び入力装置40zを備えても良い。
 続いて、実施形態に係る背景について簡単に説明する。
 古典計算機とは異なる計算パラダイムの下で計算を行う計算機として量子計算機がある。量子計算機は、例えば、初期生成された量子もつれ状態等の量子状態に対して、ショアの素因数分解アルゴリズムやグローバーの探索アルゴリズム等の所定の量子アルゴリズムのもとでユニタリ行列を作用させ、生成された量子状態を測定して計算結果を生成する計算機である。
 量子計算のシミュレーション及び実行環境は、例えば、Azure(登録商標) Quantum、AWS(登録商標) Braket、IBM Q-Experience(登録商標)などの、クラウドサービスの形で提供されている。これらのクラウドサービスでは、例えば、量子アルゴリズムの古典コンピュータ上でのテスト及びシミュレーション環境が与えられ、また作成した量子アルゴリズムを、ゲート方式の超伝導コンピュータ、量子アニーリング超伝導コンピュータ、イオントラップコンピュータ等の量子ハードウェア上で実行することができる。
 ここで、量子計算機と古典計算機の違いについて、例えば、分子軌道計算等の計算を例に取ると、図2Aに示されるように、古典計算機では、原子数Nが大きくなると計算時間が急激に増大する。例えば、原子数Nに対して、計算時間がNに比例として増大する。一方で、図2Bに示されるように、量子計算機では、原子数Nに対して計算時間がそれほど大きく増大しない。例えば、原子数Nに対して、計算時間がNに比例する時間で抑えられる。ただし、大きな量子ビットの量子計算機を作成するのは現状難しく、量子ビット数による制限がある。従って、与えられた処理の大きさによって、古典計算機と量子計算機のどちらで計算を行うかを使い分けるのが望ましい場合がある。
 また、大きな量子ビットの量子計算機を作成する困難さを考慮して、すべての計算を量子計算機による量子アルゴリズムで行うのではなく、古典計算機により実行される古典アルゴリズムと量子計算機により実行される量子アルゴリズムの両方を用いて計算を行う併用アルゴリズムが知られている。併用アルゴリズムとしては、例えばVQE(Variational Quantum Eigensolver)が挙げられる。VQEは、変分法をベースにして、量子計算機により所定の試行波動関数を生成した上でハミルトニアンの期待値を測定し、測定結果を基に古典計算機で処理を行うことで、変分法ベースで、古典計算機の中に量子計算機を組み込むアルゴリズムである。
 また、古典計算機と量子計算機の両方を用いた併用アルゴリズムを用いる場合の他に、与えられた処理を、古典計算機が担当する処理と、量子計算機が担当する処理とに分割し、各処理をそれぞれの計算機が実行することにより並列計算を行う場合が考えられる。また、与えられた処理を量子ビット数の異なる複数の量子計算機で分担して行う場合、与えられた処理をそれぞれの量子計算機が担当する処理に分割し、各処理をそれぞれの計算機が実行することにより並列計算を行う場合が考えられる。
 実施形態は、かかる背景に基づくものであって、少なくとも1つの量子計算機を含む複数の計算機で処理を行う場合における処理を最適化しようとするものである。
 図3は、第1の実施形態に係るプログラムが実行する処理の流れを示したフローチャートである。なお、以下の例としては、与えられた計算処理の例として、化合物の分子軌道計算を行う場合について説明する。
 はじめに、ステップS100において、処理回路10は、化合物の構造等の情報を記憶部より取得し、与えられた処理、例えば与えられた化学構造に対して量子化学計算を行う処理を行う準備を行う。すなわち、処理回路10は、化学構造のリストを記憶する記憶部20から読み出された化学構造を、当該与えられた化学構造とし、量子化学計算を行う処理を行う準備を行う。
 続いて、ステップS110において、処理回路10は、算出機能10aにより、必要な量子ビット(qubit)又は要求量子体積の大きさを算出する。すなわち、実施形態に係るプログラムは、ステップS110において、与えられた処理、例えば与えられた化学構造に対して量子化学計算を行う処理を、量子アルゴリズムを用いて実行するのに必要な、または与えられた処理を併用アルゴリズムを用いて実行する場合における量子アルゴリズムの部分における、必要な量子ビット又は要求量子体積の大きさを算出する算出ステップを古典計算機100に実行させる。ここで、要求量子体積は、要求される量子体積(quantum volume)の大きさ、すなわち、行うことのできる量子計算の規模、すなわち、空間的サイズ及び時間を表す。量子体積は、単純な量子ビット数に、発生するエラーの大きさを加味して算出される指標である。
 なお、ステップS110において処理回路10が算出する必要な量子ビット又は要求量子体積の算出に当たっては、処理回路10は、算出機能10aにより、若干の余裕度を持たせて必要な量子ビット又は要求量子体積の値を算出してもよく、また算出するのが望ましい。ここで、当該余裕度は、計算の種類や要求される計算速度、計算機の能力、キューの混雑状況などに応じて任意に設定可能である。
 必要な量子ビット又は要求量子体積の大きさを算出する方法として、例えば、処理回路10は、算出機能10aにより、原子数と、当該原子数の分子軌道計算を行うのに必要な量子ビットまたは要求量子体積との関係を表すテーブルと、原子数とに基づいて、必要な量子ビット又は要求量子体積の大きさを算出する。当該テーブルは、例えば、計算量を正確に見積もることができる程度に原子数が小さい場合における原子数と必要な量子ビットまたは要求体積との関係式を、原子数が大きい場合に外挿することにより作成される。
 続いて、ステップS120において、与えられた処理を、量子アルゴリズムによりまたは古典アルゴリズムと量子アルゴリズムとの併用アルゴリズムにより、または古典アルゴリズムと量子アルゴリズムの両者を併用して処理を行う場合に、第1の実施形態に係るプログラムは、与えられた処理を実行する計算機を選択する選択ステップを、選択機能10bにより古典計算機100に実行させる。具体的には、処理回路10は、選択機能10bにより、ステップS110において算出された量子ビットまたは要求量子体積に基づいて、与えられた処理を実行する計算機を選択する。
 ここで、処理を行う候補となる計算機が複数の量子計算機である場合には、与えられた処理を実行する計算機を選択する選択ステップは、複数の量子計算機の中から、ステップS110において算出された量子ビットまたは要求量子体積に基づいて、与えられた処理を実行する量子計算機を選択するステップとなる。
 また、処理を行う候補となる計算機が1以上の量子計算機と1以上の古典計算機である場合には、与えられた処理を実行する計算機を選択する選択ステップは、古典計算機と量子計算機との両方の計算機の中から、ステップS110において算出された量子ビットまたは要求量子体積に基づいて、古典計算機と量子計算機とのうち、与えられた処理を実行する計算機を選択するステップとなる。この場合、一例として、処理回路10は、選択機能10bにより、量子ビットまたは要求量子体積が、候補となる量子計算機により実現できる量子ビットまたは要求量子体積の範囲内であれば、量子計算機を、与えられた処理を実行する計算機として選択し、量子ビットまたは要求量子体積が、候補となる量子計算機により実現できる量子ビットまたは要求量子体積の範囲を超えている場合、古典計算機を、与えられた処理を実行する計算機として選択する。
 例えば、量子計算機300aの量子ビット数が100量子ビットであり、ステップS110において算出された量子ビット数が80量子ビットである場合、ステップS120において、処理回路10は、選択機能10bにより、量子計算機300aを、与えられた処理を実行する計算機として選択する。量子計算機300aは、量子アルゴリズムにより、当該与えられた処理を実行する。一方、量子計算機300aの量子ビット数が100量子ビットであり、ステップS110において算出された量子ビット数が120量子ビットである場合、ステップS120において、処理回路10は、選択機能10bにより、古典計算機200aを、与えられた処理を実行する計算機として選択する。与えられた処理が分子軌道計算の場合、古典計算機200aは、例えばHartree-Fock法、DFT法、CCSD(T)法等により、分子軌道計算を実行する。
 また、古典アルゴリズムと量子アルゴリズムとの併用アルゴリズムを用いる場合、与えられた処理を実行する計算機を選択する選択ステップは、ステップS110において算出された量子ビットまたは要求量子体積に基づいて、与えられた処理を実行する量子計算機を選択し、また、量子計算機の選択とは別途、古典アルゴリズムを実行する古典計算機を選択するステップとなる。
 これらの選択ステップにおいて、ステップS110で算出された量子ビットが、選択される計算機で利用可能な量子ビットを上回らないような、またはステップS110で算出された要求量子体積が、選択される計算機で実現可能な要求量子体積を上回らないように、処理回路10は、選択機能10bにより、量子計算機の選択を行う。
 なお、かかる選択ステップにおいて、システム中に量子ビット又は量子体積の異なる複数の量子計算機が存在する場合、選択ステップはその中から対象化合物の計算に必要な量子ビット又は量子体積を下回らず、かつ最も近い量子ビット又は体積を有する量子計算機を優先的に選択することが好ましい。
 なお、選択ステップにおいて、処理回路10は、選択機能10bにより、算出された量子ビットまたは要求量子体積の他に、利用可能な計算機リソースの能力、特性、空き具合などをも加味して、計算機の選択を行ってもよい。一例として、処理回路10は、選択機能10bにより、計算機リソースの能力が高く、特性が与えられた処理に適した特性であり、または比較的空いている計算機を処理を実行する計算機として選択する。
 また、選択ステップにおいて、処理回路10は、選択機能10bにより、計算機の選択のみならず、計算機を実行する実行タイミングや実行順序をあわせて選択してもよい。
 また、ステップS120の処理の実行とあわせて、処理回路10は、表示制御機能10fにより、算出機能10aにより算出された量子ビット若しくは要求量子体積の大きさ、選択機能10bにより選択された計算機に係る情報及び、構造式又は原子座標又は化学構造を表す文字列または化合物を特定する情報を表示部に適宜表示する。ここで、表示部は、ディスプレイ30であってもよいし、古典計算機100が配置される端末であるプロバイダ側端末とは異なる端末であって、ユーザが操作可能な端末であるユーザ端末400であってもよい。
 また、処理回路10は、制御機能10cにより、算出機能10aにより算出された量子ビット若しくは量子体積の大きさ、又は選択機能10bにより選択された計算機に係る情報を、他の計算機やユーザ端末400、計算機システム1の外部の端末等に送信する機能を備えても良い。
 続いて、ステップS130において、実施形態に係るプログラムは、ステップS120において選択された計算機が量子計算機を含む場合に、量子計算機に送信する制御信号を生成する制御ステップを、送信部としての選択機能10bにより、古典計算機100に実行させる。ここで、当該制御信号は、量子計算機が量子アルゴリズムを開始する指示に関する制御信号であり、例えば、量子計算機が量子アルゴリズムを開始時に生成する量子状態を生成するのに必要な情報である。例えば、量子アルゴリズムを開始時に生成する量子状態が、α|0>+α|1>で表せるとすると、係数α、αが、量子計算機が量子アルゴリズムを開始時に生成する量子状態α|0>+α|1>を生成するのに必要な情報となる。続いて、処理回路10は、送信部としての制御機能10cにより、量子計算機に、量子計算機が量子アルゴリズムの開始時に生成する量子状態を生成するのに必要な情報を制御信号として送信する。
 続いて、ステップS140において、古典計算機100から取得した制御信号に基づいて、量子計算機は、量子計算を実行する。また、古典計算機により計算を実行する場合、古典計算機100から取得した制御信号に基づいて、古典計算機は、通常の計算を実行する。また、古典計算機による計算と量子計算機による計算の併用アルゴリズムにより計算を実行する場合、古典計算機100から取得した制御信号に基づいて、古典計算機と量子計算機とが、計算を行う。古典計算機100は、送信部としての制御機能10cにより、複数の計算機に対して制御信号を送信し、複数の計算機のうちそれぞれが、それぞれが受信した制御信号を基に、それぞれの処理を行う。
 以下の実施形態では、古典計算機200a、200b、200c…及び量子計算機300a、300b、300c…が、古典アルゴリズムと量子アルゴリズムの併用アルゴリズムであるVQE(Variational Quantum Eigensolver)法を用いて分子軌道計算を行う場合について説明する。
 VQE法は、変分パラメータをθとして、系のハミルトニアンHに対する試行波動関数ψ(θ)に係る期待値<ψ(θ)|H|ψ(θ)>が常に基底状態のエネルギーEを上回るという変分原理を利用して、分子軌道計算を行うアルゴリズムの中に、量子計算機による計算を組み込んだ方法である。
 ここで、量子計算機300a等は、ある変分パラメータθに対して、変分法の対象となる量子状態ψ(θ)を、量子アルゴリズムを用いて量子状態として生成する。また、量子計算機300a等は、量子情報生成部50により、分子軌道計算等を行う系のハミルトニアンHを、量子計算機上に生成される量子状態ψ(θ)に対するハミルトニアンとして量子計算機上で表現する。しかる後、測定部80は、量子計算機上に生成される量子状態ψ(θ)に対する当該ハミルトニアンの期待値<ψ(θ)|H|ψ(θ)>を測定する。これにより、量子計算機300aは、与えられた変分パラメータθのもとでの、系のハミルトニアンHの、生成された量子状態ψ(θ)における期待値を、測定値として得ることができる。
 一方、古典計算機200a等は、その他の部分の処理、例えば、変分パラメータθを選択する処理、ハミルトニアンの期待値が最小となる変分パラメータθを算出する処理、変分パラメータθの値に基づいて、どのような量子状態ψ(θ)を選択するかを決定する処理などの処理を担当し、変分パラメータθの最適化を行う。これにより、古典計算機200a等と量子計算機300a等が共同して、量子化学計算等を行うことができる。
 以上のように、第1の実施形態に係るプログラムによれば、古典計算機と量子計算機とが、または複数の量子計算機が混在する場合において、処理を行う計算機を適切に選択することができ、その結果、処理の最適化を行うことができる。
 (第1の実施形態の第1の変形例)
 第1の実施形態では、算出ステップにおいて算出された量子ビット又は要求量子体積の大きさに基づいて、与えられた処理を実行する計算機をプログラムが自動的に選択する場合について説明した。実施形態はこれに限られず、第1の実施形態の第1の変形例においては、プログラムが、算出した量子ビット又は要求量子体積の大きさをディスプレイ30に表示させ、ディスプレイ30に表示された量子ビットまたは要求量子体積の大きさを見たユーザからのフィードバックを受け付けてもよい。
 かかる状況が、図4に示されている。なお、ステップS100、ステップS110、ステップS130及びステップS140については、図2ですでに説明した処理と同様の処理であるので、重ねての説明は省略する。
 ステップS121において、第1の実施形態の第1の変形例に係るプログラムは、処理回路10の表示制御機能10fにより、算出ステップS110により算出された量子ビット又は要求量子体積の大きさを表示部に表示させる表示制御ステップを、古典計算機100に更に実行させる。
 続いて、ステップS122において、第1の実施形態の第1の変形例に係るプログラムは、古典計算機100に、処理回路10により、ステップS121において算出された量子ビット又は要求量子体積に基づいて、処理を実行可能な計算機のリストを生成する生成ステップを実行させる。
 続いて、ステップS123において、当該プログラムは、古典計算機100に、処理回路10の表示制御機能10fにより、ステップS122において生成された処理を実行可能な計算機のリストを表示部に表示させる表示制御ステップを実行させる。
 続いて、ステップS124において、当該プログラムは、古典計算機100に、処理回路10の制御機能10cにより、化合物名等の入力データを修正するか否かの入力をユーザから受け付ける。
 処理回路10は、制御機能10cにより、入力データを修正する旨の入力をユーザから受け付けた場合、(ステップS125 Yes)、処理はステップS100に戻る。一方、入力データを修正しない場合(ステップS125 No)、処理はステップS123に移る。
 続いて、ステップS126において、第1の実施形態の第1の変形例に係るプログラムは、古典計算機100に、処理回路10の制御機能10cにより、与えられた処理を実行する計算機の入力を手動で受け付けるステップを実行させる。
 続いて、ステップS127において、第1の実施形態の第1の変形例に係るプログラムは、古典計算機100に、処理回路10の選択機能10bにより、ステップS126でユーザから受け付けた入力に基づいて、与えられた処理を実行する計算機を選択させるステップを実行させる。
 また、第1の実施形態と同様に、第1の実施形態の第1の変形例に係るプログラムは、古典計算機100に、ステップS130及びステップS140と同様の処理を実行させる。
 以上のように、第1の実施形態に係るプログラムによれば、古典計算機と量子計算機とが、または複数の量子計算機が混在する場合において、必要に応じて、ユーザからの入力を受け付けることで、処理を行う計算機を適切に選択することができ、その結果、処理の最適化を行うことができる。
 (第2の実施形態)
 第1の実施形態では、与えられた処理を、複数の小処理に分割せず、一つの計算機においてすべての処理を行う場合について説明した。第2の実施形態では、与えられた処理を、複数の小処理に分割し、複数の小処理のそれぞれごとに選択された計算機で、古典計算機又は量子計算機が処理を行う場合について説明する。
 図5及び図6に、かかる状況が示されている。図5は、第2の実施形態に係るプログラムが古典計算機100に実行させる処理の流れを示したフローチャートであり、図6は、図5におけるステップS200の処理について詳細に説明したフローチャートである。
 まずはじめに、第2の実施形態に係るプログラムは、ステップS200において、古典計算機100に、処理回路10の分割決定機能15dにより、与えられた処理を、複数の小処理に分割する分割の仕方を決定する分割決定ステップを実行させる。
 図6を用いて、ステップS200の分割決定ステップについて詳細に説明する。図6全体の処理が、図5のステップS200に対応する。
 はじめに、第2の実施形態に係るプログラムは、ステップS201において、古典計算機100に、各計算機の計算性能を取得させる。
 続いて、第2の実施形態に係るプログラムは、ステップS202において、古典計算機100に、処理回路10の分割決定機能10dにより、ステップS201で取得した計算性能に基づいて、与えられた処理を複数の小処理に仮分割させるステップを実行させる。
 続いて、第2の実施形態に係るプログラムは、ステップS203において、古典計算機100に、仮分割された複数の小処理それぞれについて、量子ビットまたは要求量子体積の大きさを算出させるステップを実行させる。
 続いて、仮分割が、所定の条件を満たしており適切な分割である場合(ステップS204 Yes)、処理はステップS206に進み、処理回路10は、当該仮分割が、適切な分割方法であると決定し、処理回路10は、当該分割を、適切な分割方法であると決定する。
 一方、仮分割が、適切な分割でない場合(ステップS204 No)、第2の実施形態に係るプログラムは、ステップS205において、古典計算機100に、新たな分割方法で仮分割を行われるステップを実行させ、その後処理はステップS202へと戻る。
 このようなステップS201~ステップS206により、第2の実施形態に係るプログラムは、上述したステップS200に係る処理を、古典計算機100に実行させる。
 続いて、図5に戻り、第2の実施形態に係るプログラムは、ステップS210において、古典計算機100に、処理回路10の分割機能10eにより、ステップS200において決定された分割の仕方に基づいて、与えられた処理を、複数の小処理に分割するステップを実行させる。
 なお、実施形態は、ステップS200及びステップS210の処理を経るまでもなく、与えられた処理が、複数の小処理からなるものである場合であってもよく、かかる場合は、ステップS200及びステップS210の操作は必要に応じて省略される。
 続いて、第2の実施形態に係るプログラムは、ステップS220において、古典計算機100に、処理回路10の算出機能10aにより、複数の小処理それぞれについて、量子ビット又は要求量子体積の大きさを算出させる算出ステップを実行させる。
 続いて、第2の実施形態に係るプログラムは、ステップS230において、古典計算機100に、複数の小処理それぞれについて、算出された量子ビット又は要求量子体積と、利用可能な計算機リソースの能力、特性、空き具合等に応じて、計算を行う計算機を選択させる選択ステップを実行させる。例えば、第2の実施形態に係るプログラムは、古典計算機100に、計算能力の高い計算機、与えられた処理の性質と、計算機の特性がマッチする計算機、比較的空いている計算機を、計算を行う計算機として優先的に選択させる。
 続いて、第2の実施形態に係るプログラムは、ステップS240において、古典計算機100に、処理回路10の選択機能10bにより、更に、複数の小処理それぞれについて、算出された量子ビット又は要求量子体積と、利用可能な計算機リソースの能力、特性、空き具合等に応じて、計算機を実行する実行タイミングまたは実行順序を選択させる。一例として、第2の実施形態に係るプログラムは、計算機の処理負荷が特定の計算機に集中しないように、計算機を実行する実行タイミングまたは実行順序を選択させる。
 続いて、第2の実施形態に係るプログラムは、ステップS250において、古典計算機100に、処理回路10の制御機能10cにより、量子計算機が量子アルゴリズムの開始時に生成する量子状態を生成するのに必要な情報を制御信号として生成させる制御ステップを実行させる。
 処理回路10は、送信部としての制御機能10cにより、生成された制御信号を、ステップS230で選択した計算機に送信させる。
 続いて、ステップS260において、量子計算機が量子計算を実行する。
 以上のように、第2の実施形態に係るプログラムによれば、古典計算機と量子計算機とが、または複数の量子計算機が混在する場合において、与えられた処理が複数の処理からなる場合において、適切に処理が分割され、分割された処理ごとに処理を行う計算機が適切に選択されることで、処理の最適化を行うことができる。
 このように、本発明の実施形態によれば、古典計算機と量子計算機とが、または複数の量子計算機が混在する場合において、処理を最適化することができる。
 なお、本発明の実施形態は、例として提示されたものにすぎず、種々の置き換え、変更等を行うことができる。
 10 処理回路
 10a 算出機能
 10b 選択機能
 10c 制御機能
 10d 分割決定機能
 10e 分割機能
 10f 表示制御機能
 10g 生成機能
 20 記憶部
 30 ディスプレイ
 40 入力装置
 200a 古典計算機
 300a 量子計算機
 400 ユーザ端末

Claims (20)

  1.  与えられた処理を、量子アルゴリズムにより、または古典アルゴリズムと量子アルゴリズムとの併用アルゴリズムにより行う場合に、前記与えられた処理を実行する計算機を選択する処理を古典計算機に実行させるプログラムであって、
     前記与えられた処理を前記量子アルゴリズムを用いて実行するのに必要な、または前記与えられた処理を前記併用アルゴリズムを用いて実行する場合における前記量子アルゴリズムの部分における、必要な量子ビット又は要求量子体積の大きさを算出する算出ステップと、
     前記算出ステップにより算出された前記量子ビット又は前記要求量子体積に基づいて、前記与えられた処理を実行する前記計算機を選択する選択ステップと、
     前記選択ステップにより選択された前記計算機が量子計算機を含む場合に、前記量子計算機に送信する、前記量子計算機が前記量子アルゴリズムを開始する指示に関する制御信号を生成する制御ステップ
    とを前記古典計算機に実行させるプログラム。
  2.  前記制御ステップは、前記選択ステップにより選択された前記計算機が量子計算機を含む場合に、前記量子計算機が前記量子アルゴリズムの開始時に生成する量子状態を生成するのに必要な情報を前記制御信号として生成する、請求項1に記載のプログラム。
  3.  前記与えられた処理は、与えられた化学構造に対して量子化学計算を行う処理である、請求項1に記載のプログラム。
  4.  前記与えられた化学構造は、化学構造のリストを記憶する記憶部から読み出された化学構造である、請求項3に記載のプログラム。
  5.  前記算出ステップは、前記与えられた処理が複数の小処理からなるものである場合に、前記複数の小処理のうちそれぞれについて前記量子ビット又は前記要求量子体積の大きさを算出し、
     前記選択ステップは、前記与えられた処理が複数の小処理からなるものである場合に、
    前記複数の小処理のうちそれぞれについて、前記計算機を選択し、
     前記制御ステップは、前記与えられた処理が複数の小処理からなるものである場合に、
    前記複数の小処理のうちそれぞれについて、前記制御信号を生成する、請求項1に記載のプログラム。
  6.  前記与えられた処理を、複数の小処理に分割する分割のしかたを決定する分割決定ステップと、
     決定された前記分割のしかたに基づいて、前記与えられた処理を、前記複数の小処理に分割する分割ステップとを、前記古典計算機に実行させ、
     前記選択ステップは、前記分割ステップにより分割された前記複数の小処理のうちそれぞれについて、前記計算機を選択し、
     前記制御ステップは、前記分割ステップにより分割された前記複数の小処理のうちそれぞれについて、前記制御信号を生成する、請求項1に記載のプログラム。
  7.  前記選択ステップは、前記算出ステップにより算出された前記量子ビットまたは前記要求量子体積と、利用可能な計算機リソースの能力、特性及び空き具合のうち少なくとも一つとに応じて、前記計算機を選択する、請求項5又は6に記載のプログラム。
  8. 前記選択ステップは、前記算出ステップにより算出された前記量子ビットまたは前記要求量子体積と、利用可能な計算機リソースの能力、特性及び空き具合のうち少なくとも一つとに応じて、更に前記計算機を実行する実行タイミングまたは実行順序を選択する、請求項7に記載のプログラム。
  9.  前記選択ステップは、前記量子ビットが、前記計算機で利用可能な量子ビットを上回らないように、または前記要求量子体積が、前記計算機の要求量子体積を上回らないように、前記計算機を選択する、請求項1~8のいずれか一つに記載のプログラム。
  10.  前記算出ステップにより算出された前記量子ビット又は前記要求量子体積の大きさを表示部に表示させる表示制御ステップを更に前記古典計算機に実行させる、請求項1~9のいずれか一つに記載のプログラム。
  11.  前記算出ステップにより算出された前記量子ビット又は前記要求量子体積に基づいて、前記処理を実行可能な計算機のリストを生成する生成ステップと、
     前記生成ステップにより生成された前記処理を実行可能な計算機のリストを表示部に表示させる表示制御ステップとを更に前記古典計算機に実行させる、請求項1~9のいずれか一つに記載のプログラム。
  12.  前記表示部は、前記古典計算機が配置される端末であるプロバイダ側端末とは異なる端末であって、ユーザが操作可能な端末であるユーザ端末に配置される、請求項10又は11に記載のプログラム。
  13.  前記選択ステップは、古典計算機と量子計算機との両方の計算機の中から、前記量子ビット又は前記要求量子体積に基づいて、前記処理を実行する計算機を選択する、請求項1~12のいずれか一つに記載のプログラム。
  14.  前記併用アルゴリズムは、VQE(variational quantum eigensolver)法である、請求項1~13のいずれか一つに記載のプログラム。
  15.  与えられた処理を、量子アルゴリズムにより、または古典アルゴリズムと量子アルゴリズムとの併用アルゴリズムにより行う場合に、前記与えられた処理を実行する計算機を複数の計算機の中から選択する処理を実行する古典計算機と、前記複数の計算機とからなる計算機システムであって、
     前記複数の計算機は、少なくとも1つの量子計算機を含み、
     前記古典計算機は、
     前記与えられた処理を前記量子アルゴリズムを用いて実行するのに必要な、または前記与えられた処理を前記併用アルゴリズムを用いて実行する場合における前記量子アルゴリズムの部分における、必要な量子ビット又は要求量子体積の大きさを算出する算出部と、
     前記算出部が算出した前記量子ビット又は前記要求量子体積に基づいて、前記与えられた処理を実行する前記計算機を選択する振り分け部と、
     前記振り分け部が選択した前記計算機が前記量子計算機を含む場合に、前記量子計算機が前記量子アルゴリズムを開始する指示を前記量子計算機に送信する送信部と
    を備える、計算機システム。
  16.  前記算出部が算出した前記量子ビット若しくは前記要求量子体積の大きさ、又は前記振り分け部が選択した前記計算機に係る情報を送信する機能を備える請求項15に記載の計算機システム。
  17.  前記算出部が算出した前記量子ビット若しくは前記要求量子体積の大きさ、又は前記振り分け部が選択した前記計算機に係る情報をユーザに表示する表示部を更に備える、請求項15に記載の計算機システム。
  18.  前記算出部が算出した前記量子ビット若しくは前記要求量子体積の大きさ、又は前記振り分け部が選択した前記計算機に係る情報及び、構造式又は原子座標又は化学構造を表す文字列または化合物を特定する情報をユーザに表示する表示部を更に備える、請求項17に記載の計算機システム。
  19.  前記古典計算機は、前記算出部の機能を有する第1の古典計算機と、前記第1の古典計算機とネットワークを通じて接続され、前記振り分け部及び前記送信部の機能を有する第2の古典計算機とを備える、請求項15に記載の計算機システム。
  20.  与えられた処理を、量子アルゴリズムにより、または古典アルゴリズムと量子アルゴリズムとの併用アルゴリズムにより行う場合に、前記与えられた処理を実行する計算機を複数の計算機の中から選択する処理を実行する古典計算機であって、
     前記与えられた処理を前記量子アルゴリズムを用いて実行するのに必要な、または前記与えられた処理を前記併用アルゴリズムを用いて実行する場合における前記量子アルゴリズムの部分における、必要な量子ビット又は要求量子体積の大きさを算出する算出部と、
     前記算出部が算出した前記量子ビット又は前記要求量子体積に基づいて、前記与えられた処理を実行する前記計算機を選択する振り分け部と、
     前記振り分け部が選択した前記計算機が量子計算機を含む場合に、前記量子計算機が前記量子アルゴリズムを開始する指示を前記量子計算機に送信する送信部と
    を備える、計算機。
PCT/JP2020/046819 2019-12-19 2020-12-15 プログラム、計算機システム、及び計算機 WO2021125189A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202080088103.1A CN114846479A (zh) 2019-12-19 2020-12-15 程序、计算机系统以及计算机
JP2021565598A JPWO2021125189A1 (ja) 2019-12-19 2020-12-15
US17/807,079 US20220310212A1 (en) 2019-12-19 2022-06-15 Calculation method, calculator system, and calculator

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019228865 2019-12-19
JP2019-228865 2019-12-19

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/807,079 Continuation US20220310212A1 (en) 2019-12-19 2022-06-15 Calculation method, calculator system, and calculator

Publications (1)

Publication Number Publication Date
WO2021125189A1 true WO2021125189A1 (ja) 2021-06-24

Family

ID=76478727

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/046819 WO2021125189A1 (ja) 2019-12-19 2020-12-15 プログラム、計算機システム、及び計算機

Country Status (4)

Country Link
US (1) US20220310212A1 (ja)
JP (1) JPWO2021125189A1 (ja)
CN (1) CN114846479A (ja)
WO (1) WO2021125189A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018038559A1 (en) 2016-08-25 2018-03-01 Samsung Electronics Co., Ltd. Antenna device and electronic device including the same

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011018198A (ja) * 2009-07-09 2011-01-27 Hitachi Ltd 管理装置及び管理方法
JP2013004377A (ja) * 2011-06-17 2013-01-07 Sharp Corp 有機薄膜、ガスバリア膜、接着膜、表示装置、フィルム
WO2018212789A1 (en) * 2017-05-15 2018-11-22 Google Llc Operator averaging within quantum computing systems
WO2019064055A1 (en) * 2017-09-29 2019-04-04 International Business Machines Corporation WORK PROCESSING IN CLOUD ENVIRONMENTS ACTIVATED BY QUANTUM COMPUTING
JP2019520645A (ja) * 2016-06-02 2019-07-18 グーグル エルエルシー サブ論理制御を使用する量子進化のトレーニング

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011018198A (ja) * 2009-07-09 2011-01-27 Hitachi Ltd 管理装置及び管理方法
JP2013004377A (ja) * 2011-06-17 2013-01-07 Sharp Corp 有機薄膜、ガスバリア膜、接着膜、表示装置、フィルム
JP2019520645A (ja) * 2016-06-02 2019-07-18 グーグル エルエルシー サブ論理制御を使用する量子進化のトレーニング
WO2018212789A1 (en) * 2017-05-15 2018-11-22 Google Llc Operator averaging within quantum computing systems
WO2019064055A1 (en) * 2017-09-29 2019-04-04 International Business Machines Corporation WORK PROCESSING IN CLOUD ENVIRONMENTS ACTIVATED BY QUANTUM COMPUTING

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
YAMAZAKI, KIYOHITO: "Introduction of quantum computers for engineers. Featured quantum computer library this and that", INTERFACE. SPECIAL ISSUE, vol. 45, no. 3, 1 March 2019 (2019-03-01), pages 103 - 107, ISSN: 0387-9569 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018038559A1 (en) 2016-08-25 2018-03-01 Samsung Electronics Co., Ltd. Antenna device and electronic device including the same

Also Published As

Publication number Publication date
CN114846479A (zh) 2022-08-02
JPWO2021125189A1 (ja) 2021-06-24
US20220310212A1 (en) 2022-09-29

Similar Documents

Publication Publication Date Title
US11367010B2 (en) Quantum computer simulator characterization
WO2020151129A1 (zh) 量子机器学习框架构建方法、装置、量子计算机及计算机存储介质
US10068170B2 (en) Minimizing global error in an artificial neural network
JP2021106013A (ja) 超伝導回路における量子ゲートの評価方法及び装置、機器、記憶媒体、及びプログラム
US20110202329A1 (en) Scenario State Processing Systems And Methods For Operation Within A Grid Computing Environment
JP7176127B2 (ja) 量子シミュレーションアルゴリズムに基づくデータサーチ方法、装置及び機器並びにコンピュータプログラム
WO2020227825A1 (en) Methods and systems for quantum computing enabled molecular ab initio simulations
US20240070500A1 (en) Method and apparatus for simulating quantum circuit
US20210319508A1 (en) Method and device for processing transaction request in blockchain, electronic apparatus, and storage medium
CN110991648B (zh) 一种高斯分布量子态确定方法、装置以及电子设备
US20200110789A1 (en) Enhancing hybrid quantum-classical algorithms for optimization
WO2020246073A1 (en) Information processing device, pubo solver, information processing method and non-transitory storage medium
CN111598247A (zh) 量子吉布斯态生成方法、装置及电子设备
CN113379058B (zh) 量子模拟方法及装置、电子设备及存储介质
WO2021125189A1 (ja) プログラム、計算機システム、及び計算機
US20230095725A1 (en) Method of processing quantum circuit, electronic device, and storage medium
JP2022185116A (ja) 量子測定デバイスの校正方法、装置、電子デバイス及び媒体
JP7334298B2 (ja) 量子測定機器の較正方法および装置、電子機器ならびに媒体
WO2023053035A1 (en) Methods and systems for eigenstate preparation of a target hamiltonian on a quantum computer
Ballinas et al. Hybrid quantum genetic algorithm with adaptive rotation angle for the 0-1 Knapsack problem in the IBM Qiskit simulator
US20210064994A1 (en) Machine learning device and machine learning method
US20230289648A1 (en) Generating validated quantum function invocations
JP7005806B1 (ja) 価格評価システム及び価格評価方法
US20220172098A1 (en) System and method for error correction in quantum computing
US20220044141A1 (en) Quantum information processing method for computing transition amplitude, classical computer, quantum computer, and hybrid system

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20900993

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021565598

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20900993

Country of ref document: EP

Kind code of ref document: A1