Approximate quantum Fourier transform device, approximate quantum Fourier transform method, and approximate quantum Fourier transform program

By creating and preserving quantum states in quantum states, the problem of long calculation time of approximate quantum Fourier transform is solved, and the approximate QFT is performed at high speed, and the increase in the number of quantum bits has little impact on the total number of quantum bits.

CN120266134APending Publication Date: 2025-07-04MITSUBISHI ELECTRIC CORP
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202280102186.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2022-12-07
Publication Date
2025-07-04

AI Technical Summary

Technical Problem

The existing approximate quantum Fourier transform method has a long calculation time and has not been efficiently executed.

Method used

Using an approximate quantum Fourier transform device, multiple quantum states are created and saved through the quantum state preservation unit, and these states are called out and transformed in the actual calculation unit to reduce the calculation time of the phase gate.

Benefits of technology

High-speed execution of approximate quantum Fourier transform is achieved, which reduces the computing time, and the increase in the number of qubits in large-scale calculations has little impact on the total number of qubits.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120266134A_ABST
    Figure CN120266134A_ABST
Patent Text Reader

Abstract

An approximate quantum Fourier transform device (10) has functional structural elements of a quantum calculation unit (20) and a classic calculation unit (30). The quantum calculation unit (20) is provided with: an actual calculation unit (21) that performs an approximate quantum Fourier transform by converting the state of a quantum bit; and a quantum state storage unit (22) that stores the plurality of quantum states used by the actual calculation unit (21). An actual calculation unit (21) calls out and uses a quantum state required for conversion from among a plurality of quantum states stored in a quantum state storage unit (22).
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to a technique for performing an approximate quantum Fourier transform. Background Art

[0002] The quantum Fourier transform is an important operation that gives a quantum computer an advantage over a classical computer. Hereinafter, the quantum Fourier transform is referred to as QFT. QFT is used for high-speed execution of prime factorization and signal processing.

[0003] Conventionally, high-speed execution of approximate QFT has been performed by omitting operations that have only a minor effect on the calculation result (see Patent Document 1). However, in recent years, research on quantum error correction for realizing large-scale quantum computing has been conducted. As a result, it has been found that, for the quantum phase gates used in approximate QFT, a much longer calculation time is required compared to the past.

[0004] Based on this fact, in recent years, an approximate QFT based on quantum error correction has been proposed (see Non-Patent Documents 1 and 2). In Non-Patent Documents 1 and 2, the following method has been proposed: under the Clifford+T gate model that is becoming mainstream in quantum computing, the number of T gates with a large calculation cost is reduced, thereby making approximate QFT more efficient.

[0005] Prior Art Documents

[0006] Patent Documents

[0007] Patent Document 1: Japanese Unexamined Patent Application Publication No. 2008-52365

[0008] Non-Patent Documents

[0009] Non-Patent Document 1: R. Rines and I. Chuang, High Performance Quantum Modular Multipliers, eprint arXiv, 1801.01081, January 3rd, 2018.

[0010] Non-Patent Document 2: Y. Nam, Y. Su, and D. Maslov, Approximate Quantum Fourier Transform with O(n log(n)) T Gates, Npj Quantum Information, 6(26), March 13th, 2020. First online as eprint arXiv 1803.04933, March 13th, 2018. Summary of the Invention

[0011] Problems to be Solved by the Invention

[0012] In the approximate QFT proposed in Non-Patent Documents 1 and 2, each gate constituting the approximate QFT is executed one by one. Therefore, the calculation time is long and it is not efficient.

[0013] An object of the present disclosure is to be able to reduce the calculation time of the approximate QFT.

[0014] Means for Solving the Problem

[0015] The approximate quantum Fourier transform device of the present disclosure includes: an actual calculation unit that transforms the state of qubits to perform an approximate quantum Fourier transform; and a quantum state storage unit that stores a plurality of quantum states used in the actual calculation unit, and the actual calculation unit retrieves and uses the quantum states required for the transformation from the plurality of quantum states stored in the quantum state storage unit.

[0016] Advantageous Effects of the Invention

[0017] In the present disclosure, the state of qubits is transformed by retrieving and using the quantum states stored in the quantum state storage unit. Thus, the approximate QFT can be executed with reduced calculation time. BRIEF DESCRIPTION OF THE DRAWINGS

[0018] Figure 1 It is a structural diagram of the approximate quantum Fourier transform device 10 of Embodiment 1.

[0019] Figure 2 It is a flowchart showing a schematic operation of the approximate quantum Fourier transform device 10 of Embodiment 1.

[0020] Figure 3 It is a flowchart showing a detailed operation of the approximate quantum Fourier transform device 10 of Embodiment 1.

[0021] Figure 4 It is a flowchart of the preprocessing of Embodiment 1.

[0022] Figure 5 It is a flowchart of the actual calculation process of Embodiment 1.

[0023] Figure 6 It is a flowchart of the post-processing of Embodiment 1.

[0024] Figure 7 It is a structural diagram of the approximate quantum Fourier transform device 10 of Modification 1. DETAILED DESCRIPTION OF THE INVENTION

[0025] Embodiment 1

[0026] ***Description of the Structure***

[0027] Refer toFigure 1 The structure of the approximate quantum Fourier transform device 10 of Embodiment 1 will be described.

[0028] The approximate quantum Fourier transform device 10 is a computer.

[0029] The approximate quantum Fourier transform device 10 has hardware such as a processor 11, a memory 12, and a storage 13. The processor 11 is connected to other hardware via signal lines and controls these other hardware. The approximate quantum Fourier transform device 10 is connected to a display 40.

[0030] The processor 11 is an IC that performs processing. IC is an abbreviation for Integrated Circuit. As a specific example, the processor 11 is a CPU, a DSP, or a GPU. CPU is an abbreviation for Central Processing Unit. DSP is an abbreviation for Digital Signal Processor. GPU is an abbreviation for Graphics Processing Unit.

[0031] The memory 12 is a storage device that temporarily stores data. As a specific example, the memory 12 is an SRAM or a DRAM. SRAM is an abbreviation for Static Random Access Memory. DRAM is an abbreviation for Dynamic Random Access Memory.

[0032] The storage 13 is a storage device that stores data. As a specific example, the storage 13 is an HDD. HDD is an abbreviation for Hard Disk Drive. In addition, the storage 13 may also be a removable recording medium such as an SD (registered trademark) memory card, a CompactFlash (registered trademark), a NAND flash memory, a floppy disk, an optical disk, a high-density disk, a Blu-ray (registered trademark) disk, or a DVD. SD is an abbreviation for Secure Digital. DVD is an abbreviation for Digital Versatile Disk.

[0033] As functional structural elements, the approximate quantum Fourier transform device 10 has a quantum computing unit 20 and a classical computing unit 30. The quantum computing unit 20 has an actual computing unit 21 and a quantum state storage unit 22. The quantum state storage unit 22 has a T-gate generation unit 23 and a state computing unit 24. The classical computing unit 30 has a measurement unit 31 and a progress output unit 32. The functions of the respective functional structural elements of the approximate quantum Fourier transform device 10 are implemented by software.

[0034] A program for implementing the functions of the respective functional structural elements of the approximate quantum Fourier transform device 10 is stored in the memory 13. This program is read into the memory 12 by the processor 11 and executed by the processor 11. Thereby, the functions of the respective functional structural elements of the approximate quantum Fourier transform device 10 are implemented.

[0035] In Figure 1 , only one processor 11 is shown. However, there may be multiple processors 11, and the multiple processors 11 may also cooperate to execute the program for implementing each function.

[0036] ***Description of the operation***

[0037] Refer to Figures 2 to 6 The operation of the approximate quantum Fourier transform device 10 of Embodiment 1 will be described.

[0038] The operation steps of the approximate quantum Fourier transform device 10 of Embodiment 1 correspond to the approximate quantum Fourier transform method of Embodiment 1. In addition, the program for implementing the operation of the approximate quantum Fourier transform device 10 of Embodiment 1 corresponds to the approximate quantum Fourier transform program of Embodiment 1.

[0039] Refer to Figure 2 The operation outline of the approximate quantum Fourier transform device 10 of Embodiment 1 will be described.

[0040] (Step S101: Quantum state preservation process)

[0041] The quantum state preservation unit 22 pre-computes and preserves a plurality of quantum states.

[0042] Specifically, the T gate generation unit 23 generates a T gate. The state calculation unit 24 uses the T gate generated by the T gate generation unit 23 to generate the quantum states required for the phase gates used by the actual calculation unit 21.

[0043] When using the T gate, the state calculation unit 24 performs correction using the measurement result of the measurement unit 31. Specifically, first, the state calculation unit 24 applies a controlled-NOT gate that uses the qubit to which the T gate is applied as the control qubit and the qubit generated by the T gate generation unit 23 as the target qubit. Next, the state calculation unit 24 causes the measurement unit 31 to measure the qubit of the T gate generation unit 23. The state calculation unit 24 ends the process when the measurement result is 0, and applies an S gate to the qubit to which the T gate is applied when the measurement result is 1.

[0044] In addition, in subsequent processing, when the state calculation unit 24 generates or regenerates quantum states, the T gate generated by the T gate generation unit 23 is also used.

[0045] (Step S102: Initial value setting process)

[0046] The actual calculation unit 21 assigns initial values to the phase gates that can be executed.

[0047] Next, in loop 1 including steps S103 to S108, the actual calculation unit 21 performs an approximate QFT. At this time, the actual calculation unit 21 retrieves the required quantum state from among the multiple quantum states stored in the quantum state storage unit 22 and executes each phase gate. The actual calculation unit 21 uses the execution status of each phase gate to grasp the phase gates that can be executed.

[0048] In loop 1, the process is executed for the executable phase gates that are not completed until all phase gates are completed.

[0049] (Step S103: Gate execution process)

[0050] The actual calculation unit 21 executes the target phase gate. At this time, the actual calculation unit 21 retrieves the required quantum state from the quantum state storage unit 22. Then, the measurement unit 31 is made to perform a measurement on the classical bit.

[0051] At this point, the quantum state retrieved from the quantum state storage unit 22 collapses. The quantum state storage unit 22 starts to regenerate the used quantum state. In addition, in step S103, only the regeneration of the quantum state is started, and without waiting for the generation of the quantum state to be completed, the process is transferred to step S104.

[0052] (Step S104: Measurement result determination process)

[0053] The actual calculation unit 21 uses the measurement result of the measurement unit 31 to determine whether a phase gate needs to be further applied.

[0054] Specifically, the actual calculation unit 21 determines whether the measurement result is 0. If the measurement result is 0, the actual calculation unit 21 considers that the target phase gate can be applied. Then, the actual calculation unit 21 ends the application of the gate and transfers the process to step S107. On the other hand, if the measurement result is not 0, the actual calculation unit 21 considers that the application of the target phase gate is not completed. Then, the actual calculation unit 21 transfers the process to step S105 to further apply the gate.

[0055] (Step S105: Number determination process)

[0056] The actual calculation unit 21 determines whether the number of measurements in step S103 has reached the specified number. The specified number is set in advance.

[0057] When the number of measurements reaches the specified number, the actual calculation unit 21 transfers the process to step S106. On the other hand, when the number of measurements does not reach the specified number, the actual calculation unit 21 returns the process to step S103.

[0058] (Step S106: Gate application process)

[0059] The actual calculation unit 21 applies an appropriate gate and transfers the process to step S107.

[0060] (Step S107: Progress output process)

[0061] The actual calculation unit 21 outputs the completion of the calculation of the target phase gate to the progress output unit 32. The progress output unit 32 receives the output of the calculation completion and displays the completed part of the approximate QFT calculation on the display 300.

[0062] At this time, along with the completion of the calculation of the target phase gate, the actual calculation unit 21 updates the information on the phase gates that can be executed.

[0063] (Step S108: Quantum state update process)

[0064] The quantum state storage unit 22 discards the unused quantum states among the stored multiple quantum states and starts to regenerate the quantum states to be used later. Here, there is no quantum entanglement in each quantum state stored in the quantum state storage unit 22. Therefore, after the measurement unit 31 makes a measurement, the quantum state storage unit 22 returns to the initial state. Then, it starts to regenerate the quantum states.

[0065] In addition, in step S108, similar to step S103, only the regeneration of the quantum states is started, and without waiting for the completion of the generation of the quantum states, the process is transferred to step S104.

[0066] Next, matters that are the premise of the operation of the approximate quantum Fourier transform device 10 according to Embodiment 1 will be described.

[0067] In the following description, let the number of qubits of the quantum state transformed by the approximate QFT be n, and let the qubit numbers be 1, 2,..., n.

[0068] In the following description, regarding the approximation accuracy ε of the approximate QFT, it is assumed that ε ~ n -a (a is a certain constant). However, for a higher approximation accuracy, the same can also be applied. The ordinary QFT without approximation is performed in the case of ε = 2 -n and does not require a higher approximation accuracy. Therefore, the maximum accuracy of the approximation accuracy is ε = 2 -n .

[0069] In the following description, a value such as log(1 / ε) is used. This is originally Mathematical Expression 11, which means the smallest integer greater than or equal to log(1 / ε), but for simplicity, it is described as log(1 / ε).

[0070]

Mathematical Expression 11

[0071]

[0072] In the following description, for the natural number j, let R j The gate is as shown in Mathematical Expression 12. Here, R j The inverse matrix of the gate is R j -1 The gate is as shown in Mathematical Expression 13. Here, the phase gate means the set of gates represented by the product of the R j gate and the R j -1 gate.

[0073]

Mathematical Expression 12

[0074]

[0075]

Mathematical Expression 13

[0076]

[0077] The quantum state stored in the quantum state storage unit 22 will be described.

[0078] Regarding the quantum state stored in the quantum state storage unit 22, there are three types of quantum states for each qubit: (1) a preprocessing state, (2) an actual calculation state, and (3) a postprocessing state. These quantum states are used in the order of (1) to (3).

[0079] Specifically, each qubit sequentially transitions into two states: (a) a state in which it is processed as a target qubit for a control operation and (b) a state in which it is processed as a control qubit for a control operation. These two states are separated by the H gate (Hadamard gate) shown in Mathematical Expression 14.

[0080]

Mathematical Expression 14

[0081]

[0082] At this time, the quantum states of (1) to (3) are used in the following situations. First, the (1) preprocessing state is used to correct the phase shift at the end of the processing of the operation state (a). The (2) actual calculation state is used in the processing of the operation state (b). The (3) postprocessing state is used to correct the phase shift at the end of the processing of the operation state (b).

[0083] Specifically, the quantum state stored in the quantum state storage unit 22 is as follows.

[0084] Regarding (1) the preprocessing state

[0085] When the qubit number j satisfies 2 ≤ j ≤ log(1 / ε), the quantum state storage unit 22 stores the quantum state corresponding to the R2R j+1 -1 gate, and in other cases, it stores the quantum state corresponding to the R2R log(1 / ε)+1 -1 gate. Here, in the R2R j -1 gate, j - 2 quantum states shown in Mathematical Formula 15 are stored.

[0086]

Mathematical Formula 15

[0087]

[0088] Regarding (2) the actual calculation state

[0089] When the qubit number j satisfies 1 ≤ j ≤ n - log(1 / ε) + 1, the quantum state storage unit 22 stores the quantum state corresponding to the R3 -1 , R4 -1 , …, R log(1 / ε)+1 -1 gate, and in other cases, it stores the quantum state corresponding to the R3 -1 , R4 -1 , …, R n-j+2 -1 gate. Here, in the R j -1 gate, j - 2 quantum states shown in Mathematical Formula 16 are stored.

[0090]

Mathematical Formula 16

[0091] |0> + exp(-2πi / 2 3 )|1>, |0> + exp(-2πi / 2 4 )|1>, …, |0>

[0092] + exp(-2πi / 2 j )|1>

[0093] Regarding (3) the post - processing state

[0094] When the qubit number j satisfies 1 ≤ j ≤ n - log(1 / ε) + 1, the quantum state storage unit 22 stores the quantum state corresponding to the R2R log(1 / ε)+1 -1The quantum state corresponding to the gate, and in other cases, save the R2R n-j+2 -1 The quantum state corresponding to the gate.

[0095] The quantum state storage unit 22 does not store all the quantum states related to the above (1) to (3). The quantum state storage unit 22 only stores a part of the quantum states and can be executed immediately. Moreover, by regenerating the quantum states that have collapsed and been used in the actual calculation part 110, the number of qubits to be used is reduced.

[0096] Here, when the calculation time required to generate the T gate is set to dT steps, the time taken to regenerate the quantum state is approximately 3d T log(1 / ε) steps. Here, "step" is the total time of the execution time of one controlled-NOT gate and the execution time of one quantum state measurement or a calculation time equivalent thereto. Therefore, the phase gate that should be able to be executed immediately is 3d T The amount required for log(1 / ε) steps is sufficient.

[0097] Regarding the quantum states of (1) to (3), an outline of the actually stored number of quantum states will be described. For the specific utilization schedule, refer to Figure 3 It will be described later. In addition, hereinafter, when the number of quantum states is written as "about 〇", "about" means extracting the main terms while ignoring sufficiently small terms.

[0098] Regarding (1) the preprocessing state

[0099] One R2R j -1 The consumption interval of one gate is at least 2 steps. Thus, the number of R2R j -1 gates used in one step can be regarded as at most 1 / 2. Therefore, if 3 / 2d T log(1 / ε) times of R2R j -1 the quantum states used in the gates are stored, the preprocessing state can be executed immediately. That is, the number of quantum states to be prepared is approximately 3 / 2d T (log(1 / ε)) 2 pieces.

[0100] Regarding (2) the actual calculation state

[0101] One R each j -1 The consumption interval of one gate is at least 2 steps. Thus, the number of R j -1 gates used in one step can be regarded as at most 1 / 2. Here, when R3 prepared in the actual calculation state-1 , R4 -1 , …, R log(1 / ε)+1 -1 When all the quantum state numbers required for the gates are added together, it is approximately 1 / 2(log(1 / ε)) 2 ones. Therefore, the maximum number of quantum states used in one step is 1 / 4(log(1 / ε)) 2 ones. Therefore, the number of quantum states that should be prepared is approximately 3 / 4d T (log(1 / ε)) 3 ones.

[0102] Regarding (3) the post-processing state

[0103] Similar to the pre-processing state, the consumption interval of one R2R j -1 gate is at least two steps. Thus, the number of R2R j -1 gates used in one step can be regarded as at most 1 / 2. Therefore, if 3 / 2d T log(1 / ε) times of R2R j -1 gates' utilized quantum states are saved, the post-processing state can be executed immediately. That is, the number of quantum states that should be prepared is approximately 3 / 2d T (log(1 / ε)) 2 ones.

[0104] As described above, regarding the number of quantum states that should be prepared, the quantum state number of (2) the actual calculation state becomes the main term. That is, the number of quantum states that should be prepared is approximately 3 / 4d T (log(1 / ε)) 3 ones.

[0105] Refer to Figure 3 for a detailed description of the detailed operation of the approximate quantum Fourier transform device 10 of Embodiment 1.

[0106] In Figure 3 's flowchart and its description, regarding the application of gates, a notation representing the application number is introduced. First, when applying a gate to [j], a one-qubit quantum gate is applied to the qubit numbered j. In addition, when applying a controlled-NOT gate to [j, k], a controlled-NOT gate with the qubit numbered j as the control qubit and the qubit numbered k as the target qubit is applied. In addition, regarding Figure 3 's flowchart and the [j, k] that appears in its description, when j or k is not within the range of qubit numbers, that is, 1 or more and n or less, the [j, k] is regarded as the processing completed. Furthermore, for the element [j, k] where j ≥ k holds, it is also regarded as the processing completed.

[0107] The process of step S201 corresponds to Figure 2 the process of step S101. The processes of step S202 and step S203 correspond to Figure 2 the process of step S102. The processes after step S204 correspond to Figure 2 the process of loop 1 of

[0108] (Step S201: Quantum state saving process)

[0109] The quantum state saving unit 22 pre-computes and saves a plurality of quantum states in advance.

[0110] Regarding (1) the preprocessing state, the quantum state saving unit 22 saves the quantum states corresponding to the gates required for the qubits with qubit numbers j where 2 ≤ j ≤ min(n, 3 / 2d T log(1 / ε) + 1). Specifically, the quantum state saving unit 22 saves the quantum states required for the R2R min(j+1,log(1 / ε)+1) -1 gates used in each qubit j.

[0111] Regarding (2) the actual calculation state, the quantum state saving unit 22 uses R3 -1 , R4 -1 , … R log(1 / ε)+1 -1 a group of gates, that is, 3 / 2d T log(1 / ε) groups, to save all the quantum states that should be prepared.

[0112] Regarding (3) the post-processing state, the quantum state saving unit 22 saves the quantum states corresponding to the gates required for the qubits with qubit numbers j where 1 ≤ j ≤ min(n, 3 / 2d T log(1 / ε)). Specifically, the quantum state saving unit 22 saves the quantum states required for the R2R min(n-j+2,log(1 / ε)+1) -1 gates used in each qubit j.

[0113] In addition, the state calculation unit 24 uses the T gates generated by the T gate generation unit 23 to generate the above-mentioned quantum states.

[0114] (Step S202: Initial value setting process)

[0115] The actual calculation unit 21 assigns initial values to the phase gates that can be executed. Here, as the initial values of the phase gates, the actual calculation unit 21 assigns [1, 2] to the set S of suffixes.

[0116] (Step S203: First preprocessing)

[0117] The actual calculation unit 21 performs preprocessing using the (1) preprocessing state for the qubit numbered 1. For the specific processing, refer to Figure 4 which will be described later.

[0118] Next, the actual calculation unit 21 executes the approximate QFT. The actual calculation unit 21 repeats the execution of loop 2 (the processing from step S204 to step S214) for each element s in the set S.

[0119] In addition, the operations related to each element s can be executed in parallel. In particular, here, it is assumed that all the elements s in the set S that are in an executable state are executed in parallel. That is, the actual calculation unit 21 sets each element s in an executable state as the target element s, and for all the target elements s, the processing from step S204 to step S214 is repeated in parallel.

[0120] (Step S204: Element setting process)

[0121] The actual calculation unit 21 sets the first component of the target element s to j and the second component to k.

[0122] (Step S205: Standby determination process)

[0123] The actual calculation unit 21 determines whether any of the processing for the elements [j - 1, k] and [j, k - 1] has been completed. If any of the processing has been completed, the actual calculation unit 21 transfers the processing to step S206. On the other hand, if at least any of the processing is not completed, the actual calculation unit 21 returns the processing to the beginning of loop 2.

[0124] (Step S206: First controlled-NOT gate application process)

[0125] The actual calculation unit 21 applies a controlled-NOT gate with the qubit numbered j as the control qubit and the qubit numbered k as the target qubit.

[0126] (Step S207: Actual calculation process)

[0127] The actual calculation unit 21 applies the phase gate R to the qubit numbered k using the (2) actual calculation state k-j+2 -1 . For the specific processing, refer to Figure 5 which will be described later.

[0128] (Step S208: Second controlled-NOT gate application process)

[0129] The actual calculation unit 21 applies a controlled-NOT gate with the qubit numbered j as the control qubit and the qubit numbered k as the target qubit.

[0130] Next, the actual calculation unit 21 sets the element [j, k] as processed. Specifically, the actual calculation unit 21 outputs the completion of the calculation of the element [j, k] to the progress output unit 32. The progress output unit 32 receives the output of the calculation completion and displays the completed part of the approximate QFT calculation on the display 300.

[0131] (Step S209: k Completion Judgment Process)

[0132] The actual calculation unit 21 determines whether the qubit numbered k has been used as a target qubit and completed. Specifically, when k - j = 1, the actual calculation unit 21 determines that the qubit numbered k has been used as a target qubit and completed. On the other hand, when k - j ≠ 1, the actual calculation unit 21 determines that the qubit numbered k has not been used as a target qubit and completed.

[0133] When the qubit numbered k has been used as a target qubit and completed, the actual calculation unit 21 transfers the process to step S210. On the other hand, when the qubit numbered k has not been used as a target qubit and completed, the actual calculation unit 21 transfers the process to step S211.

[0134] (Step S210: Second Preprocessing)

[0135] The actual calculation unit 21 performs preprocessing using the (1) preprocessing state on the qubit numbered k. The specific process is referred to in the same way as the process in step S203 Figure 4 It will be described later.

[0136] (Step S211: First Element Appending Process)

[0137] The actual calculation unit 21 appends the element [j + 1, k] to the set S.

[0138] (Step S212: j Completion Judgment Process)

[0139] The actual calculation unit 21 determines whether the condition that the operation using the qubit numbered j as a control qubit has been completed and the post - processing has not been completed is satisfied. When k - j = log(1 / ε) - 1 or k = n, for the qubit numbered j, the operation using the qubit as a control qubit has been completed.

[0140] When the condition is satisfied, the actual calculation unit 21 transfers the process to step S213. On the other hand, when the condition is not satisfied, the actual calculation unit 21 transfers the process to step S214.

[0141] (Step S213: Post - processing)

[0142] The actual calculation unit 21 performs post-processing on the qubit with number j using the post-processing state of (3). For specific processing, refer to Figure 6 which will be described later.

[0143] (Step S214: Second element addition process)

[0144] The actual calculation unit 21 adds the element [j, k + 1] to the set S.

[0145] (Step S215: All elements completion determination process)

[0146] The actual calculation unit 21 determines whether all elements of the set S have been processed.

[0147] If all elements have been processed, the actual calculation unit 21 ends the process. On the other hand, if there are remaining elements to be processed, the actual calculation unit 21 returns the process to the start of the second loop.

[0148] Refer to Figure 4 The preprocessing of Embodiment 1 ( Figure 3 steps S203 and S210) will be described.

[0149] In Figure 4 the flowchart and its description, it is assumed that the external determination parameters j and ε are determined. In particular, the parameter j represents the number of the qubit for which preprocessing is performed, and is independent of the suffix j in the previous description. In addition, the internal variable k is also independent of the previous description.

[0150] (Step S301: First j determination process)

[0151] The actual calculation unit 21 determines whether the parameter j = 1.

[0152] If the parameter j = 1, the actual calculation unit 21 transfers the process to step S311. On the other hand, if the parameter j ≠ 1, the actual calculation unit 21 transfers the process to step S302.

[0153] (Step S302: k initialization process)

[0154] The actual calculation unit 21 sets the initial value 0 for the parameter k. The parameter k represents the cumulative value of the measurement times.

[0155] (Step S303: Gate application process)

[0156] The actual calculation unit 21 retrieves the (1) preprocessing state stored in the quantum state storage unit 22 corresponding to the value of the parameter k. Specifically, the actual calculation unit 21 retrieves the (1) preprocessing state shown in Mathematical Formula 17.

[0157]

Mathematical Formula 17

[0158]

[0159] Then, the actual calculation unit 21 applies a controlled-NOT gate with the qubit numbered j as the control qubit and the retrieved quantum state (preprocessing state) as the target qubit.

[0160] (Step S304: Measurement count accumulation process)

[0161] The actual calculation unit 21 increments the parameter k by 1.

[0162] (Step S305: Measurement process)

[0163] The actual calculation unit 21 causes the measurement unit 31 to measure the quantum state retrieved in step S303.

[0164] (Step S306: Second j determination process)

[0165] The actual calculation unit 21 determines whether the parameter j ≥ log(1 / ε).

[0166] If the parameter j ≥ log(1 / ε), the actual calculation unit 21 transfers the process to step S307. On the other hand, if the parameter j ≥ log(1 / ε) is not satisfied, the actual calculation unit 21 transfers the process to step S308.

[0167] (Step S307: Quantum state regeneration process)

[0168] The quantum state storage unit 22 starts to regenerate the quantum state retrieved and utilized in step S303. In step S307, only the regeneration of the quantum state is started, and without waiting for the completion of the generation of the quantum state, the process is transferred to step S308.

[0169] (Step S308: Measurement result determination process)

[0170] The actual calculation unit 21 determines whether the result measured in step S305 is 0.

[0171] If the measurement result is 0, the actual calculation unit 21 transfers the process to step S311. On the other hand, if the measurement result is not 0, the actual calculation unit 21 transfers the process to step S309.

[0172] (Step S309: Measurement count determination process)

[0173] The actual calculation unit 21 determines whether the measurement count has reached the reference count. The reference count is min(j - 1, log(1 / ε) - 1).

[0174] When the number of measurements reaches the reference number, the actual calculation unit 21 transfers the process to step S310. On the other hand, when the number of measurements does not reach the reference number, the actual calculation unit 21 returns the process to step S303.

[0175] (Step S310: R2 -1 gate application process)

[0176] The actual calculation unit 21 applies the R2 -1 gate shown in Mathematical Formula 18.

[0177]

Mathematical Formula 18

[0178]

[0179] (Step S311: H gate application process)

[0180] The actual calculation unit 21 applies the H gate (Hadamard gate).

[0181] (Step S312: progress output process)

[0182] The actual calculation unit 21 outputs the completion of the calculation of the phase gate to the progress output unit 32. The progress output unit 32 receives the output of the calculation completion and displays the calculation completion part of the approximate QFT on the display 300.

[0183] (Step S313: 3j determination process)

[0184] The actual calculation unit 21 determines whether the parameter j ≥ log(1 / ε).

[0185] When the parameter j ≥ log(1 / ε), the actual calculation unit 21 ends the process. On the other hand, when it is not the case that the parameter j ≥ log(1 / ε), the actual calculation unit 21 transfers the process to step S314.

[0186] (Step S314: quantum state update process)

[0187] The quantum state storage unit 22 discards the quantum state for the R2R j+1 -1 gate. In addition, the quantum state storage unit 22 starts to generate a set of quantum states for the R2R log(1 / ε)+1 -1 gate. In step S314, only the regeneration of the quantum state is started, without waiting for the completion of the generation of the quantum state, and the process transfers to the end state.

[0188] Refer to Figure 5 for the actual calculation process of Embodiment 1 ( Figure 3 step S207) for description.

[0189] InFigure 5 In the flowchart and its description of, R is shown j -1 The execution method of the gate. The suffix j has nothing to do with the j that appeared in the previous description. In addition, the internal variable k also has nothing to do with the previous description.

[0190] (Step S401: k initialization process)

[0191] The actual calculation unit 21 sets the initial value 0 for the parameter k. The parameter k represents the cumulative value of the measurement times.

[0192] (Step S402: Gate application process)

[0193] The actual calculation unit 21 retrieves the (2) actual calculation state corresponding to the value of the parameter k and stored in the quantum state storage unit 22. Specifically, the actual calculation unit 21 retrieves the (2) actual calculation state shown in Mathematical Formula 19.

[0194]

Mathematical Formula 19

[0195]

[0196] Then, the actual calculation unit 21 applies the controlled-NOT gate with the qubit numbered j as the control qubit and the retrieved quantum state (actual calculation state) as the target qubit.

[0197] (Step S403: Measurement times accumulation process)

[0198] The actual calculation unit 21 adds 1 to the parameter k.

[0199] (Step S404: Measurement process)

[0200] The actual calculation unit 21 causes the measurement unit 31 to measure the quantum state retrieved in Step S402.

[0201] (Step S405: Quantum state regeneration process)

[0202] The quantum state storage unit 22 starts to regenerate the quantum state retrieved and utilized in Step S402. In Step S405, only the regeneration of the quantum state is started, and without waiting for the completion of the generation of the quantum state, the process is transferred to Step S406.

[0203] (Step S406: Measurement result determination process)

[0204] The actual calculation unit 21 determines whether the result measured in Step S404 is 0.

[0205] When the measurement result is 0, the actual calculation unit 21 transfers the process to step S409. On the other hand, when the measurement result is not 0, the actual calculation unit 21 transfers the process to step S407.

[0206] (Step S407: Measurement times determination process)

[0207] The actual calculation unit 21 determines whether the number of measurements has reached the reference number of times. The reference number of times is j - 2.

[0208] When the number of measurements has reached the reference number of times, the actual calculation unit 21 transfers the process to step S408. On the other hand, when the number of measurements has not reached the reference number of times, the actual calculation unit 21 returns the process to step S402.

[0209] (Step S408: R2 -1 gate application process)

[0210] The actual calculation unit 21 applies the R2 -1 gate shown in Mathematical Formula 20.

[0211]

Mathematical Formula 20

[0212]

[0213] (Step S409: Progress output process)

[0214] The actual calculation unit 21 outputs the completion of the calculation of the phase gate to the progress output unit 32. The progress output unit 32 receives the output of the completion of the calculation and displays the completed part of the approximate QFT calculation on the display 300.

[0215] Refer to Figure 6 the post-processing of Embodiment 1 ( Figure 3 step S213) for description.

[0216] In Figure 6 the flowchart and its description, it is assumed that the external determination parameters j and ε are set. In particular, the parameter j represents the number of the qubit for which post-processing is performed and is independent of the suffix j in the previous description. In addition, the internal variable k is also independent of the previous description.

[0217] (Step S501: k initialization process)

[0218] The actual calculation unit 21 sets the initial value 0 for the parameter k. The parameter k represents the cumulative value of the number of measurements.

[0219] (Step S502: Gate application process)

[0220] The actual calculation unit 21 retrieves the (3) post-processing state corresponding to the value of the parameter k and stored in the quantum state storage unit 22. Specifically, the actual calculation unit 21 retrieves the (3) post-processing state shown in Mathematical Formula 21.

[0221]

Mathematical Formula 21

[0222]

[0223] Then, the actual calculation unit 21 applies a controlled-NOT gate with the qubit numbered j as the control qubit and the retrieved quantum state (post-processing state) as the target qubit.

[0224] (Step S503: Measurement count accumulation process)

[0225] The actual calculation unit 21 increments the parameter k by 1.

[0226] (Step S504: Measurement process)

[0227] The actual calculation unit 21 causes the measurement unit 31 to measure the quantum state retrieved in Step S502.

[0228] (Step S505: First j determination process)

[0229] The actual calculation unit 21 determines whether the parameter j ≤ n - (3d T +1)log(1 / ε)+1.

[0230] If the parameter j ≤ n - (3d T +1)log(1 / ε)+1, the actual calculation unit 21 transfers the process to Step S506. On the other hand, if it is not the case that the parameter j ≤ n - (3d T +1)log(1 / ε)+1, the actual calculation unit 21 transfers the process to Step S507.

[0231] (Step S506: Quantum state regeneration process)

[0232] The quantum state storage unit 22 starts to regenerate the quantum state retrieved and utilized in Step S502. In Step S502, only the regeneration of the quantum state is started, without waiting for the completion of the generation of the quantum state, and the process is transferred to Step S507.

[0233] (Step S507: Measurement result determination process)

[0234] The actual calculation unit 21 determines whether the result measured in Step S504 is 0.

[0235] When the measurement result is 0, the actual calculation unit 21 transfers the process to step S510. On the other hand, when the measurement result is not 0, the actual calculation unit 21 transfers the process to step S508.

[0236] (Step S508: Measurement times determination process)

[0237] The actual calculation unit 21 determines whether the number of measurements has reached the reference number of times. The reference number of times is min(n - j, log(1 / ε) - 1).

[0238] When the number of measurements reaches the reference number of times, the actual calculation unit 21 transfers the process to step S509. On the other hand, when the number of measurements has not reached the reference number of times, the actual calculation unit 21 returns the process to step S502.

[0239] (Step S509: R2 -1 gate application process)

[0240] The actual calculation unit 21 applies the R2 -1 gate shown in Mathematical Formula 22.

[0241]

Mathematical Formula 22

[0242]

[0243] (Step S510: Progress output process)

[0244] The actual calculation unit 21 outputs the completion of the calculation of the phase gate to the progress output unit 32. The progress output unit 32 receives the output of the calculation completion and displays the completed part of the approximate QFT calculation on the display 300.

[0245] (Step S511: Second j determination process)

[0246] The actual calculation unit 21 determines whether the parameter j satisfies n - (3d T + 1)log(1 / ε) + 1 < j ≤ n - 3d T log(1 / ε) - 1.

[0247] When it is satisfied, the actual calculation unit 21 transfers the process to step S512. On the other hand, when it is not satisfied, the actual calculation unit 21 ends the process.

[0248] (Step S512: Quantum state update process)

[0249] The quantum state storage unit 22 discards the quantum state for the R2R log(1 / ε)+1 -1 gate. In addition, the quantum state storage unit 22 starts to generate the R2R n-3dTlog(1 / ε)+2-j -1Quantum state for the gate. Here, dT represents d T In step S512, only the regeneration of the quantum state is started, without waiting for the completion of the generation of the quantum state, and the process transfers to the end state.

[0250] ***Effect of Embodiment 1***

[0251] As described above, the quantum state storage unit 22 of the approximate quantum Fourier transform device 10 according to Embodiment 1 generates and stores in advance the quantum state related to the phase gate that can be instantaneously executed. Then, the actual calculation unit 21 applies the phase gate using the quantum state stored in the quantum state storage unit 22.

[0252] Thus, the phase gate that conventionally required about 3log(1 / ε) steps of gate execution can be executed with an expected value of 2 steps of the gate. Therefore, the approximate QFT performed by the approximate quantum Fourier transform device 10 according to Embodiment 1 is different from the conventional one, and each phase gate can be executed with a calculation time independent of the approximation accuracy. Therefore, compared with the prior art, the approximate quantum Fourier transform device 10 can perform approximate QFT at extremely high speed.

[0253] In addition, in the approximate quantum Fourier transform device 10 according to Embodiment 1, in addition to the n qubits used in the approximate QFT, approximately (3 / 4)d T (log(1 / ε)) 3 qubits are additionally used. Here, in the above description, regarding the approximation accuracy ε of the approximate QFT, it is assumed that ε ~ n -a (a is a certain constant), however, under this condition, the additional number of qubits is approximately ((3a 3 ) / 4)d T (logn) 3 qubits. Here, in large-scale calculations where n is extremely large, ((3a 3 ) / 4)d T (logn) 3 << n. Therefore, in the approximate QFT implemented by the approximate quantum Fourier transform device 10, the number of qubits of the actual calculation unit 21 becomes the main term of the number of qubits. Therefore, the qubits of the quantum state storage unit 22 do not have a great impact on the number of qubits required for the approximate quantum Fourier transform device 10.

[0254] ***Other Structures***

[0255] <Modification 1>

[0256] In Embodiment 1, each functional structural element is implemented by software. However, as Variant 1, each functional structural element may also be implemented by hardware. Regarding this Variant 1, the differences from Embodiment 1 will be described.

[0257] Refer to Figure 7 The structure of the approximate quantum Fourier transform device 10 of Variant 1 will be described.

[0258] When each functional structural element is implemented by hardware, the approximate quantum Fourier transform device 10 has an electronic circuit 14 instead of the processor 11, the memory 12, and the storage 13. The electronic circuit 14 is a dedicated circuit that implements the functions of each functional structural element, the memory 12, and the storage 13.

[0259] As the electronic circuit 14, a single circuit, a composite circuit, a programmed processor, a parallel-programmed processor, a logic IC, a GA, an ASIC, or an FPGA is assumed. GA is an abbreviation for Gate Array. ASIC is an abbreviation for Application-Specific Integrated Circuit. FPGA is an abbreviation for Field-Programmable Gate Array.

[0260] Each functional structural element can be implemented by one electronic circuit 14, or multiple electronic circuits 14 can be distributed to implement each functional structural element.

[0261] <Variant 2>

[0262] As Variant 2, it may also be that some of the functional structural elements are implemented by hardware and the other functional structural elements are implemented by software.

[0263] The processor 11, the memory 12, the storage 13, and the electronic circuit 14 are referred to as a processing circuit. That is, the functions of each functional structural element are implemented by the processing circuit.

[0264] In addition, the "section" in the above description can also be rewritten as "circuit", "process", "step", "processing", or "processing circuit".

[0265] The embodiments and variants of the present disclosure have been described above. Several of these embodiments and variants can be implemented in combination. In addition, any one or several of the embodiments and variants can be partially implemented. Further, the present disclosure is not limited to the above embodiments and variants and can be variously changed as needed.

[0266] Reference numeral description

[0267] 10: Approximate Quantum Fourier Transform Device; 11: Processor; 12: Memory; 13: Storage; 14: Electronic Circuit; 20: Quantum Computing Unit; 21: Actual Computing Unit; 22: Quantum State Preservation Unit; 23: T-Gate Generation Unit; 24: State Calculation Unit; 30: Classical Computing Unit; 31: Measurement Unit; 32: Progress Output Unit; 40: Display.

Claims

1. An approximate quantum Fourier transform device, the approximate quantum Fourier transform device having: An actual calculation unit that transforms the state of qubits, thereby performing an approximate quantum Fourier transform; and A quantum state storage unit that stores a plurality of quantum states used in the actual calculation unit, The actual calculation unit retrieves and uses the quantum states required for the transformation from the plurality of quantum states stored in the quantum state storage unit.

2. The approximate quantum Fourier transform device according to claim 1, wherein The actual calculation unit sequentially changes the qubits into an operation state a that is processed as a target qubit for a control operation and an operation state b that is processed as a control qubit for a control operation, The quantum state storage unit stores, for qubits that can be immediately executed, a preprocessing state used to correct a phase shift at the end of the process of correcting the operation state a, an actual calculation state used in the process of the operation state b, and a postprocessing state used when correcting a phase shift at the end of the process of correcting the operation state b.

3. The approximate quantum Fourier transform device according to claim 1 or 2, wherein The actual calculation unit applies a phase gate, a Hadamard gate, and a controlled-NOT gate to the qubits, and when applying the phase gate, retrieves and uses the quantum states stored in the quantum state storage unit.

4. The approximate quantum Fourier transform device according to any one of claims 1 to 3, wherein The quantum state storage unit discards the quantum states related to qubits that do not need to be immediately executed according to the operation of the actual calculation unit, and generates and stores the quantum states related to qubits that need to be immediately executed.

5. The approximate quantum Fourier transform device according to any one of claims 1 to 4, wherein The quantum state storage unit regenerates and stores the quantum states related to qubits that still need to be immediately executed and have collapsed due to the operation of the actual calculation unit.

6. The approximate quantum Fourier transform device according to any one of claims 1 to 5, wherein When the process of transforming the state of the qubits progresses to enable the process of transforming the state related to new qubits to be executed, the actual calculation unit starts the process of transforming the state related to the new qubits.

7. The approximate quantum Fourier transform device according to claim 2, wherein Assuming that the total execution time of one control NOT gate and one quantum state measurement is 1 step, the time taken to generate a T gate is d T , when the approximate accuracy is ε, the quantum bit that can be executed instantly is 3d T The number of qubits required for a log(1 / ε) step size.

8. An approximate quantum Fourier transform method, wherein The actual calculation unit in the approximate quantum Fourier transform device transforms the state of qubits, thereby performing an approximate quantum Fourier transform, The quantum state storage unit in the approximate quantum Fourier transform device stores a plurality of quantum states used in the actual calculation unit, The actual calculation unit retrieves and uses the quantum states required for the transformation from the plurality of quantum states stored in the quantum state storage unit.

9. An approximate quantum Fourier transform program that enables a computer to function as an approximate quantum Fourier transform device, and the approximate quantum Fourier transform device performs the following processes: Actual calculation process, which transforms the state of qubits to perform an approximate quantum Fourier transform; and Quantum state preservation process, which preserves a plurality of quantum states used in the actual calculation process, In the actual calculation process, the quantum states required for transformation are retrieved and utilized from the plurality of quantum states preserved in the quantum state preservation process.

Citation Information

Patent Citations

  • Quantum circuit for carrying out approximate quantum fourier transformation, approximate quantum fourier transformation operation method and device

    JP2008052365A