JP7101355B2 - Judgment device, calculation device, and learning system - Google Patents

Judgment device, calculation device, and learning system Download PDF

Info

Publication number
JP7101355B2
JP7101355B2 JP2019047931A JP2019047931A JP7101355B2 JP 7101355 B2 JP7101355 B2 JP 7101355B2 JP 2019047931 A JP2019047931 A JP 2019047931A JP 2019047931 A JP2019047931 A JP 2019047931A JP 7101355 B2 JP7101355 B2 JP 7101355B2
Authority
JP
Japan
Prior art keywords
unit
quantum state
quantum
vector
matrix
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2019047931A
Other languages
Japanese (ja)
Other versions
JP2020149523A (en
Inventor
泰人 河野
浩 関川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tokyo University of Science
Nippon Telegraph and Telephone Corp
Original Assignee
Tokyo University of Science
Nippon Telegraph and Telephone Corp
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 Tokyo University of Science, Nippon Telegraph and Telephone Corp filed Critical Tokyo University of Science
Priority to JP2019047931A priority Critical patent/JP7101355B2/en
Publication of JP2020149523A publication Critical patent/JP2020149523A/en
Application granted granted Critical
Publication of JP7101355B2 publication Critical patent/JP7101355B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Complex Calculations (AREA)

Description

特許法第30条第2項適用 (1) 発行日 2018年11月26日 刊行物 一般社団法人電子情報通信学会 量子情報技術特別研究専門委員会(共催:応用物理学会 量子エレクトロニクス研究会)第39回 量子情報技術研究会資料 100~101頁Application of Article 30, Paragraph 2 of the Patent Act (1) Date of issue November 26, 2018 Publications The Institute of Electronics, Information and Communication Engineers Quantum Information Technology Special Research Committee (co-sponsored by the Japan Society of Applied Physics Quantum Electronics Research Group) 39th Materials of the Japan Society of Applied Physics Information Technology, pp. 100-101

本発明は量子コンピュータにより演算を行う量子計算技術に関する。 The present invention relates to a quantum calculation technique in which a calculation is performed by a quantum computer.

量子コンピュータは、一部の応用分野において、現在のコンピュータをはるかに凌駕する計算能力を有するとして期待されている。有名な量子アルゴリズムの一つが、1994年、Shorにより発表された因数分解と離散対数問題を効率的に解く量子アルゴリズムである。この発表が契機となり、量子コンピュータの計算能力を引き出すさまざまな量子アルゴリズムが研究されてきた。特に、古典コンピュータでは効率的に解けない、組み合わせ最適化問題を高速に解く量子アルゴリズムの研究が盛んである。また、最近では、近年の人工知能ブームに後押しされ、量子コンピュータを用いた機械学習(量子機械学習)の研究が注目されている。非特許文献1は、量子機械学習に関する最新の研究成果をレビューした論文である。 Quantum computers are expected to have computational power far surpassing current computers in some application areas. One of the famous quantum algorithms is the quantum algorithm published by Shor in 1994, which efficiently solves factorization and discrete logarithm problems. With this announcement as an opportunity, various quantum algorithms that draw out the computing power of quantum computers have been studied. In particular, research on quantum algorithms that solve combinatorial optimization problems at high speed, which cannot be solved efficiently by classical computers, is active. Recently, with the support of the recent boom in artificial intelligence, research on machine learning using quantum computers (quantum machine learning) has been attracting attention. Non-Patent Document 1 is a paper reviewing the latest research results on quantum machine learning.

非特許文献1のBox 1 Tableには、量子機械学習と古典機械学習との比較がまとめられている。中には、線形サポートベクトルマシンの学習のような、量子コンピュータを用いて効率的に学習できることが示された機械学習システムもある。これらのシステムへの応用で中心的な役割を果たすのは、HHL(Harrow-Hassidim-Lloyd)アルゴリズムと呼ばれる量子アルゴリズムである。
HHLアルゴリズムは、Shorのアルゴリズムでも用いられる位相推定アルゴリズムが基礎となっており、線形システムの効率的な学習を可能にする。しかし、産業上の応用範囲が広く、高速アルゴリズムの開発が社会に与える影響が大きい深層ニューラルネットワークのようなシステムは、一般に非線形であり、HHLアルゴリズムを用いて効率的に学習することができない。
Box 1 Table of Non-Patent Document 1 summarizes the comparison between quantum machine learning and classical machine learning. Some machine learning systems have been shown to be able to learn efficiently using quantum computers, such as learning linear support vector machines. A quantum algorithm called the HHL (Harrow-Hassidim-Lloyd) algorithm plays a central role in the application to these systems.
The HHL algorithm is based on the phase estimation algorithm, which is also used in Shor's algorithm, and enables efficient learning of linear systems. However, systems such as deep neural networks, which have a wide range of industrial applications and the development of high-speed algorithms has a large impact on society, are generally non-linear and cannot be efficiently learned using the HHL algorithm.

非特許文献1では、量子コンピュータの非線形システムの学習への応用として、古典ボルツマンマシンや量子ボルツマンマシンの学習が紹介されている。古典ボルツマンマシンの量子コンピュータによる学習は限定的な操作だけで実現できるため、すでに商用化されている量子アニーリングマシン(quantum annealers)を用いて実験が行われている。また、量子ボルツマンマシンの学習は、ハードウェアを用いた実験はまだ準備段階だが、学習にかかる計算量およびデータサンプル数が√Nとなることが理論的に証明されている。しかし、ボルツマンマシンは確率リカレントニューラルネットワーク(stochastic recurrent neural network)の一種であり、ニューラルネットワークとしては特殊なシステムである。上記の量子学習アルゴリズムを、深層ニューラルネットワークとして一般的に使用されている順伝播型ニューラルネットワーク(feed-forword neural network)の学習に適用することはできない。 Non-Patent Document 1 introduces learning of a classical Boltzmann machine and a quantum Boltzmann machine as an application to learning a nonlinear system of a quantum computer. Since learning with a quantum computer of a classical Boltzmann machine can be realized with only limited operations, experiments are being conducted using a quantum annealing machine (quantum annealers) that has already been commercialized. In addition, the learning of the quantum Boltzmann machine is still in the preparatory stage for experiments using hardware, but it has been theoretically proved that the amount of calculation and the number of data samples required for learning are √N. However, the Boltzmann machine is a kind of stochastic recurrent neural network, which is a special system as a neural network. The above quantum learning algorithm cannot be applied to the training of a feed-forword neural network, which is generally used as a deep neural network.

順伝播型ニューラルネットワークにおける各層の重みの学習は、誤差を持つ線型方程式を解く問題に帰着できる。これは、次世代の耐量子公開鍵暗号(post-quantum public-key cryptography)などに用いられる、LWE(Learning with Errors)と呼ばれる格子問題と類似の問題である。最短ベクトル問題などに代表される格子問題は、人工知能の他、次世代暗号に利用される基本的な問題である。これを現在のコンピュータ(以下、「古典コンピュータ」とも言う)および量子コンピュータ上で扱う手法が詳しく研究されている。以下、古典コンピュータによる手法、量子コンピュータによる手法についてそれぞれ記す。 Learning the weights of each layer in a feedforward neural network can result in the problem of solving linear equations with errors. This is a problem similar to the lattice problem called LWE (Learning with Errors) used in next-generation post-quantum public-key cryptography and the like. The lattice problem represented by the shortest vector problem is a basic problem used in next-generation cryptography as well as artificial intelligence. Techniques for dealing with this on current computers (hereinafter also referred to as "classical computers") and quantum computers are being studied in detail. Hereinafter, the method using a classical computer and the method using a quantum computer will be described.

格子問題を解くための最も一般的な古典アルゴリズムは格子簡約化アルゴリズムである。格子簡約化アルゴリズムとは、与えられたベクトル空間の基底から、全ての基底が互いに略直交となるような新しい基底を計算する。そのために、全ての基底ベクトルの組み合わせに対して、グラム-シュミットの直交化法(Gram-Schmidt orthogonalization)に似た操作を繰り返し施す。格子簡約化アルゴリズムにより得られる最も短いベクトルの長さは、最悪の場合、求めたい最短ベクトルの長さに対して指数的に大きくなる。 The most common classical algorithm for solving lattice problems is the lattice reduction algorithm. The lattice reduction algorithm calculates a new basis from the basis of a given vector space so that all the bases are approximately orthogonal to each other. To do this, all combinations of basis vectors are repeatedly subjected to an operation similar to Gram-Schmidt orthogonalization. In the worst case, the length of the shortest vector obtained by the grid reduction algorithm is exponentially larger than the length of the shortest vector to be obtained.

格子問題を解く量子アルゴリズムとしては、例えば、非特許文献3,4の方法が提案されている。非特許文献3では、最近ベクトル問題をもとに、Dihedral Coset Stateと呼ばれる量子状態を作り、量子フーリエ変換を利用して解を得る。非特許文献4では、確率振幅増幅を用いて解を探索する。しかし、いずれの手法も格子問題を効率的に解くことは保証されていない。つまり、格子問題を効率的に解く量子アルゴリズムは見つかっていない。 As a quantum algorithm for solving a lattice problem, for example, the methods of Non-Patent Documents 3 and 4 have been proposed. In Non-Patent Document 3, a quantum state called Dihedral Coset State is recently created based on a vector problem, and a solution is obtained by using a quantum Fourier transform. In Non-Patent Document 4, a solution is searched for using probability amplitude amplification. However, neither method is guaranteed to solve the lattice problem efficiently. In other words, no quantum algorithm has been found to efficiently solve the lattice problem.

Jacob Biamonte, Peter Wittek, Nicola Pancotti, Patrick Rebentrost, Nathan Wiebe, Seth Lloyd, Quantum Machine Learning, Nature 549, pp. 195-202. (2017). doi:10.1038/nature23474.Jacob Biamonte, Peter Wittek, Nicola Pancotti, Patrick Rebentrost, Nathan Wiebe, Seth Lloyd, Quantum Machine Learning, Nature 549, pp. 195-202. (2017). Doi: 10.1038 / nature23474. Aram W. Harrow, Avinatan Hassidim, Seth Lloyd, Quantum algorithm for solving linear systems of equations, Phys. Rev. Lett. vol. 15, no. 103, pp. 150502 (2009)Aram W. Harrow, Avinatan Hassidim, Seth Lloyd, Quantum algorithm for solving linear systems of equations, Phys. Rev. Lett. Vol. 15, no. 103, pp. 150502 (2009) Oded Regev, Quantum Computation and Lattice Problems, SIAM Journal on Computing, Vol 33, No. 3, pp. 738-760, (2004).Oded Regev, Quantum Computation and Lattice Problems, SIAM Journal on Computing, Vol 33, No. 3, pp. 738-760, (2004). T. Laarhoven and M. Mosca and J. van de Pol, Finding shortest lattice vectors faster using quantum search, Designs, Codes and Cryptography, Vol 7. No 2, pp. 375-400(2015).T. Laarhoven and M. Mosca and J. van de Pol, Finding shortest lattice vectors faster using quantum search, Designs, Codes and Cryptography, Vol 7. No 2, pp. 375-400 (2015).

本発明は、古典コンピュータと量子コンピュータをハイブリッドに組み合わせ、格子問題を従来よりも高速に解くための要素手法となる距離比較問題の解法の提供を目的とする。例えば、計算処理全体のうち軽いタスクを古典コンピュータが担い、重いタスクを量子コンピュータが担うことにより、ノイズによるデコヒーレンスのため実行時間を長くできない量子コンピュータでも実現可能、かつ、従来よりも短い時間で格子問題の解を求めるために適用できる距離比較問題の解法を提供する。 An object of the present invention is to provide a solution of a distance comparison problem, which is an elemental method for solving a lattice problem at a higher speed than before by combining a classical computer and a quantum computer in a hybrid manner. For example, by having a classical computer take charge of light tasks and a quantum computer take charge of heavy tasks in the entire calculation process, it can be realized even with a quantum computer whose execution time cannot be lengthened due to decoherence due to noise, and in a shorter time than before. It provides a solution to a distance comparison problem that can be applied to find a solution to a grid problem.

第1古典計算部は、基底Bおよび整数Nを用い、双対基底Bを得て出力する。第1量子状態生成部は、

Figure 0007101355000001
の量子状態からなるレジスタを複数個生成する。第2量子状態生成部は、一部の量子状態|φ>のレジスタに量子操作を行い、量子操作が施されたレジスタの量子状態を
Figure 0007101355000002
に遷移させる。第1スワップテスト部は、量子状態|φ>のレジスタと各量子状態|φ>t1のレジスタとの各ペアに対してスワップテストを実行し、量子状態|φ>と量子状態|φ>t1とのペアに対するスワップテストの結果が受理となるか拒否となるかを判定する。第3量子状態生成部は、
Figure 0007101355000003
の量子状態からなるレジスタを複数個生成する。第4量子状態生成部は、一部の量子状態|φ>のレジスタに量子操作を行い、量子操作が施されたレジスタの量子状態を
Figure 0007101355000004
に遷移させる。第2スワップテスト部は、量子状態|φ>のレジスタと量子状態|φ>t2のレジスタとの各ペアに対してスワップテストを実行し、量子状態|φ>と量子状態|φ>t2とのペアに対するスワップテストの結果が受理となるか拒否となるかを判定する。第2古典計算部は、スワップテストの結果を用いて、量子状態|φ>と量子状態|φ>t1とのペアに対するスワップテストの結果が受理となる確率pと、量子状態|φ>と量子状態|φ>t2とのペアに対するスワップテストの結果が受理となる確率pを計算し、p≧pの場合に||t1(d)||≦||t2(d)||であることを表す情報を出力し、p<pの場合に||t1(d)||>||t2(d)||であることを表す情報を出力するか、または、p>pの場合に||t1(d)||<||t2(d)||であることを表す情報を出力し、p≦pの場合に||t1(d)||≧|t2(d)||であることを表す情報を出力する。ただし、n,Nが正の整数であり、i=1,…,nであり、iが虚数単位であり、ηがηの転置であり、|Λ|がΛの要素数であり、||η||がηの長さであり、<τ,χ>がτとχとの内積であり、η1⊆η2はη1がη2の部分集合であることを表し、B={b,…,b}が一次独立なn次元ベクトルbからなる基底であり、n次元ベクトルbのそれぞれがn個の整数要素からなり、L(B)が格子{Σi=1,…,n |x∈Z,b∈B}であり、L(B)が基底Bと整数Nとに対して定義されるNに関する双対格子であり、xが整数であり、BがBのNに関する双対基底であり、R⊆Zが整数要素からなるn次空間に属する部分領域であり、t1=(t1,1,…,t1,nがn個の整数要素t1,iからなる目標ベクトルであり、t2=(t2,1,…,t2,nがn個の整数要素t2,iからなる目標ベクトルであり、t1(d)が目標ベクトルt1と目標ベクトルt1の最近ベクトルt1(c)∈L(B)との差分ベクトルt1(d)=t1-t1(c)=(t1,1 (d),…,t1,n (d))であり、t2(d)が目標ベクトルt2と目標ベクトルt2の最近ベクトルt2(c)∈L(B)との差分ベクトルt2(d)=t2-t2(c)=(t2,1 (d),…,t2,n (d))である。 The first classical calculation unit uses the basis B and the integer N to obtain and output the dual basis B . The first quantum state generator is
Figure 0007101355000001
Generate multiple registers consisting of the quantum states of. The second quantum state generator performs a quantum operation on some of the quantum states | φ> 0 registers, and changes the quantum states of the quantum-operated registers.
Figure 0007101355000002
To transition to. The first swap test unit executes a swap test for each pair of the quantum state | φ> 0 register and each quantum state | φ> t1 register, and the quantum state | φ> 0 and the quantum state | φ>. It is determined whether the result of the swap test for the pair with t1 is accepted or rejected. The third quantum state generator is
Figure 0007101355000003
Generate multiple registers consisting of the quantum states of. The fourth quantum state generator performs a quantum operation on a part of the quantum state | φ> 0 register, and changes the quantum state of the quantum-operated register.
Figure 0007101355000004
To transition to. The second swap test unit executes a swap test for each pair of the quantum state | φ> 0 register and the quantum state | φ> t2 register, and the quantum state | φ> 0 and the quantum state | φ> t2 . Determines whether the result of the swap test for the pair with is accepted or rejected. The second classical calculator uses the results of the swap test to determine the probability p1 that the result of the swap test for the pair of quantum state | φ> 0 and quantum state | φ> t1 is accepted, and the quantum state | φ>. Calculate the probability p2 that the result of the swap test for the pair of 0 and the quantum state | φ> t2 is accepted, and when p 1 ≧ p 2 , || t1 (d) || ≦ || t2 (d) The information indicating that it is || is output, and when p 1 <p 2 , || t1 (d) ||> || t2 (d) || is output, or the information indicating that it is || is output. When p 1 > p 2 , the information indicating that || t1 (d) || <|| t2 (d) || is output, and when p 1 ≤ p 2 , || t1 (d) | | ≧ | t2 (d) || Outputs information indicating that. However, n and N are positive integers, i = 1, ..., N, im is an imaginary unit, η T is a translocation of η, and | Λ | is the number of elements of Λ. || η || is the length of η, <τ, χ> is the inner product of τ and χ, η1 ⊆ η2 means that η1 is a subset of η2, and B = {b 1 ,, ..., b n } is a base consisting of linearly independent n-dimensional vectors bi, each of the n -dimensional vectors bi consists of n integer elements, and L (B) is a lattice {Σ i = 1, ..., n x i bi | x i ∈ Z, bi ∈ B } , where L (B ) is a dual lattice for N defined for the base B and the integer N, and x i is an integer. , B - is a dual basis for N of B, R⊆Zn is a subregion belonging to the nth -order space consisting of integer elements, and t1 = (t 1,1 , ..., t 1, n ) T is n. It is a target vector consisting of t 1, 1, i integer elements, and t2 = (t 2, 1 , ..., T 2, n ) T is a target vector consisting of n integer elements t 2, i , and t1 ( . d) is the difference vector between the target vector t1 and the recent vector t1 (c) ∈ L (B) of the target vector t1 t1 (d) = t1-t1 (c) = (t 1,1 (d) , ..., T 1, n (d) ), where t2 (d) is the difference vector between the target vector t2 and the recent vector t2 (c) ∈ L (B) of the target vector t2 t2 (d) = t2-t2 (c) = (T 2,1 (d) , ..., t 2, n (d) ).

このように本発明では距離比較問題を解くことができる。これを利用することで格子問題を高速に解くこともできる。 In this way, the present invention can solve the distance comparison problem. By using this, the lattice problem can be solved at high speed.

図1は各実施形態の対応関係を表す概念図である。FIG. 1 is a conceptual diagram showing the correspondence relationship of each embodiment. 図2は各実施形態の対応関係を表す概念図である。FIG. 2 is a conceptual diagram showing the correspondence relationship of each embodiment. 図3は実施形態の判定装置の機能構成を例示したブロック図である。FIG. 3 is a block diagram illustrating the functional configuration of the determination device of the embodiment. 図4は実施形態の量子計算部の機能構成を例示したブロック図である。FIG. 4 is a block diagram illustrating the functional configuration of the quantum calculation unit of the embodiment. 図5は実施形態のスワップテストを行う量子回路を例示した図である。FIG. 5 is a diagram illustrating a quantum circuit for performing a swap test of the embodiment. 図6は実施形態の具体例を説明するための図である。FIG. 6 is a diagram for explaining a specific example of the embodiment. 図7は実施形態の計算装置の機能構成を例示したブロック図である。FIG. 7 is a block diagram illustrating the functional configuration of the arithmetic unit of the embodiment. 図8は実施形態の子ノード生成を説明するための概念図である。FIG. 8 is a conceptual diagram for explaining the generation of child nodes in the embodiment. 図9は実施形態の子ノード生成を説明するための概念図である。FIG. 9 is a conceptual diagram for explaining the generation of child nodes in the embodiment. 図10は実施形態の計算装置の機能構成を例示したブロック図である。FIG. 10 is a block diagram illustrating the functional configuration of the arithmetic unit of the embodiment. 図11は実施形態の計算装置の機能構成を例示したブロック図である。FIG. 11 is a block diagram illustrating the functional configuration of the arithmetic unit of the embodiment. 図12は実施形態の具体例を説明するための図である。FIG. 12 is a diagram for explaining a specific example of the embodiment. 図13は実施形態の具体例を説明するための図である。FIG. 13 is a diagram for explaining a specific example of the embodiment. 図14は各実施形態の対応関係を表す概念図である。FIG. 14 is a conceptual diagram showing the correspondence relationship of each embodiment. 図15は順伝播型ニューラルネットワークの構成を例示した概念図である。FIG. 15 is a conceptual diagram illustrating the configuration of a feedforward neural network. 図16は実施形態の学習装置の機能構成を例示したブロック図である。FIG. 16 is a block diagram illustrating the functional configuration of the learning device of the embodiment.

以下、図面を参照して本発明の実施形態を説明する。
実施形態では、例えば、順伝播型ニューラルネットワークの学習を高速化する、新しい量子計算手法を提供する。順伝播型ニューラルネットワークにおける各層の重みの学習は、誤差を持つ線型方程式を解く問題に帰着できる。これは、次世代の耐量子公開鍵暗号(post-quantum public-key cryptography)などに用いられる、LWE(Learning with Errors)と呼ばれる格子問題と類似の問題である。そのため、まず量子計算装置で格子問題を高速に解くために用いる要素手法およびそれを用いた格子問題の解法について説明し(第1実施形態~第8実施形態)、その量子計算装置を応用して順伝播型ニューラルネットワークの学習を行う学習システムについて説明する(第9実施形態)。順伝播型ニューラルネットワークの学習で一般に用いられるバックプロパゲーションが、学習過程において局所最適解から容易に抜け出せないのに対して、第9実施形態で提案する学習システムは、量子物理の特性を生かして大域的に最適解を探索することにより高速化を実現する。なお、本実施形態で扱う格子問題はNP困難問題であるため、提案手法を、順伝播型ニューラルネットワークの学習だけでなく、組み合わせ最適化問題全般に広く適用することが可能である。
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
In the embodiment, for example, a new quantum calculation method for accelerating the learning of a feedforward neural network is provided. Learning the weights of each layer in a feedforward neural network can result in the problem of solving linear equations with errors. This is a problem similar to the lattice problem called LWE (Learning with Errors) used in next-generation post-quantum public-key cryptography and the like. Therefore, first, the element method used to solve the lattice problem at high speed with the quantum computing device and the method of solving the lattice problem using it will be described (first to eighth embodiments), and the quantum computing device is applied. A learning system for learning a feedforward neural network will be described (9th embodiment). While backpropagation, which is generally used in the learning of feedforward neural networks, cannot easily escape from the locally optimal solution in the learning process, the learning system proposed in the ninth embodiment makes use of the characteristics of quantum physics. High speed is realized by searching for the optimum solution globally. Since the lattice problem dealt with in this embodiment is an NP-hard problem, the proposed method can be widely applied not only to learning a feedforward neural network but also to a combinatorial optimization problem in general.

[定義]
実施形態で用いる用語を定義する。
n,m,m’,M,N,N’は正の整数である。i=1,…,nであり、j=1,…,mであり、u=1,…,nである。sは整数要素からなるn次元ベクトルである。rji (c),rji (d),rj0,X,d,g,eは整数である。L,γが正の実数である。aはn個の整数要素a1j,…,anjからなるn次元ベクトルa=(a1j,…,anjである。gはn個の要素g,…,gからなるn次元ベクトルg=(g,…,gである。εはu番目の要素が1で他の要素が0のn次元単位ベクトルε=(0,…,1,0,…,0)である。
[Definition]
Define terms used in embodiments.
n, m, m', M, N, N'are positive integers. i = 1, ..., n, j = 1, ..., m, u = 1, ..., n. s is an n-dimensional vector consisting of integer elements. r ji (c) , r ji (d) , r j0 , X j , di, g i , and ej are integers. L and γ are positive real numbers. a j is an n-dimensional vector a j = (a 1j , ..., a nj ) T consisting of n integer elements a 1j , ..., a nj . g is an n-dimensional vector g = (g 1 , ..., gn) T consisting of n elements g 1 , ..., G n . ε u is an n-dimensional unit vector ε u = (0, ..., 1,0, ..., 0) T in which the u-th element is 1 and the other elements are 0.

ηはηの転置を表す。ηはベクトルまたは行列である。|Λ|は集合Λの要素数を表す。ABS(μ)はμの絶対値を表す。||η||はηのノルムを表す。例えば、||η||はηのユークリッドノルム(長さ)を表す。round(μ)はμに最も近い整数である。すなわち、roundは丸め関数を表す。floor(μ)はμ以下の最大の整数である。すなわち、floorは床関数を表す。ceil(μ)はμ以上の最小の整数である。すなわち、ceilは天井関数を表す。λ∈Λはλが集合Λの要素であることを意味する。<τ,χ>はベクトルτとベクトルχとの内積を表す。det(η)はηの行列式を表す。|δ〉はδに対応する量子状態を示す縦ベクトルを表す。|δ1>|δ2>は|δ1>と|δ2>とのテンソル積を表す。 η T represents the transpose of η. η is a vector or matrix. | Λ | represents the number of elements in the set Λ. ABS (μ) represents the absolute value of μ. || η || represents the norm of η. For example, || η || represents the Euclidean norm (length) of η. round (μ) is the integer closest to μ. That is, round represents a rounding function. floor (μ) is the largest integer less than or equal to μ. That is, floor represents the floor function. ceil (μ) is the smallest integer greater than or equal to μ. That is, ceil represents the ceiling function. λ ∈ Λ means that λ is an element of the set Λ. <τ, χ> represents the inner product of the vector τ and the vector χ. det (η) represents the determinant of η. | Δ> represents a vertical vector indicating the quantum state corresponding to δ. | δ 1 > | δ 2 > represents the tensor product of | δ 1 > and | δ 2 >.

B={b,…,b}は一次独立なn個のn次元ベクトルbからなる基底である(すなわち、Bは一次独立なn個のn次元ベクトルb,…,bの集合である)。n次元ベクトルb=(bi1,…,bin)∈Zのそれぞれはn個の整数要素bi1,…,bin∈Zからなる。Zは整数の集合を表す。βは基底Bのn次元ベクトルb,…,bを要素とするn行n列の行列である。このβを、基底Bの基底行列と呼ぶ。例えば、βはn次元ベクトルbをi行目の成分(行ベクトル)とする以下の行列である。

Figure 0007101355000005
B = {b 1 , ..., b n } is a basis consisting of n linearly independent n-dimensional vectors bi (that is, B is a linearly independent n n-dimensional vectors b 1 , ..., b n . It is a set). n -dimensional vector bi = (bi 1 , ..., bin ) ∈ Z Each of n consists of n integer elements bi 1 , ..., bin ∈ Z. Z represents a set of integers. β is an n-by-n matrix having n-dimensional vectors b 1 , ..., B n of the basis B as elements. This β is called the basis matrix of basis B. For example, β is the following matrix having the n-dimensional vector bi as the component (row vector) of the i -th row.
Figure 0007101355000005

t=(t,…,tはn個の整数要素t∈Zからなる目標ベクトルである。 t = (t 1 , ..., t n ) T is a target vector consisting of n integer elements ti ∈ Z.

L(B)は格子{Σi=1,…,n |x∈Z,b∈B}である。ただし、xは整数である。すなわち、

Figure 0007101355000006
である。 L (B) is a lattice {Σ i = 1, ..., n x i bi | x i ∈ Z, bi ∈ B } . However, xi is an integer. That is,
Figure 0007101355000006
Is.

n次元ベクトルtおよび格子L(B)についてτ+L(B)は、格子L(B)のすべての格子点をn次元ベクトルτ分平行移動させて得られる集合を表す。すなわち、τ+L(B)={τ+χ|χ∈L(B)}である。またτ+L(B)=L(B)+τである。 For the n-dimensional vector t and the grid L (B), τ + L (B) represents a set obtained by translating all the grid points of the grid L (B) by the n-dimensional vector τ. That is, τ + L (B) = {τ + χ | χ ∈ L (B)}. Further, τ + L (B) = L (B) + τ.

基底Bの部分集合B’が作る超平面をH(B’)と表記する。超平面H(B’)は、部分集合B’の要素であるベクトルb’∈B’によって張られるベクトル空間{Σi=1,…,n ζ’|ζ∈Re,b’∈B’}を意味する。ただし、ζは実数である。すなわち、

Figure 0007101355000007
である。Reは実数の集合を表す。 The hyperplane created by the subset B'of the basis B is referred to as H (B'). The hyperplane H (B') is a vector space {Σ i = 1, ..., n ζ i b i '| ζ i ∈ Re, b, which is stretched by the vector bi'∈ B', which is an element of the subset B'. It means i'∈ B'}. However, ζ i is a real number. That is,
Figure 0007101355000007
Is. Re represents a set of real numbers.

tはn個の整数要素t,…,tからなるn次元ベクトルt=(t,…,tである。n次元ベクトルtの原点は何れかの格子点(格子L(B)上の点)である。原点から格子点へ向かうベクトルを格子点ベクトルと呼ぶことにする。 t is an n-dimensional vector t = (t 1 , ..., t n ) T consisting of n integer elements t 1 , ..., T n. The origin of the n-dimensional vector t is any lattice point (point on the lattice L (B)). The vector from the origin to the grid points is called the grid point vector.

<格子問題>
実施形態で扱う格子問題を簡単に説明する。より詳しい内容については参考文献1,2参照。
[参考文献1]Daniele Micciancio and Shafi Goldwasser, Complexity of Lattice Problems: a cryptographic perspective, Kluwer Academic Publishers, The Kluwer International Series in Engineering and Computer Science, vol. 671 (2002).
[参考文献2]Cohen, Henri, A Course in Computational Algebraic Number Theory,
Springer-Verlag New York, Inc., ISBN 0-387-55640-0 (1993).
<Grid problem>
The lattice problem dealt with in the embodiment will be briefly described. See references 1 and 2 for more details.
[Reference 1] Daniele Micciancio and Shafi Goldwasser, Complexity of Lattice Problems: a cryptographic perspective, Kluwer Academic Publishers, The Kluwer International Series in Engineering and Computer Science, vol. 671 (2002).
[Reference 2] Cohen, Henri, A Course in Computational Algebraic Number Theory,
Springer-Verlag New York, Inc., ISBN 0-387-55640-0 (1993).

≪最短ベクトル問題(SVP)≫
最短ベクトル問題とは、基底Bが与えられたとき、格子L(B)の中で最も原点に近い格子点(原点から最も当該原点に近い格子点へ向かうベクトル、すなわち最短ベクトル)を求める問題である。最短ベクトルの長さと、格子L(B)の中で二番目に原点に近いベクトルの長さとの比がγ以上のとき、最短ベクトル問題はγ-unique SVPと呼ばれる。最短ベクトル問題はNP困難であり、γを変えることにより、問題の難しさを調整することができる。最短ベクトル問題は、次に示す最近ベクトル問題に多項式時間で帰着できることが知られている。したがって、最近ベクトル問題は、最短ベクトル問題以上に難しい。
≪Shortest vector problem (SVP) ≫
The shortest vector problem is a problem of finding the grid point closest to the origin in the grid L (B) (the vector from the origin to the grid point closest to the origin, that is, the shortest vector) when the basis B is given. be. When the ratio of the length of the shortest vector to the length of the vector second closest to the origin in the grid L (B) is γ or more, the shortest vector problem is called the γ-unique SVP. The shortest vector problem is NP-hard, and the difficulty of the problem can be adjusted by changing γ. It is known that the shortest vector problem can be reduced to the following vector problem in polynomial time. Therefore, the vector problem these days is more difficult than the shortest vector problem.

≪最近ベクトル問題(CVP)≫
最近ベクトル問題とは、基底Bと目標ベクトルtとの組(B,t)が与えられたとき、目標ベクトルtとの差分ベクトルが最短となるような格子L(B)上の最近ベクトルt(c)∈L(B)を求める問題である。組(B,t)についての最近ベクトル問題をCVP(B,t)と表記する。最近ベクトルt(c)∈L(B)は目標ベクトルtに最も近い格子点ベクトルである。t(d)は目標ベクトルtと最近ベクトルt(c)∈L(B)との差分ベクトルt(d)=t-t(c)=(t (d),…,t (d)を表す。このような差分ベクトルt(d)を最短差分ベクトルと呼ぶ。最短差分ベクトルt(d)=t-t(c)と、目標ベクトルtと目標ベクトルtに2番目に近い格子点ベクトルとの差分ベクトルと、の長さの比がγ以上のとき、最近ベクトル問題をγ-gap CVPと呼ぶ。最近ベクトル問題を近似的に解く古典アルゴリズムとして,Babaiが提案したRounding-Off アルゴリズムやNearest Planeアルゴリズムが知られている。
[参考文献3]L. Babai, On Lovasz Lattice Reduction and the Nearest Lattice Point Problem, Combinatorica, Vol. 6, No. 1, pp.1-13, (1986).
しかし、これらのアルゴリズムによって得られる解の近似率は、それぞれ1+2n(9/2)n/2,2n/2であり、両者とも次元の指数的な近似率しか保証しない。
≪Recently Vector Problem (CVP) ≫
The recent vector problem is a recent vector t (recent vector t ( B) on the lattice L (B) such that the difference vector from the target vector t is the shortest when a set (B, t) of the basis B and the target vector t is given. c) It is a problem to find ∈ L (B). The recent vector problem for a set (B, t) is referred to as CVP (B, t). Recently, the vector t (c) ∈ L (B) is the lattice point vector closest to the target vector t. t (d) is the difference vector between the target vector t and the recent vector t (c) ∈ L (B) t (d) = tt (c) = (t 1 (d) , ..., t n (d) ) Represents T. Such a difference vector t (d) is called a shortest difference vector. When the ratio of the lengths of the shortest difference vector t (d) = tt (c) and the difference vector between the target vector t and the lattice point vector second closest to the target vector t is γ or more, the latest vector. The problem is called γ-gap CVP. Recently, the Rounding-Off algorithm and Nearest Plane algorithm proposed by Babai are known as classical algorithms for solving vector problems approximately.
[Reference 3] L. Babai, On Lovasz Lattice Reduction and the Nearest Lattice Point Problem, Combinatorica, Vol. 6, No. 1, pp.1-13, (1986).
However, the approximations of the solutions obtained by these algorithms are 1 + 2n (9/2) n / 2 and 2n / 2 , respectively, both of which guarantee only an exponential approximation of the dimension.

最近ベクトル問題よりも基本的な問題として、次のGapCVPγが知られている。最近ベクトル問題が探索問題なのに対して、GapCVPγは決定問題(Yes/Noを答える問題)である。 Recently, the following GapCVP γ is known as a more basic problem than the vector problem. While the vector problem is a search problem these days, GapCVP γ is a decision problem (a problem that answers Yes / No).

≪GapCVPγ
GapCVPγとは、基底Bと目標ベクトルtとの組(B,t)と長さLが与えられたとき、dist(B,t)≦Lかdist(B,t)>γLのどちらかが必ず正しいという約束の下、dist(B,t)≦L(Yes instance)か、dist(B,t)>γL(No instance)かを判定する決定問題である。ここで、dist(B,t)とは、最短差分ベクトルt(d)の長さ(すなわち||t(d)||)のことである。γが小さくなるほどGapCVPγは難しくなる。

Figure 0007101355000008
なら、GapCVPγはNP困難であることが知られている。
[参考文献4]Dinur, I. and Kindler, G. and Safra, S., Approximating-CVP to Within Almost-Polynomial Factors is NP-Hard, Proceedings of the 39th Annual Symposium on Foundations of Computer Science, FOCS '98, IEEE Computer Society, Washington, DC, USA, pp.99-111 (1998).
逆にγ≧√nの場合、GapCVPγはNP困難でないと予想されている。
[参考文献5]岡本龍明,“応用数理の散歩道(79) これからの暗号”, 応用数理, Vol. 24, No. 3, pp. 36-39, December, (2014). ≪GapCVP γ≫
GapCVP γ is either dist (B, t) ≤ L or dist (B, t)> γL when a set (B, t) of a basis B and a target vector t and a length L are given. It is a decision problem to determine whether the vector (B, t) ≤ L (Yes instance) or the dust (B, t)> γL (No instance) under the promise that it is always correct. Here, the dust (B, t) is the length of the shortest difference vector t (d) (that is, || t (d) ||). The smaller the γ, the more difficult the GapCVP γ becomes.
Figure 0007101355000008
If so, GapCVP γ is known to be NP-hard.
[Reference 4] Dinur, I. and Kindler, G. and Safra, S., Approximating-CVP to Within Almost-Polynomial Factors is NP-Hard, Proceedings of the 39th Annual Symposium on Foundations of Computer Science, FOCS '98, IEEE Computer Society, Washington, DC, USA, pp.99-111 (1998).
On the contrary, when γ ≧ √n, GapCVP γ is not expected to be NP-hard.
[Reference 5] Tatsuaki Okamoto, "Applied Mathematics Walkway (79) Future Cryptography", Applied Mathematics, Vol. 24, No. 3, pp. 36-39, December, (2014).

SVP,CVP,GapCVPγは古くから研究されている格子問題であるのに対して、次のLWEは比較的最近提案された問題である。LWEは、有望な次世代暗号で用いられるため、上記の問題と並んで詳しく研究されている。
[参考文献6]Oded Regev, On Lattices, Learning with Errors, Random Linear Codes, and Cryptography, J. ACM, Vol 56, No. 6, 34:1‐34:40 (2009).
While SVP, CVP, and GapCVP γ are lattice problems that have been studied for a long time, the following LWE is a relatively recently proposed problem. Since LWE is used in promising next-generation cryptography, it has been studied in detail alongside the above problems.
[Reference 6] Oded Regev, On Lattices, Learning with Errors, Random Linear Codes, and Cryptography, J. ACM, Vol 56, No. 6, 34: 1-34: 40 (2009).

≪LWE(Learning with Errors)≫
LWEとは、正の整数m,n,N、整数要素のn×mランダム行列A=(aij)(i=1,…,n、j=1,…,m)、m次元ランダムベクトルX=(X,…,X、および各要素がガウス分布に従う短いベクトルd=(d,…,dから

Figure 0007101355000009
によりg=(g,…,gを定めたとき、(A,g,N)からXを求める問題である。ただし、Xは整数である。dが分かれば(3)からXも計算できるため、dを求めてもよい。 ≪LWE (Learning with Errors) ≫
LWE is a positive integer m, n, N, n × m random matrix A = (a ij ) (i = 1, ..., n, j = 1, ..., M) of integer elements, m-dimensional random vector X. = (X 1 , ..., X m ) T , and a short vector d = (d 1 , ..., d n ) T where each element follows a Gaussian distribution
Figure 0007101355000009
When g = (g 1 , ..., gn ) T is determined by, it is a problem to obtain X from (A, g, N). However, X j is an integer. If d is known, X can also be calculated from (3), so d may be obtained.

一般に、{x∈Z|<x,b>∈Z for all b∈L(B)}は、格子L(B)の「双対格子」と呼ばれる。
[参考文献7]Daniele Micciancio and Shafi Goldwasser, Complexity of Lattice Problems: a cryptographic perspective, Kluwer Academic Publishers, The Kluwer International Series in Engineering and Computer Science, vol. 671 (2002).
In general, {x ∈ Z n | <x, b> ∈ Z for all b ∈ L (B)} is called the "dual lattice" of the lattice L (B).
[Reference 7] Daniele Micciancio and Shafi Goldwasser, Complexity of Lattice Problems: a cryptographic perspective, Kluwer Academic Publishers, The Kluwer International Series in Engineering and Computer Science, vol. 671 (2002).

各実施形態で導入する「Nに関する双対格子」は、この一般的な「双対格子」とは異なる。Nに関する双対格子を導入するのは、格子の重ね合せ状態の全座標軸に対してN次元の量子フーリエ変換を実行した結果が、Nに関する双対格子の重ね合わせになることによる。Nに関する双対格子のLLL既約基底を「Nに関する双対基底」と呼ぶことにする。ここで、LLL既約基底の定義については、参考文献1の33-35ページを参照のこと。任意の基底にLLLアルゴリズムを適用すると、LLL既約基底の定義を満たす基底が得られることが知られている(参考文献1、2.2章)。従って、Nに関する双対格子の基底に、LLLアルゴリズムを適用することにより、Nに関する既約基底が得られる。Nに関する双対基底はエルミート標準形(Hermite Normal Form)を用いて効率的に計算できる。 The "dual grid for N" introduced in each embodiment is different from this general "dual grid". The reason for introducing the dual lattice with respect to N is that the result of performing the N-dimensional quantum Fourier transform for all the coordinate axes in the superposition state of the lattice is the superposition of the dual lattice with respect to N. The LLL irreducible basis of the dual lattice for N will be referred to as the "dual basis for N". See pages 33-35 of Reference 1 for the definition of the LLL irreducible basis. It is known that when the LLL algorithm is applied to an arbitrary basis, a basis satisfying the definition of an LLL irreducible basis can be obtained (References 1 and 2.2). Therefore, by applying the LLL algorithm to the basis of the dual lattice for N, an irreducible basis for N can be obtained. The dual basis for N can be efficiently calculated using the Hermite Normal Form.

≪Nに関する双対格子≫
基底Bと整数Nに対して{τ∈Z|<τ,χ>=0 mod N for all χ∈L(B)}で定義される格子を「Nに関する双対格子(法Nにおける双対格子)」と呼ぶ。Nに関する格子L(B)の双対格子のLLL既約基底をBと書き、双対基底(Nに関する双対基底)と呼ぶ。なお、「B」の右上添え字の「-」は本来「B」の真上に記載すべきであるが記載表記の制約上「B」の右上に表記する場合がある。
≪Dual lattice about N≫
For the basis B and the integer N, the lattice defined by {τ ∈ Z n | <τ, χ> = 0 mod N for all χ ∈ L (B)} is defined as "dual lattice for N (dual lattice in method N)". Is called. The LLL irreducible basis of the dual lattice of the lattice L (B) with respect to N is written as B- and is called a dual basis (dual basis with respect to N). The " - " in the upper right subscript of "B-" should be written directly above "B", but it may be written in the upper right of "B" due to the limitation of the description notation.

各実施形態では、Nに関する双対基底の概念を用いて「変形LWE」の概念を導入する。後述のように、量子コンピュータを用いて、CVPやLWEから変形LWEを効率的に求めることができ、古典コンピュータを用いて、変形LWEの解の長さがL以下かγLよりも大きいかを効率的に判定することができる。 In each embodiment, the concept of "transformation LWE" is introduced using the concept of dual basis for N. As will be described later, a quantum computer can be used to efficiently obtain the modified LWE from CVP and LWE, and a classical computer can be used to efficiently determine whether the length of the modified LWE solution is L or less or larger than γL. Can be determined.

拡張ユークリッド互除法(Extended Euclidean algorithm)やスミス標準形(Smith Normal Form)やエルミート標準形の詳細は例えば以下の文献に記載されている。
[参考文献8]Cohen, Henri, A Course in Computational Algebraic Number Theory,Springer-Verlag New York, Inc., ISBN 0-387-55640-0 (1993).
[参考文献9]Ravindran Kannan and Achim Bachem, Polynomial Algorithms for Computing the Smith and Hermite Normal Forms of an Integer Matrix, SIAM Journal on Computing, vol. 8, No. 4, pp. 499-507, (1979).
[参考文献10]Storjohann, Arne, Near Optimal Algorithms for Computing Smith Normal Forms of Integer Matrices, Proceedings of the 1996 International Symposium on Symbolic and Algebraic Computation, ISSAC '96, pp. 267-274 (1996).
[参考文献11]Galbraith, Steven D., Mathematics of Public Key Cryptography, Cambridge University Press, ISBN 978-1107013926 (2012).
エルミート標準形とスミス標準形について説明を加える。
ランダムなn次元格子の最短ベクトルの長さは、

Figure 0007101355000010
で近似できることが知られている。ここで、det(B)は格子の基底が作る行列の行列式である。この値
Figure 0007101355000011
はGaussian heuristicと呼ばれる(例えば、参考文献11の344ページを参照)。m”とn”をm”≧n”を満たす正の整数とする。m”×n”整数行列A”=(a”σξ1≦σ≦m”,1≦ξ≦n”が(行)エルミート標準形(HNFと略される)とは、整数1≦r”≦n”と単調増加関数f:{1,…,n”-r”}→{1,…,m”}(すなわちf(σ+1)>f(σ))が存在して以下が成立することである。
1.最後のr”行の要素が0である。
2.1≦ξ<σに対して0≦a”ξf(σ)<a”σf(σ)であり、σ<ξ≦n”に対してa”ξf(σ)=0である。したがって、エルミート標準形は次の形で書ける。
Figure 0007101355000012
m”×n”整数行列A”=(a”σξ1≦σ≦m”,1≦ξ≦n”に対して、唯一のエルミート標準形のm”×n”整数行列Aと、m×mユニモジュラ(unimodular)行列U(唯一とは限らない)が存在し、
UA”=A
が成立する。ここで、ユニモジュラ行列とは、行列式が+1または-1(ゆえに可逆)な整数要素の正方行列である。Uは変換行列(transforming matrix)と呼ばれる。エルミート標準形の整数行列Aと変換行列Uは、整数行列A”から効率的に計算できることが知られている。
m”とn”がm”≧n”を満たす正の整数であるとき、m”×n”整数行列A”=(a”σξ1≦σ≦m”,1≦ξ≦n”がスミス標準形であるとは、この整数行列A”が以下の形に書けることをいう。
Figure 0007101355000013
ただし、k”はn”以下の整数であり、a”11,…,a”k”k”はすべての1≦σ”<k”に対してa”σσ|a”σ+1 σ+1を満足する。またこの行列の空白部分の要素はすべて0である。なお、「γ1|γ2」はγ2がγ1で割り切れることを表す。例えば、整数行列A”の対角要素が 1, 1, 3, 6, 24, 168, 0, 0, 0ならばすべてのσ=1,2,…,8に対してa”σσ|a”σ+1 σ+1を満たすためA”はスミス標準形であるが、整数行列A”の対角要素が1, 1, 3, 6, 24, 128 , 0, 0, 0ならσ=5に対してa”σσ|a”σ+1 σ+1を満たさないためA”はスミス標準形ではない。
m”×n”整数行列A”=(a”σξ1≦σ≦m”,1≦ξ≦n”に対して唯一のスミス標準形Aとユニモジュラ行列U,V(唯一とは限らない)が存在して
UA”V=A
が成り立つことが知られている。U,Vは変換行列と呼ばれる。エルミート標準形と同様、A”からスミス標準形と変換行列U,Vを効率的に計算できることが知られている。 Details of the Extended Euclidean algorithm, Smith Normal Form, and Hermite Normal Form are described in the following documents, for example.
[Reference 8] Cohen, Henri, A Course in Computational Algebraic Number Theory, Springer-Verlag New York, Inc., ISBN 0-387-55640-0 (1993).
[Reference 9] Ravindran Kannan and Achim Bachem, Polynomial Algorithms for Computing the Smith and Hermite Normal Forms of an Integer Matrix, SIAM Journal on Computing, vol. 8, No. 4, pp. 499-507, (1979).
[Reference 10] Storjohann, Arne, Near Optimal Algorithms for Computing Smith Normal Forms of Integer Matrices, Proceedings of the 1996 International Symposium on Symbolic and Algebraic Computation, ISSAC '96, pp. 267-274 (1996).
[Reference 11] Galbraith, Steven D., Mathematics of Public Key Cryptography, Cambridge University Press, ISBN 978-1107013926 (2012).
The Hermite normal form and the Smith normal form are explained.
The length of the shortest vector of a random n-dimensional lattice is
Figure 0007101355000010
It is known that it can be approximated by. Here, det (B) is the determinant of the matrix created by the basis of the lattice. This value
Figure 0007101355000011
Is called a Gaussian heuristic (see, eg, page 344 of reference 11). Let m "and n" be positive integers satisfying m "≧ n". m "x n" integer matrix A "=" (a " σξ ) 1≤σ≤m" , 1≤ξ≤n " is (row) Hermite normal form (abbreviated as HNF) is an integer 1≤r" ≤n "and monotonically increasing function f: {1, ..., n" -r "} → {1, ..., m"} (that is, f (σ + 1)> f (σ)) exists and the following holds. Is.
1. 1. The element of the last r "row is 0.
2.1 For ≦ ξ <σ, 0 ≦ a ” ξf (σ) <a” σf (σ) , and for σ <ξ ≦ n ”, a” ξf (σ) = 0. Therefore, the Hermite normal form can be written in the following form.
Figure 0007101355000012
For m "x n" integer matrix A "= (a" σξ ) 1 ≤ σ ≤ m ", 1 ≤ ξ ≤ n" , the only Hermite normal form m "x n" integer matrix A H and m × m There is a unimodular matrix U (not necessarily the only one),
UA "= A H
Is established. Here, the unimodular matrix is a square matrix of integer elements whose determinant is +1 or -1 (hence reversible). U is called a transforming matrix. It is known that the Hermite normal form integer matrix A H and the transformation matrix U can be efficiently calculated from the integer matrix A ”.
When m "and n" are positive integers satisfying m "≥n", m "x n" integer matrix A "= (a" σξ ) 1≤σ≤m ", 1≤ξ≤n " is Smith. The standard form means that this integer matrix A "can be written in the following form.
Figure 0007101355000013
However, k "is an integer less than or equal to n", and a " 11 , ..., A" k "k" satisfies a " σσ | a" σ + 1 σ + 1 for all 1 ≦ σ ”<k”. Also, all the elements in the blank part of this matrix are 0. In addition, "γ1 | γ2" means that γ2 is divisible by γ1. For example, if the diagonal elements of the integer matrix A "are 1, 1, 3, 6, 24, 168, 0, 0, 0, then a" σσ | a "for all σ = 1, 2, ..., 8 σ + 1 A "is the Smith standard form to satisfy σ + 1, but if the diagonal elements of the integer matrix A" are 1, 1, 3, 6, 24, 128, 0, 0, 0, then a "for σ = 5". Since σσ | a " σ + 1 σ + 1 is not satisfied, A" is not a Smith standard form.
m "x n" integer matrix A "=" (a " σξ ) 1 ≤ σ ≤ m", 1 ≤ ξ ≤ n " , the only Smith normal form AS and the unimodular matrix U, V (not the only one) Not) exists and UA "V = AS
Is known to hold. U and V are called transformation matrices. It is known that the Smith normal form and the transformation matrices U and V can be efficiently calculated from A "as in the Hermite normal form.

[第1実施形態]
第1実施形態では、量子コンピュータによる計算(量子計算)と古典コンピュータによる計算(古典計算)とによって距離比較問題を解く(図1および図2)。距離比較問題とは、2つのベクトルのうち、最も近いL(B)中のベクトルまでの距離が近い方を判定(決定)する問題である。
[First Embodiment]
In the first embodiment, the distance comparison problem is solved by a calculation by a quantum computer (quantum calculation) and a calculation by a classical computer (classical calculation) (FIGS. 1 and 2). The distance comparison problem is a problem of determining (determining) which of the two vectors has the closest distance to the vector in the closest L (B).

<構成>
図3に例示するように、本形態の判定装置7は古典計算部71,73(第1,2古典計算部)、量子計算部72、および制御部74を有する。図4に例示するように、本形態の量子計算部72は、量子状態生成部72a,72b(第1から第4量子状態生成部)、およびスワップテスト部72c(第1,2スワップテスト部)を有する。判定装置7は、制御部74の制御のもとで各処理を実行する。古典計算部71,73は複数の演算部を有し、量子状態生成部72a,72bおよびスワップテスト部72cは複数の量子計算部を有する(図示せず)。
<Structure>
As illustrated in FIG. 3, the determination device 7 of this embodiment has a classical calculation unit 71, 73 (first and second classical calculation units), a quantum calculation unit 72, and a control unit 74. As illustrated in FIG. 4, the quantum calculation unit 72 of the present embodiment includes quantum state generation units 72a and 72b (first to fourth quantum state generation units) and a swap test unit 72c (first and second swap test units). Have. The determination device 7 executes each process under the control of the control unit 74. The classical calculation units 71 and 73 have a plurality of arithmetic units, and the quantum state generation units 72a and 72b and the swap test unit 72c have a plurality of quantum calculation units (not shown).

<処理>
本形態の処理を説明する。
本形態の判定装置7は、基底B、n個の整数要素t1,iからなる目標ベクトルt1=(t1,1,…,t1,n、およびn個の整数要素t2,iからなる目標ベクトルt2=(t2,1,…,t2,nを入力とし、以下に説明する古典計算および量子計算を行い、||t1(d)||と||t2(d)||の何れが大きいかを判定する。なお、t1(d)は目標ベクトルt1と目標ベクトルt1の最近ベクトルt1(c)∈L(B)との差分ベクトルt1(d)=t1-t1(c)=(t1,1 (d),…,t1,n (d))である。t2(d)は目標ベクトルt2と目標ベクトルt2の最近ベクトルt2(c)∈L(B)との差分ベクトルt2(d)=t2-t2(c)=(t2,1 (d),…,t2,n (d))である。n,Nは正の整数であり、i=1,…,nであり、ηがηの転置であり、||η||がηの長さであり、B={b,…,b}は一次独立なn次元ベクトルbからなる基底であり、n次元ベクトルbのそれぞれはn個の整数要素からなる。βは基底Bのn次元ベクトルb,…,bを要素とするn行n列の基底行列(n×n行列)である。例えば、βはn次元ベクトルbをi行目の成分(行ベクトル)とする以下の行列である。

Figure 0007101355000014
<Processing>
The processing of this embodiment will be described.
The determination device 7 of the present embodiment has a basis B, a target vector t1 = (t 1,1 , ..., T1 , n ) T composed of n integer elements t 1, i , and n integer elements t 2, 2. The target vector t2 = (t 2,1 , ..., t 2, n ) consisting of i is used as an input, and the classical calculation and quantum calculation described below are performed, and || t1 (d) || and || t2 ( d) Determine which of || is larger. Note that t1 (d) is a difference vector between the target vector t1 and the latest vector t1 (c) ∈ L (B) of the target vector t1 t1 (d) = t1-t1 (c) = (t 1,1 (d)). , ..., t 1, n (d) ). t2 (d) is the difference vector between the target vector t2 and the recent vector t2 (c) ∈ L (B) of the target vector t2 t2 (d) = t2-t2 (c) = (t 2,1 (d) , ... , T 2, n (d) ). n, N are positive integers, i = 1, ..., n, η T is the translocation of η, || η || is the length of η, and B = {b 1 , ..., b n } is a basis consisting of linearly independent n-dimensional vectors bi, and each of the n -dimensional vectors bi consists of n integer elements. β is an n-row, n-column basis matrix (n × n matrix) having n-dimensional vectors b 1 , ..., B n of the basis B as elements. For example, β is the following matrix having the n-dimensional vector bi as the component (row vector) of the i -th row.
Figure 0007101355000014

≪古典計算部71の処理≫
判定装置7の古典計算部71(図3)の演算部は整数Nを選択する(ステップS711)。例えば、古典計算部71は、基底行列βの逆行列β-1のゼロではない要素の分母の公倍数を整数Nに設定する。そのような公倍数は無限に存在するが、任意に選択した数を整数Nに固定すればよい。例えば、古典計算部71は、基底行列βの逆行列β-1のゼロではない要素の分母の最小公倍数を整数Nに設定する。
<< Processing of classical calculation unit 71 >>
The arithmetic unit of the classical calculation unit 71 (FIG. 3) of the determination device 7 selects an integer N (step S711). For example, the classical calculation unit 71 sets the common multiple of the denominator of the non-zero element of the inverse matrix β -1 of the basis matrix β to the integer N. There are an infinite number of such common multiples, but an arbitrarily selected number may be fixed to an integer N. For example, the classical calculation unit 71 sets the least common multiple of the denominator of the non-zero element of the inverse matrix β -1 of the basis matrix β to an integer N.

さらに古典計算部71の演算部は、基底Bおよび整数Nを用い、BのNに関する双対基底Bを得て出力する(ステップS712)。なお、L(B)が格子{Σi=1,…,n |x∈Z,b∈B}であり、xが整数であり、L(B)が基底Bと整数Nとに対して定義されるNに関する双対格子である。また、「B」の上付き添え字「-」は「B」の真上に記載されるべきものであるが、記載表記の制約上、「B」の右斜め上に記載している。例えば古典計算部71は、以下のように双対基底Bを計算する。古典計算部71は、NIとBとを行方向に並べて得られるn行2n列行列(n×2n行列)であり、(NI B)と表記する。ただし、Iはn次元単位行列である。古典計算部71は、この行列(NI B)の転置行列

Figure 0007101355000015
をエルミート分解し、
Figure 0007101355000016
を満たす2n×2nユニモジュラ行列Uと、エルミート標準形の2n×n行列Hを計算する。さらに古典計算部71は、ユニモジュラ行列Uの右下n×n部分行列を
Figure 0007101355000017
と設定する。ただし、uはn次元ベクトル(n次元行ベクトル)である。古典計算部71は、{u,…,u}のLLL既約基底を計算し、このLLL既約基底を双対基底B={b ,…,b }として出力する。双対基底Bのn次元ベクトルb ,…,b を要素とするn行n列の基底行列(n×n行列)をβと表記する。例えば、βはn次元ベクトルb をi行目の成分(行ベクトル)とする以下の行列である。
Figure 0007101355000018
Further, the arithmetic unit of the classical calculation unit 71 uses the basis B and the integer N to obtain and output the dual basis B with respect to N of B (step S712). Note that L (B) is a lattice {Σ i = 1, ..., n x i bi | x i ∈ Z, bi ∈ B } , x i is an integer, and L (B ) is the basis B. And a dual lattice with respect to N defined for the integer N. The superscript " - " of "B-" should be written directly above "B", but due to the limitation of the description notation, it is written diagonally above the right of "B". For example, the classical calculation unit 71 calculates the dual basis B as follows. The classical calculation unit 71 is an n-row, 2n-column matrix (n × 2n matrix) obtained by arranging NI and B in the row direction, and is expressed as (NI B). However, I is an n-dimensional identity matrix. The classical calculation unit 71 is a transposed matrix of this matrix (NI B).
Figure 0007101355000015
Hermitian disassembled
Figure 0007101355000016
A 2n × 2n unimodular matrix U satisfying the condition and a Hermite normal form 2n × n matrix H are calculated. Further, the classical calculation unit 71 sets the lower right n × n submatrix of the unimodular matrix U.
Figure 0007101355000017
And set. However, ui is an n-dimensional vector (n-dimensional row vector). The classical calculation unit 71 calculates the LLL irreducible basis of {u 1 , ..., Un }, and outputs this LLL irreducible basis as a dual basis B = {b -1 , ..., b n }. The n-by -n basis matrix (n × n matrix) having n-dimensional vectors b-1, ..., b- n of the dual basis B- is expressed as β-. For example, β is the following matrix having the n-dimensional vector b i as the component (row vector) of the i-th row.
Figure 0007101355000018

≪量子計算部72の処理≫
量子計算部72(図4)は、双対基底Bおよび目標ベクトルt1,t2を入力とし、n次元空間における適当な領域(整数要素からなるn次空間に属する部分領域)R⊆Zに対して以下に示す処理を実行し、スワップテストの結果を出力する(ステップS72)。例えば、R⊂Zである。η1⊆η2はη1がη2の部分集合であることを表し、η1⊂η2はη1がη2の真部分集合であることを表す。
<< Processing of quantum calculation unit 72 >>
The quantum calculation unit 72 (FIG. 4) takes the dual basis B and the target vectors t1 and t2 as inputs, and for an appropriate region (a subregion belonging to the nth-order space consisting of integer elements) R⊆Zn in the n -dimensional space. The following process is executed, and the result of the swap test is output (step S72). For example, R ⊂ Z n . η1 ⊆ η2 indicates that η1 is a subset of η2, and η1 ⊂ η2 indicates that η1 is a true subset of η2.

例えば、以下の領域R(ΓB)を領域Rとすることができる。

Figure 0007101355000019
ただし、R[0,Γ)は0以上Γ未満の実数を表し、x"j"は実数であり、Γは2以上の整数であり、例えばΓ=2である。
あるいは、例えば、以下の領域R(ΓB-*)を領域Rとしてもよい。
Figure 0007101355000020
ただし、B-*は双対基底BのGram-Schmidt非正規化直交ベクトルb-* ,…,b-* からなる基底B-*={b-* ,…,b-* }を表す。b-* ,・・・,b-* はb ,・・・,b を適当な順序に並べ、Gram-Schmidt直交化法を使って直交化することで得られる。b-* のそれぞれはn個の整数要素からなるn次元ベクトルである。なお、これらの領域Rは本発明を限定するものではない。 For example, the following region R (ΓB ) can be defined as region R.
Figure 0007101355000019
However, R [0, Γ) represents a real number of 0 or more and less than Γ, x "j" is a real number, and Γ is an integer of 2 or more, for example, Γ = 2.
Alternatively, for example, the following region R (ΓB − * ) may be used as the region R.
Figure 0007101355000020
However, B- * is a basis B- * = {b- * 1 , ..., b- * n } consisting of the Gram - Schmidt denormalized orthogonal vector b- * 1 , ..., b- * n of the dual basis B-. Represents. b- * 1 , ..., b- * n can be obtained by arranging b - 1 , ..., b - n in an appropriate order and orthogonalizing them using the Gram-Schmidt orthogonalization method. Each of b- * i is an n-dimensional vector consisting of n integer elements. It should be noted that these regions R do not limit the present invention.

量子計算部72は以下の計算を行う。
(a-1)量子計算部72の量子状態生成部72aは、量子状態が

Figure 0007101355000021
である量子状態(通常、複数の量子ビットで構成される)からなるレジスタを複数個生成(準備)する。ただし、|Λ|はΛの要素数を表す(ステップS72a-1)。 The quantum calculation unit 72 performs the following calculation.
(A-1) The quantum state generation unit 72a of the quantum calculation unit 72 has a quantum state.
Figure 0007101355000021
Generate (prepare) a plurality of registers consisting of quantum states (usually composed of a plurality of qubits). However, | Λ | represents the number of elements of Λ (step S72a-1).

(b-1)量子状態生成部72bは、一部の量子状態|φ>のレジスタに量子操作を行う(ステップS72b-1)。これにより、量子操作が施されたレジスタの量子状態は以下の状態に遷移(変化)する。

Figure 0007101355000022
例えば、量子状態生成部72bは、ステップS72a-1で作成された量子状態|φ>のレジスタのうち半分のレジスタに量子操作を行う。ただし、<τ,χ>はτとχとの内積であり、iは虚数単位を表す。ここで用いる量子操作とは、例えば、i=1,…,nについて以下で表される量子回転ゲート、つまりn種類の量子回転ゲートである。
Figure 0007101355000023
以上により、量子操作がされないレジスタは量子状態|φ>であり、量子操作がされたレジスタは量子状態|φ>t1となる。以下、便宜上、量子状態|φ>のレジスタを第1レジスタ、量子状態|φ>t1のレジスタを第2レジスタと呼ぶこととすると、第1レジスタと第2レジスタはそれぞれ複数あってもよく、第1レジスタと第2レジスタの数が同数であることが好ましい。 (B-1) The quantum state generation unit 72b performs a quantum operation on a register of some quantum states | φ> 0 (step S72b-1). As a result, the quantum state of the register subjected to quantum operation transitions (changes) to the following state.
Figure 0007101355000022
For example, the quantum state generation unit 72b performs a quantum operation on half of the registers of the quantum state | φ> 0 created in step S72a-1. However, <τ, χ> is the inner product of τ and χ , and im represents an imaginary unit. The quantum operation used here is, for example, a quantum rotation gate represented by the following for i = 1, ..., N, that is, n kinds of quantum rotation gates.
Figure 0007101355000023
As a result, the quantum-operated register has a quantum state | φ> 0 , and the quantum-operated register has a quantum state | φ> t1 . Hereinafter, for convenience, if the register with the quantum state | φ> 0 is referred to as the first register and the register with the quantum state | φ> t1 is referred to as the second register, there may be a plurality of first register and second register, respectively. It is preferable that the number of the first register and the number of the second register are the same.

(c-1)スワップテスト部72cは、量子状態|φ>のレジスタと、量子状態|φ>t1のレジスタとをペアとして、各ペアに対してスワップテストを実行し、各ペアに対するスワップテストの結果が受理(0,Yes)となるか拒否(1,No)となるかを判定する。スワップテストは周知のテスト方法であるため詳細な説明を省略するが、例えば、スワップテスト部72cは、図5に例示するようなアダマールゲート721c,723cと制御スワップゲート722cと観測ゲート724cとを含む量子回路に対応する量子操作により、スワップテストを実行する。具体的には、スワップテスト部72cは、量子状態|0>の量子ビットI(1個の量子ビット)にアダマールゲート721cを適用し、量子状態|φ>の量子ビットII(通常、複数の量子ビット)と量子状態|φ>=|φ>t1の量子ビットIII(通常、複数の量子ビット)と量子ビットIとに対し、量子ビットIIと量子ビットIIIを制御ビットとし、量子ビットIを目標ビットとした制御スワップゲート722cを適用し、さらに量子ビットIにアダマールゲート723cを適用し、観測ゲート724cで量子ビットIを観察することで、受理(0,Yes)または拒否(1,No)との結果を得て出力する。 (C-1) The swap test unit 72c executes a swap test for each pair with a register having a quantum state | φ> 0 and a register having a quantum state | φ> t1 as a pair, and a swap test for each pair. It is determined whether the result of is accepted (0, Yes) or rejected (1, No). Since the swap test is a well-known test method, detailed description thereof will be omitted. For example, the swap test unit 72c includes the Hadamard gates 721c and 723c, the control swap gate 722c, and the observation gate 724c as illustrated in FIG. Swap test is performed by the quantum operation corresponding to the quantum circuit. Specifically, the swap test unit 72c applies the adamar gate 721c to the qubit I (one qubit) of the qubit | 0>, and the qubit II (usually a plurality of qubits II) of the qubit | φ> 0 . Qubit) and qubit | φ> t = | φ> t1 qubit III (usually multiple qubits) and qubit I, with qubit II and qubit III as control bits, qubit I Accept (0, Yes) or reject (1, No) by applying the control swap gate 722c with ) And output.

また、量子計算部72は以下のように確率pを計算する。
(a-2)量子計算部72の量子状態生成部72aは、量子状態が

Figure 0007101355000024
である量子状態(通常、複数の量子ビットで構成される)からなるレジスタを複数個生成(準備)して出力する(ステップS72a-2)。 Further, the quantum calculation unit 72 calculates the probability p2 as follows.
(A-2) The quantum state of the quantum state generation unit 72a of the quantum calculation unit 72 is
Figure 0007101355000024
A plurality of registers composed of quantum states (usually composed of a plurality of qubits) are generated (prepared) and output (step S72a-2).

(b-2)量子状態生成部72bは、一部の量子状態|φ>のレジスタに量子操作を行う(ステップS72b-2)。これにより、量子操作が施されたレジスタの量子状態は以下の状態に遷移(変化)する。

Figure 0007101355000025
例えば、量子状態生成部72bは、量子状態|φ>のレジスタのうち半分のレジスタに量子操作を行うことで量子状態|φ>t2のレジスタを得る。ここでの量子操作は、例えば以下で表される量子回転ゲートである。
Figure 0007101355000026
以上により、量子操作がされないレジスタは量子状態|φ>であり、量子操作がされたレジスタは量子状態|φ>t2となる。以下、量子状態|φ>のレジスタを第1レジスタ、量子状態|φ>t2のレジスタを第3レジスタと呼ぶこととすると、第1レジスタと第3レジスタはそれぞれ複数あってもよく、第1レジスタと第3レジスタの数が同数であることが好ましい。 (B-2) The quantum state generation unit 72b performs a quantum operation on a register of some quantum states | φ> 0 (step S72b-2). As a result, the quantum state of the register subjected to quantum operation transitions (changes) to the following state.
Figure 0007101355000025
For example, the quantum state generation unit 72b obtains a register of quantum state | φ> t2 by performing a quantum operation on half of the registers of quantum state | φ> 0 . The quantum operation here is, for example, a quantum rotation gate represented by the following.
Figure 0007101355000026
As a result, the quantum-operated register has a quantum state | φ> 0 , and the quantum-operated register has a quantum state | φ> t2 . Hereinafter, assuming that the register of quantum state | φ> 0 is referred to as the first register and the register of quantum state | φ> t2 is referred to as the third register, there may be a plurality of first register and third register, respectively, and the first register may be present. It is preferable that the number of registers and the number of third registers are the same.

(c-2)スワップテスト部72cは、量子状態|φ>のレジスタと、量子状態|φ>t2のレジスタとをペアとして、各ペアに対してスワップテストを実行し、各ペアに対するスワップテストの結果が受理(0,Yes)となるか拒否(1,No)となるかを判定する。スワップテスト部72cは、複数個のペアの各々に対してスワップテストを行うことで得られた結果を出力する。 (C-2) The swap test unit 72c executes a swap test for each pair with a register having a quantum state | φ> 0 and a register having a quantum state | φ> t2 as a pair, and a swap test for each pair. It is determined whether the result of is accepted (0, Yes) or rejected (1, No). The swap test unit 72c outputs the result obtained by performing the swap test for each of the plurality of pairs.

≪古典計算部73の処理≫
古典計算部73は、量子計算部72から出力された結果を用いて、量子状態|φ>と量子状態|φ>t1とのペアに対するスワップテストの結果が受理となる確率pと、量子状態|φ>と量子状態|φ>t2とのペアに対するスワップテストの結果が受理となる確率pを計算する。そして、古典計算部73は、p≧pの場合は||t1(d)||≦||t2(d)||であることを表す情報を出力し、p<pの場合は||t1(d)||>||t2(d)||であることを表す情報を出力する。あるいは、古典計算部73は、p>pの場合に||t1(d)||<||t2(d)||であることを表す情報を出力し、p≦pの場合に||t1(d)||≧|t2(d)||であることを表す情報を出力する(ステップS73)。
<< Processing of classical calculation unit 73 >>
Using the result output from the quantum calculation unit 72, the classical calculation unit 73 has a probability p 1 that the result of the swap test for the pair of the quantum state | φ> 0 and the quantum state | φ> t1 is accepted, and the quantum. Calculate the probability p2 that the result of the swap test for the pair of state | φ> 0 and quantum state | φ> t2 is accepted. Then, the classical calculation unit 73 outputs information indicating that || t1 ( d) || ≦ || t2 ( d) || when p1 ≧ p2, and when p1 <p2. Outputs information indicating that || t1 (d) ||> || t2 (d) ||. Alternatively, the classical calculation unit 73 outputs information indicating that || t1 (d) || <|| t2 (d) || in the case of p 1 > p 2 , and in the case of p 1 ≤ p 2 . Information indicating that || t1 (d) || ≧ | t2 (d) || is output to || (step S73).

<領域Rの選択とそれに対応する量子状態|φ>の効率的作成方法の例示>
次に、領域Rとそれに対応する量子状態|φ>の効率的作成方法を例示する。
以下では領域Rを以下の例1,2のように定義する場合を例示する。
≪領域の例1≫

Figure 0007101355000027
この領域R(2B)は基底Bが張るn次元空間におけるn次元平行多面体の内部領域である。
≪領域の例2≫
Figure 0007101355000028
この領域R(2B-*)は基底Bが張るn次元空間におけるn次元立方体の内部領域である。
以下では、上記の2種類の領域R=R(2B),R(2B-*)について
Figure 0007101355000029
で定義された量子状態|φ>の効率的な生成方法を例示する。 <Selection of region R and corresponding quantum state | φ> Example of efficient creation method of 0 >
Next, an efficient method for creating the region R and the corresponding quantum state | φ> 0 will be illustrated.
In the following, a case where the region R is defined as in Examples 1 and 2 below will be illustrated.
<< Example of area 1 >>
Figure 0007101355000027
This region R (2B ) is an internal region of an n-dimensional parallel polyhedron in the n-dimensional space stretched by the basis B .
<< Example 2 of the area >>
Figure 0007101355000028
This region R (2B − * ) is an internal region of an n-dimensional cube in the n-dimensional space stretched by the basis B .
In the following, the above two types of regions R = R ( 2B- ) and R (2B- * )
Figure 0007101355000029
An efficient method for generating the quantum state | φ> 0 defined in is illustrated.

≪領域の例1における量子状態|φ>の効率的な生成方法の一例≫
古典計算部71の演算部は、基底行列βの逆行列β-1のゼロではない要素の分母の公倍数を整数Nに設定する。例えば、古典計算部71は、基底行列βの逆行列β-1のゼロではない要素の分母の最小公倍数を整数Nに設定する(ステップS711)。さらに古典計算部71の演算部は、基底Bおよび整数Nを用い、前述のようにBのNに関する双対基底Bを得て出力する(ステップS712)。
<< Example of efficient generation method of quantum state | φ> 0 in region example 1 >>
The arithmetic unit of the classical calculation unit 71 sets the common multiple of the denominator of the non-zero element of the inverse matrix β -1 of the basis matrix β to an integer N. For example, the classical calculation unit 71 sets the least common multiple of the denominator of the non-zero element of the inverse matrix β -1 of the basis matrix β to the integer N (step S711). Further, the arithmetic unit of the classical calculation unit 71 uses the basis B and the integer N, and obtains and outputs the dual basis B with respect to N of B as described above (step S712).

量子状態生成部72aは、以下の手順により量子状態|φ>を生成する(ステップS72a-1)。
1.量子状態生成部72aは、N次元を持つ量子状態空間において、以下の量子重ね合わせ状態からなる量子ビット列(第1レジスタ)を準備する。

Figure 0007101355000030
これは、L(B)の格子点を重ね合せ状態で表現したものに相当する。 The quantum state generation unit 72a generates a quantum state | φ> 0 by the following procedure (step S72a-1).
1. 1. The quantum state generation unit 72a prepares a quantum bit string (first register) composed of the following quantum superposition states in a quantum state space having Nn dimensions.
Figure 0007101355000030
This corresponds to the representation of the L (B ) grid points in a superposed state.

2.量子状態生成部72aは、式(11)の量子状態の第1レジスタと、新たに用意した1個の初期化された量子状態|0>の量子ビット(第2レジスタ)に対し、以下の変換に対応する量子操作を行う。

Figure 0007101355000031
ここで、
Figure 0007101355000032
とは、
Figure 0007101355000033
を満たす唯一の行ベクトルyのことである。したがって、
Figure 0007101355000034
は基底Bが張る空間の座標系におけるベクトルxの終点の座標である。この量子操作により第1レジスタと第2レジスタの量子状態は以下の状態に変換される。
Figure 0007101355000035
Figure 0007101355000036
とすると、式(12)は
Figure 0007101355000037
と書ける。 2. 2. The quantum state generation unit 72a converts the following conversions into the first register of the quantum state of the equation (11) and the newly prepared quantum bit (second register) of the initialized quantum state | 0>. Perform quantum operations corresponding to.
Figure 0007101355000031
here,
Figure 0007101355000032
Is
Figure 0007101355000033
It is the only row vector y that satisfies. therefore,
Figure 0007101355000034
Is the coordinates of the end point of the vector x in the coordinate system of the space spanned by the basis B . By this quantum operation, the quantum states of the first register and the second register are converted into the following states.
Figure 0007101355000035
Figure 0007101355000036
Then, equation (12) is
Figure 0007101355000037
Can be written.

3.量子状態生成部72aは、式(13)の量子状態の第1レジスタおよび第2レジスタと、新たに用意したn個の初期化された量子ビット列(第3レジスタ)に対し、さらに以下で表される量子操作を行う。

Figure 0007101355000038
これにより、第1レジスタと第2レジスタと第3レジスタの量子状態は以下の状態に変換される。
Figure 0007101355000039
3. 3. The quantum state generation unit 72a is further represented by the following with respect to the first register and the second register of the quantum state of the equation (13) and the newly prepared n initialized quantum bit strings (third register). Quantum operation.
Figure 0007101355000038
As a result, the quantum states of the first register, the second register, and the third register are converted into the following states.
Figure 0007101355000039

4.量子状態生成部72aは、式(14)の第3レジスタ

Figure 0007101355000040
を観測し、観測値をz,…,zを得る。観測後の第1レジスタと第2レジスタの量子状態は以下の状態となる。
Figure 0007101355000041
ここで
Figure 0007101355000042
とすると、
Figure 0007101355000043
である。すると、以下の性質が成立する。
R(2B-)∩L (B-)=[0,N)n∩Ln+1(B-) (15A) 4. The quantum state generator 72a is the third register of the equation (14).
Figure 0007101355000040
Is observed, and the observed values are z 1 , ..., Zn . The quantum states of the first register and the second register after observation are as follows.
Figure 0007101355000041
here
Figure 0007101355000042
Then
Figure 0007101355000043
Is. Then, the following properties are established.
R ( 2B- ) ∩L (B- ) = [0, N) n ∩L n + 1 (B- ) (15A)

5.量子状態生成部72aは、式(15)の量子状態の第1レジスタと第2レジスタに対して

Figure 0007101355000044
で表される量子操作を行う。これにより、第2レジスタが消去され、第1レジスタは以下の量子状態となる。
Figure 0007101355000045
5. The quantum state generation unit 72a relates to the first register and the second register of the quantum state of the equation (15).
Figure 0007101355000044
Perform the quantum operation represented by. As a result, the second register is erased, and the first register is in the following quantum state.
Figure 0007101355000045

6.量子状態生成部72aは、第1レジスタに対して

Figure 0007101355000046
で表される量子操作を行う。これにより、第1レジスタの量子状態は以下の状態となる。
Figure 0007101355000047
式(15A)の性質により、式(17)の量子状態は
Figure 0007101355000048
と等しいことが言える。つまり、以上の操作により、量子状態|φ>が得られたことになる。 6. The quantum state generator 72a refers to the first register.
Figure 0007101355000046
Perform the quantum operation represented by. As a result, the quantum state of the first register becomes the following state.
Figure 0007101355000047
Due to the nature of equation (15A), the quantum state of equation (17) is
Figure 0007101355000048
Can be said to be equal to. That is, the quantum state | φ> 0 is obtained by the above operation.

≪領域の例2における量子状態|φ>の効率的な生成方法の一例≫
領域R(2B-*)の定義は、双対基底Bのn次元ベクトルb ,…,b に対する直交化の順序に依存する。この例では、簡単のため、逆順、すなわちb ,…,b の順序でb ,…,b を直交化したものをb-* ,…,b-* とし、量子状態|φ>の生成方法を例示する。b-* ,…,b-* の定義より、

Figure 0007101355000049
Figure 0007101355000050
が成り立つ。ただし、j”=n-1,n-2,…,1である。また
Figure 0007101355000051
はベクトルb j”のb-* j”への射影である。したがって、
Figure 0007101355000052
Figure 0007101355000053
である。ただし、Qは有理数の集合を表す。有理数を要素とする上半三角行列A”を以下のように定義する。
Figure 0007101355000054
すると、式(19)より、
Figure 0007101355000055
が成立する。b-* ,…,b-* は直交ベクトルなので、これらを正規化した要素を行ベクトルとした行列
Figure 0007101355000056
は直交行列である。 << Example of efficient generation method of quantum state | φ> 0 in region example 2 >>
The definition of the region R (2B − * ) depends on the order of orthogonalization of the dual basis B to the n-dimensional vectors b - 1 , ..., b n . In this example, for the sake of simplicity, b- * 1 , ..., b- * n are obtained by orthogonalizing b - 1 , ..., b - n in the reverse order, that is, in the order of b - n , ..., b - 1 . , Quantum state | φ> 0 is illustrated. From the definition of b- * 1 , ..., b- * n
Figure 0007101355000049
Figure 0007101355000050
Is true. However, j "= n-1, n-2, ..., 1 is also satisfied.
Figure 0007101355000051
Is a projection of the vector b - j " on b- * j" . therefore,
Figure 0007101355000052
Figure 0007101355000053
Is. However, Q represents a set of rational numbers. The upper half triangular matrix A "with rational numbers as elements is defined as follows.
Figure 0007101355000054
Then, from equation (19),
Figure 0007101355000055
Is established. Since b- * 1 , ..., b- * n are orthogonal vectors, a matrix whose normalized elements are row vectors.
Figure 0007101355000056
Is an orthogonal matrix.

古典計算部71の演算部は、基底行列βの逆行列β-1(基底行列βの逆行列β--1でもよい)のゼロではない要素の分母の公倍数を整数Nに設定する。例えば、古典計算部71は、基底行列βの逆行列β-1のゼロではない要素の分母の最小公倍数を整数Nに設定する(ステップS711)。さらに古典計算部71の演算部は、基底Bおよび整数Nを用い、前述のようにBのNに関する双対基底Bを得て出力する(ステップS712)。 The arithmetic unit of the classical calculation unit 71 sets the common multiple of the denominator of the non-zero element of the inverse matrix β -1 of the base matrix β (which may be the inverse matrix β -1 of the base matrix β ) to an integer N. For example, the classical calculation unit 71 sets the least common multiple of the denominator of the non-zero element of the inverse matrix β -1 of the basis matrix β to the integer N (step S711). Further, the arithmetic unit of the classical calculation unit 71 uses the basis B and the integer N, and obtains and outputs the dual basis B with respect to N of B as described above (step S712).

量子状態生成部72aは、以下の手順により量子状態|φ>を生成する(ステップS72a-1)。
1.量子状態生成部72aは、N次元を持つ量子状態空間において、以下の量子重ね合わせ状態の量子ビット列(第1レジスタ)を用意する。

Figure 0007101355000057
これは、L(B)の格子点を重ね合せ状態で表現したものに相当する。 The quantum state generation unit 72a generates a quantum state | φ> 0 by the following procedure (step S72a-1).
1. 1. The quantum state generation unit 72a prepares the following quantum bit strings (first register) in the quantum superposition state in the quantum state space having Nn dimensions.
Figure 0007101355000057
This corresponds to the representation of the L (B ) grid points in a superposed state.

2.量子状態生成部72aは、式(23)の量子状態の第1レジスタと、新たに用意した初期化された1個の量子ビット(第2レジスタ)に対し、

Figure 0007101355000058
で表される量子操作を行う。ここで、x=(x,…,x)のとき
Figure 0007101355000059
であるとする。この量子操作によって第1レジスタと第2レジスタの量子状態は以下の状態となる。
Figure 0007101355000060
y=(y'x,1,…,y'x,n)=x・Uとすると、この量子状態は
Figure 0007101355000061
と表現できる。式(24)の量子状態を|Ψ>と表記する。 2. 2. The quantum state generation unit 72a relates to the first register of the quantum state of the equation (23) and one newly prepared qubit (second register).
Figure 0007101355000058
Perform the quantum operation represented by. Here, when x = (x 1 , ..., X n )
Figure 0007101355000059
Suppose that By this quantum operation, the quantum states of the first register and the second register become the following states.
Figure 0007101355000060
If y = (y'x , 1 , ..., y'x , n ) = x · U, then this quantum state is
Figure 0007101355000061
Can be expressed as. The quantum state of equation (24) is expressed as | Ψ 1 >.

3.量子状態生成部72aは、以下の操作(a)(b)をi=1,…,nに対して実行し、|Ψ>を|Ψ>,|Ψ>,・・・と順番に量子状態を変換していくことで、最後に量子状態|Ψn+1>を得る。ここで|Ψ>とは、前述の式(14)の第3レジスタを観測して得られる観測値z,…,zを用いれば

Figure 0007101355000062
と表現される量子状態である。ただし、
Figure 0007101355000063
とする。
(a)量子状態生成部72aは、量子状態|Ψ>の第1レジスタおよび第2レジスタと、新たに用意した1個の初期化された量子ビット(第3レジスタ)に対し、以下の量子状態に変換する量子操作を行う。
Figure 0007101355000064
(b)量子状態生成部72aは、第3レジスタの量子ビットを観測する。観測により得られる観測値をzとし、観測後の第1レジスタおよび第2レジスタからなる量子状態を|Ψi+1>とする。 3. 3. The quantum state generation unit 72a executes the following operations (a) and (b) for i = 1, ..., N, and changes | Ψ 1 > to | Ψ 2 >, | Ψ 3 >, ... By converting the quantum state to, the quantum state | Ψ n + 1 > is finally obtained. Here, | Ψ i > means that the observed values z 1 , ..., Zn obtained by observing the third register of the above equation (14) are used.
Figure 0007101355000062
It is a quantum state expressed as. however,
Figure 0007101355000063
And.
(A) The quantum state generation unit 72a has the following quanta with respect to the first and second registers of the quantum state | Ψ i > and one newly prepared initialized qubit (third register). Perform a quantum operation to convert to a state.
Figure 0007101355000064
(B) The quantum state generation unit 72a observes the qubit of the third register. Let zi be the observed value obtained by the observation, and let | Ψ i + 1 > be the quantum state consisting of the first register and the second register after the observation.

4.量子状態生成部72aは、得られた量子状態|Ψn+1>に対して

Figure 0007101355000065
で表される量子操作を行う。これにより、第2レジスタが消去され、第1レジスタは以下の量子状態となる。
Figure 0007101355000066
4. The quantum state generation unit 72a with respect to the obtained quantum state | Ψ n + 1 >
Figure 0007101355000065
Perform the quantum operation represented by. As a result, the second register is erased, and the first register is in the following quantum state.
Figure 0007101355000066

5.量子状態生成部72aは、第1レジスタに対して

Figure 0007101355000067
で表される量子操作を実行する。これにより、第1レジスタの量子状態は以下の状態に変化する。
Figure 0007101355000068
式(27)の量子状態は
Figure 0007101355000069
と等しいため、以上の操作により、量子状態|φ>が得られたことになる。 5. The quantum state generator 72a refers to the first register.
Figure 0007101355000067
Perform the quantum operation represented by. As a result, the quantum state of the first register changes to the following state.
Figure 0007101355000068
The quantum state of equation (27) is
Figure 0007101355000069
Therefore, the quantum state | φ> 0 is obtained by the above operation.

<具体例>
次に、本実施形態の具体例を示す。ここでは、n=2、B={(8,4),(6,-5)},t1=(41,22),t2=(29,57)に対する確率p,pの計算例を示す。ただし、基底行列は

Figure 0007101355000070
であり、最近ベクトルt1(c)=(40,20),t2(c)=(34,57)、差分ベクトル(最短差分ベクトル)t1(d)=(1,2),t2(d)=(-5,0)である。 <Specific example>
Next, a specific example of this embodiment will be shown. Here, a calculation example of the probabilities p1 and p2 for n = 2 , B = {(8,4), (6, -5)}, t1 = (41,22), t2 = (29,57). show. However, the basis matrix is
Figure 0007101355000070
Recently, the vector t1 (c) = (40,20), t2 (c) = (34,57), the difference vector (shortest difference vector) t1 (d) = (1,2), t2 (d) = (-5,0).

≪古典計算部71の処理≫
古典計算部71は、基底行列βの逆行列β-1を計算し、

Figure 0007101355000071
を得る。64の倍数なら整数Nとして何を選んでもよいが、最も簡単な例としてN=64が選択されたとする(ステップS711)。 << Processing of classical calculation unit 71 >>
The classical calculation unit 71 calculates the inverse matrix β -1 of the basis matrix β, and calculates the inverse matrix β -1 .
Figure 0007101355000071
To get. Any integer N may be selected as long as it is a multiple of 64, but it is assumed that N = 64 is selected as the simplest example (step S711).

さらに古典計算部71の演算部は、基底B={(8,4),(6,-5)}および整数N=64を用い、BのNに関する双対基底Bを以下のように得て出力する。A’を行列(N I B)とする。すなわち、

Figure 0007101355000072
である。行列A’のエルミート標準形は上半三角行列
Figure 0007101355000073
であり、ユニモジュラ行列
Figure 0007101355000074
に対してU・A’=A”が成立する。このUの右下の2×2部分行列の行ベクトルの集合{(1,14),(0,64)}は、格子L(B)のNに関する双対格子(法Nにおける双対格子)の基底である。LLLアルゴリズムを用いて{(1,14),(0,64)}のLLL既約基底を計算すると{(5,6),(4,-8)}が得られる。従って、双対基底B={(5,6),(4,-8)}とする。また双対基底Bの基底ベクトル(5,6),(4,-8)を行ベクトルとする行列を
Figure 0007101355000075
と表現する(ステップS712)。 Further, the arithmetic unit of the classical calculation unit 71 uses the basis B = {(8,4), (6, -5)} and the integer N = 64, and obtains the dual basis B - related to N of B as follows. Output. Let A'be the matrix (NI B) T. That is,
Figure 0007101355000072
Is. Hermite normal form of matrix A'is the upper half triangular matrix
Figure 0007101355000073
And the unimodular matrix
Figure 0007101355000074
U ・ A'= A ”is established for. The set of row vectors {(1,14), (0,64)} of the 2 × 2 submatrix at the lower right of U is the lattice L (B). It is the basis of the dual lattice (dual lattice in the method N) for N. When the LLL irreducible basis of {(1,14), (0,64)} is calculated using the LLL algorithm, {(5,6), (4, -8)} is obtained. Therefore, the dual basis B = {(5, 6), (4, -8)}. Also , the basis vector (5, 6), ( A matrix whose row vector is 4, -8)
Figure 0007101355000075
Is expressed (step S712).

≪量子計算部72の処理≫
量子計算部72は、双対基底Bおよび目標ベクトルt1,t2を入力とし、領域R=R(2B)に対して以下に示す処理を実行し、0(受理,Yes)が得られる確率p,pを計算して出力する(ステップS72)。R=R(2B)の場合、以下が成り立つ。

Figure 0007101355000076
<< Processing of quantum calculation unit 72 >>
The quantum calculation unit 72 takes the dual basis B- and the target vectors t1 and t2 as inputs, executes the following processing for the region R = R ( 2B- ), and obtains 0 (acceptance, Yes) with a probability p. 1 and p 2 are calculated and output (step S72). When R = R (2B ), the following holds.
Figure 0007101355000076

量子計算部72は以下のように確率pを計算する。
(a-1)量子計算部72の量子状態生成部72aは、

Figure 0007101355000077
の量子状態がエンコードされた6個の量子ビットからなるレジスタを2個生成(合計12個の量子ビットを生成)して出力する。ただし、-8や-2はそれぞれ56(=-8 mod 64),62(=-2 mod 64)としてエンコードされる(ステップS72a-1)。 The quantum calculation unit 72 calculates the probability p 1 as follows.
(A-1) The quantum state generation unit 72a of the quantum calculation unit 72 is
Figure 0007101355000077
Generates two registers consisting of six qubits encoded by the quantum state of (a total of 12 qubits are generated) and outputs them. However, -8 and -2 are encoded as 56 (= -8 mod 64) and 62 (= -2 mod 64), respectively (step S72a-1).

(b-1)量子状態生成部72bは、量子状態が|φ>である1個のレジスタに対し、以下の2種類(格子の次元数nと同じ数)の量子回転ゲートを適用する。

Figure 0007101355000078
Figure 0007101355000079
これにより、回転ゲートを適用したレジスタの量子状態は、
Figure 0007101355000080
となる。ただし、t1=(t1,1,t1,2)=(41,22)である(ステップS72b-1)。 (B-1) The quantum state generation unit 72b applies the following two types of quantum rotation gates (the same number as the number of dimensions n of the lattice) to one register whose quantum state is | φ> 0 .
Figure 0007101355000078
Figure 0007101355000079
As a result, the quantum state of the register to which the rotating gate is applied becomes
Figure 0007101355000080
Will be. However, t1 = (t 1 , 1, t 1, 2 ) = (41, 22) (step S72b-1).

(c-1)スワップテスト部72cは、量子状態|φ>のレジスタと、量子状態|φ>t1のレジスタとの各ペアに対してスワップテストを実行し、結果が受理(0,Yes)となるか不受理(1,No)となるかの判定結果を得て出力する(ステップS72c-1)。 (C-1) The swap test unit 72c executes a swap test for each pair of the register of the quantum state | φ> 0 and the register of the quantum state | φ> t1 , and the result is accepted (0, Yes). (Step S72c-1), the determination result of whether or not the result is rejected (1, No) is obtained and output.

量子計算部72は以下の計算を行う。
(a-2)量子計算部72の量子状態生成部72aは、

Figure 0007101355000081
の量子状態がエンコードされた6個の量子ビットであるレジスタを2個生成(合計12個の量子ビットを生成)して出力する。ただし、-8や-2はそれぞれ56(=-8 mod 64),62(=-2 mod 64)としてエンコードされる(ステップS72a-2)。 The quantum calculation unit 72 performs the following calculation.
(A-2) The quantum state generation unit 72a of the quantum calculation unit 72 is
Figure 0007101355000081
Generates two registers (a total of 12 qubits are generated), which are 6 qubits in which the quantum state of is encoded, and outputs them. However, -8 and -2 are encoded as 56 (= -8 mod 64) and 62 (= -2 mod 64), respectively (step S72a-2).

(b-2)量子状態生成部72bは、量子状態が|φ>である1個のレジスタ(6個の量子ビット)に対し、以下の2種類(次元数分)の量子回転ゲートを適用する。

Figure 0007101355000082
Figure 0007101355000083
これにより、量子回転ゲートを適用したレジスタの量子状態は以下のようになる。
Figure 0007101355000084
ただし、t2=(t2,1,t2,2)=(29,57)である(ステップS72b-2)。 (B-2) The quantum state generator 72b applies the following two types of quantum rotation gates (for the number of dimensions) to one register (six qubits) whose quantum state is | φ> 0 . do.
Figure 0007101355000082
Figure 0007101355000083
As a result, the quantum state of the register to which the quantum rotation gate is applied becomes as follows.
Figure 0007101355000084
However, t2 = (t 2,1 , t 2,2 ) = (29,57) (step S72b-2).

(c-2)スワップテスト部72cは、レジスタの量子状態|φ>と、レジスタの量子状態|φ>t2との各ペアに対してスワップテストを実行し、結果が受理(0,Yes)となるか不受理(1,No)となるかの判定結果を得て出力する(ステップS72c-2)。 (C-2) The swap test unit 72c executes a swap test for each pair of the quantum state | φ> 0 of the register and the quantum state | φ> t2 of the register, and the result is accepted (0, Yes). (Step S72c-2), the determination result of whether or not the result is rejected (1, No) is obtained and output.

≪古典計算部73の処理≫
古典計算部73は、スワップテスト部72cの判定結果を用いて、上述の確率p,pの値を計算する。目標ベクトルt1は(41,22)であるため、以下が成り立つ。

Figure 0007101355000085
ただし、前述のようにiは虚数単位である。また、Δ(B-)はL(B-)の単位平行多面体の頂点座標を列挙した行列である。よって以下が成り立つ。
Figure 0007101355000086
目標ベクトルt2は(29,57)であるため、以下が成り立つ。
Figure 0007101355000087
よって以下が成り立つ。
Figure 0007101355000088
<< Processing of classical calculation unit 73 >>
The classical calculation unit 73 calculates the values of the above - mentioned probabilities p1 and p2 by using the determination result of the swap test unit 72c. Since the target vector t1 is (41,22), the following holds.
Figure 0007101355000085
However, as described above, im is an imaginary unit. Also, Δ (B- ) is a matrix that lists the coordinates of the vertices of the unit parallel polyhedron of L (B- ) . Therefore, the following holds.
Figure 0007101355000086
Since the target vector t2 is (29,57), the following holds.
Figure 0007101355000087
Therefore, the following holds.
Figure 0007101355000088

古典計算部73は、ステップS72c-1およびS72c-2で得られた確率p,pを入力としてこれらを比較する。この例ではp>pであるため、古典計算部73は、||t1(d)||<||t2(d)||であることを表す情報を出力する(ステップS73)。図6に、この具体例での確率p=p,pの密度分布と目標ベクトルt1,t2との関係を例示する。格子L(B)(B=(8,4),(6,-5))の格子点に近いほどpの値が大きくなる。図6ではpが大きい領域ほど濃い色を付してある。図6からも||t1(d)||<||t2(d)||であることが分かる。 The classical calculation unit 73 compares these with the probabilities p 1 and p 2 obtained in steps S72c-1 and S72c-2 as inputs. In this example, since p 1 > p 2 , the classical calculation unit 73 outputs information indicating that || t1 (d) || <|| t2 (d) || (step S73). FIG. 6 illustrates the relationship between the density distribution of the probabilities p = p1 and p2 and the target vectors t1 and t2 in this specific example. The closer to the grid points of the grid L (B) (B = (8,4), (6, -5)), the larger the value of p. In FIG. 6, the region where p is larger is colored darker. It can be seen from FIG. 6 that || t1 (d) || <|| t2 (d) ||.

[第2実施形態]
第2実施形態では、第1実施形態の手法を用い、与えられたn次元の最近ベクトル問題(B,t)の解を計算する(図1)。すなわち、与えられたn次元の最近ベクトル問題(B,t)に対し、第1実施形態の手法を用い、格子L(B)上で最近ベクトルt(B,c)∈L(B)を求める。最近ベクトルは、目標ベクトルtとの差分ベクトルt(B,d)=t-t(B,c)が最短となるようなベクトルである。ただし、t=(t,…,tはn個の整数要素tからなる目標ベクトルである。なお、t(B,c)およびt(B,d)においてBを表記しなくても混乱が生じない場合には、t(B,c)およびt(B,d)をそれぞれt(c)およびt(d)と表記する。また(B,t)=(B,t(0))である。
[Second Embodiment]
In the second embodiment, the solution of a given n-dimensional recent vector problem (B, t) is calculated using the method of the first embodiment (FIG. 1). That is, for a given n-dimensional recent vector problem (B, t), the recent vector t (B, c) ∈ L (B) is obtained on the lattice L (B) using the method of the first embodiment. .. Recently, the vector is a vector such that the difference vector t (B, d) = tt (B, c) with the target vector t is the shortest. However, t = (t 1 , ..., t n ) T is a target vector consisting of n integer elements ti. If there is no confusion even if B is not expressed in t (B, c ) and t (B, d ), t (B, c) and t (B, d) are referred to as t (c) , respectively. And t (d) . Further, (B, t) = (B 0 , t (0)).

本実施形態では、差分ベクトルt(d)を計算するために、計算装置が、格子L(B)の部分格子の列
L(B)=L(B)⊃L(B)⊃L(B)⊃・・・ (30)
を適当に選び(η2⊃η1はη1がη2の真部分集合であることを表す)、L(BD-1)/L(B)(ただし、Dは正の整数、すなわちD=1,2,…)におけるcosetの代表元{cD,0,cD,1,・・・,cD,ν(D)-1}の中から、以下を満たすようなα(D)(ただし、0≦α(D)<ν(D))を探す。
(B,d)=(t(D-1)-cD,α(D)(BD,d) (31)
ただしν(D)は正の整数である。また、上付き添え字「(BD,d)」に含まれる「BD」は本来「B」と記載すべきであるが、記載表記の制約上、「BD」と記載している。すなわち、上付き添え字「(BD,d)」は「(B,d)」を表す。ここで、{cD,0,cD,1,・・・,cD,ν(D)-1}がL(BD-1)/L(B)におけるcosetであるとは、{cD,0,cD,1,・・・,cD,ν(D)-1}が以下の条件1,2を満たすことである。
条件1:(cD,0+L(B))∪(cD,1+L(B))∪・・・∪(cD,ν(D)-1+L(B))=L(BD-1
条件2:0以上ν(D)以下の任意のκ1,κ2(0≦∀κ1,κ2≦ν(D))について、κ1≠κ2である場合に(cD,κ1+L(B))∩(cD,κ2+L(B))が空である。
探索によって選ばれたα(D)に対してt(D)=t(D-1)-cD,k’と定義する。ただし、k’=0,1,…,ν(D)-1である。すると式(31)から、差分ベクトルt(B,d)は以下のように表現できる。
(B,d)=t(0)(B0,d)=t(1)(B1,d)=t(2)(B2,d)・・・ (32)
すなわち、最近ベクトル問題(B,t(0)),(B,t(1)),(B,t(2)),・・・における最近ベクトルt(B0,c),t(B1,c),t(B2,c),・・・が不変になるようにt(0),t(1),t(2),・・・の列が選択されている。一般に、格子間の距離が大きくなるほど、最近ベクトルの計算は容易になる。そこで、十分な深さDまで探索を実行すれば(B,t(D))を古典アルゴリズムによって短時間で解くことができるので、式(32)を利用して最近ベクトル問題(B,t)の解を古典コンピュータにより計算すればよい。
In the present embodiment, in order to calculate the difference vector t (d) , the calculator uses a sequence of partial grids L (B) = L (B 0 ) ⊃ L (B 1 ) ⊃ L (of the grid L (B)). B 2 ) ⊃ ・ ・ ・ (30)
(Η2 ⊃ η1 means that η1 is a true subset of η2), L ( BD-1 ) / L ( BD ) (where D is a positive integer, that is, D = 1, From the representative elements of coset {c D, 0 , c D, 1 , ..., c D, ν (D) -1 } in (2, ...), α (D) that satisfies the following (however, Find 0≤α (D) <ν (D)).
t (B, d) = (t (D-1) -c D, α (D) ) (BD, d) (31)
However, ν (D) is a positive integer. Further, "BD" included in the superscript "(BD, d)" should be originally described as " BD ", but due to the limitation of the description notation, it is described as "BD". That is, the superscript "( BD , d)" represents "(BD, d)". Here, {c D, 0 , c D, 1 , ..., c D, ν (D) -1 } is a coset in L ( BD-1 ) / L ( BD ). c D, 0 , c D, 1 , ..., c D, ν (D) -1 } satisfies the following conditions 1 and 2.
Condition 1: (c D, 0 + L ( BD )) ∪ (c D, 1 + L ( BD )) ∪ ・ ・ ・ ∪ (c D, ν (D) -1 + L ( BD )) = L ( BD-1 )
Condition 2: For any κ1, κ2 (0 ≦ ∀κ1, κ2 ≦ ν (D)) of 0 or more and ν (D) or less, when κ1 ≠ κ2 (c D, κ1 + L ( BD )) ∩ (C D, κ2 + L ( BD )) is empty.
For α (D) selected by the search, t (D) = t (D-1) -c D, k'is defined. However, k'= 0,1, ..., ν (D) -1. Then, from the equation (31), the difference vector t (B, d) can be expressed as follows.
t (B, d) = t (0) (B0, d) = t (1) (B1, d) = t (2) (B2, d) ... (32)
That is, the recent vectors t (B0, c) , t ( in the recent vector problem (B 0 , t (0)), (B 1 , t (1)), (B 2 , t (2)), ... The columns of t (0), t (1), t (2), ... Are selected so that B1, c) , t (B2, c) , ... Are invariant. In general, the greater the distance between the grids, the easier it is to calculate the vector these days. Therefore, if the search is executed to a sufficient depth D , (BD, t (D)) can be solved in a short time by the classical algorithm. Therefore, the vector problem (B, t) has recently been solved by using the equation (32). ) Can be calculated by a classical computer.

本実施形態では、第1実施形態で説明したスワップテストの結果から得られる確率を評価関数とし、探索区間0≦α(D)<ν(D)において、式(30)を満たすようなα(D)を探索する。なお、最初に、式(30)の格子L(B)の部分格子の列L(B)=L(B)⊃L(B)⊃L(B)⊃・・・を選択してしまうと、部分格子の列の選択誤りに起因する探索誤りが起こるため、各深さDにおいて、複数の部分格子L(B)の候補に対して探索を実行し、最もよい部分格子Bとα(D)を選ぶ。すなわち、式(30)の格子L(B)の部分格子の列は最初に決定するのではなく、各深さD=1,2,・・・の探索処理で逐次決定していく。 In the present embodiment, the probability obtained from the result of the swap test described in the first embodiment is used as an evaluation function, and α (30) satisfying the equation (30) in the search interval 0 ≦ α (D) <ν (D). Search for D). First, select the column L (B) = L (B 0 ) ⊃L (B 1 ) ⊃ L (B 2 ) ⊃ ... Of the partial grid of the grid L (B) of the equation (30). If this happens, a search error will occur due to an error in selecting the columns of the partial lattice. Therefore, at each depth D, a search is executed for a plurality of candidates of the partial lattice L ( BD ), and the best partial lattice BD is executed. And α (D). That is, the sequence of the partial grids of the grid L (B) of the equation (30) is not determined first, but is sequentially determined by the search process of each depth D = 1, 2, ....

<構成>
図7に例示するように、本形態の計算装置8は、初期設定部81、基底選択部82、代表元選択部83、子ノード生成部84、古典計算部87、ノード選択部85、制御部86、量子計算部72を有する。初期設定部81、基底選択部82、代表元選択部83、子ノード生成部84、古典計算部71、ノード選択部85、および制御部86は、複数の演算部を有し、量子計算部72は、複数の量子計算部を有する(図示せず)。
<Structure>
As illustrated in FIG. 7, the arithmetic unit 8 of this embodiment has an initial setting unit 81, a base selection unit 82, a representative element selection unit 83, a child node generation unit 84, a classical calculation unit 87, a node selection unit 85, and a control unit. It has 86, a quantum calculation unit 72. The initial setting unit 81, the basis selection unit 82, the representative source selection unit 83, the child node generation unit 84, the classical calculation unit 71, the node selection unit 85, and the control unit 86 have a plurality of calculation units, and the quantum calculation unit 72. Has multiple quantum calculators (not shown).

<処理>
本形態の処理を説明する。
≪初期設定部81の処理≫
初期設定部81は、最近ベクトル問題(B,t)に対応する組(B,t)を入力とし、基底Bと目標ベクトルt(0)との組からなるノード(B,t(0))=(B,t)を設定して出力する。初期設定部81は、生成したノード(B,t(0))に(B,t(0))を表すラベルを付与し、それらをメモリ(図示せず)に格納する。またD=1に設定される(ステップS81)。
<Processing>
The processing of this embodiment will be described.
<< Processing of initial setting unit 81 >>
The initial setting unit 81 takes a set (B, t) corresponding to the vector problem (B, t) as an input, and a node (B 0 , t (0) consisting of a set of a basis B 0 and a target vector t (0). )) = (B, t) is set and output. The initial setting unit 81 assigns a label representing (B 0 , t (0)) to the generated node (B 0 , t (0)) and stores them in a memory (not shown). Further, D = 1 is set (step S81).

≪基底選択部82の処理≫
基底選択部82は、基底BD-1を入力とし、格子L(BD-1)の部分格子L(B)⊂L(BD-1)の基底Bを選択して出力する(ステップS82)。
<< Processing of base selection unit 82 >>
The basis selection unit 82 takes the basis BD-1 as an input, selects the basis BD of the partial lattice L ( BD ) ⊂L (BD- 1 ) of the lattice L ( BD-1 ), and outputs it ( Step S82).

≪代表元選択部83の処理≫
代表元選択部83は、格子L(B),L(BD-1)を入力とし、前述の条件1,2を満たすL(BD-1)/L(B)におけるcosetの代表元cD,0,cD,1,・・・,cD,ν(D)-1を選択して出力する(ステップS83)。なお、各代表元cD,0,cD,1,・・・,cD,ν(D)-1は整数要素からなるn次元ベクトルである。
<< Processing of representative source selection unit 83 >>
The representative element selection unit 83 takes the grids L ( BD ) and L ( BD-1 ) as inputs, and represents the coset in L ( BD-1 ) / L ( BD ) that satisfies the above conditions 1 and 2. The elements c D, 0 , c D, 1 , ..., C D, ν (D) -1 are selected and output (step S83). Note that each representative element c D, 0 , c D, 1 , ..., C D, ν (D) -1 is an n-dimensional vector composed of integer elements.

≪子ノード生成部84の処理≫
図8および図9に例示するように、子ノード生成部84は、B,t(D-1),cD,0,cD,1,・・・,cD,ν(D)-1を入力とし、ノード(BD-1,t(D-1))の子ノードとして、k’=0,1,…,ν(D)-1についてノード(B,t(D-1)-cD,k’)を生成する。子ノード生成部84は、生成したノード(B,t(D-1)-cD,k’)に(B,t(D-1)-cD,k’)を表すラベルを付与し、それらをメモリ(図示せず)に格納する(ステップS84)。
<< Processing of child node generation unit 84 >>
As illustrated in FIGS. 8 and 9, the child node generation unit 84 has BD , t (D-1), c D, 0 , c D, 1 , ..., C D, ν (D)-. With 1 as the input, as a child node of the node ( BD-1 , t (D-1)), for k'= 0, 1, ..., Ν (D) -1, the node ( BD , t (D-1)) ) -C D, k' ) is generated. The child node generation unit 84 assigns a label representing ( BD , t (D-1) -c D, k' ) to the generated node ( BD , t (D-1) -c D , k'). Then, they are stored in a memory (not shown) (step S84).

≪古典計算部87の処理≫
古典計算部87は、基底Bおよび整数Nを用い、BのNに関する双対基底B を生成して出力する(ステップS87)。
<< Processing of classical calculation unit 87 >>
The classical calculation unit 87 uses the basis BD and the integer N to generate and output a dual basis BD for N of BD (step S87).

量子状態生成部72は、第1実施形態の量子計算部72の処理と同じ処理を行って、スワップテストの結果である観測値を得て出力する。ただし、第1実施形態では基底Bとしていたが、本実施形態の量子状態生成部72では基底Bの代わりに基底Bを用いる。
第1実施形態の基底Bについて生成した量子状態|φ>、|φ>t1の代わりに、本実施形態において基底Bについて第1実施形態の量子状態生成部72の処理を実行することで得られる量子状態を|φ>D,0、|φ>t(D,k´)と表記すると、各量子状態は以下のように表せる。

Figure 0007101355000089
Figure 0007101355000090
量子計算部72は、第1実施形態のスワップテスト部72cと同様の処理により、k’=0,1,…,ν(D)-1について、量子状態|φ>D,0のレジスタと、量子状態|φ>t(D,k’)のレジスタとの各ペアに対してスワップテストを実行し、量子状態|φ>D,0と量子状態|φ>t(D,k’)とのペアに対するスワップテストの結果が受理となるか不受理となるかの結果を得て出力する(ステップS872)。 The quantum state generation unit 72 performs the same processing as the processing of the quantum calculation unit 72 of the first embodiment, and obtains and outputs an observed value as a result of the swap test. However, in the first embodiment, the basis B is used, but in the quantum state generation unit 72 of the present embodiment, the basis BD is used instead of the basis B.
Instead of the quantum state | φ> 0 and | φ> t1 generated for the basis B of the first embodiment, the processing of the quantum state generation unit 72 of the first embodiment is executed for the basis BD in the present embodiment. When the obtained quantum states are expressed as | φ> D, 0 and | φ> t (D, k') , each quantum state can be expressed as follows.
Figure 0007101355000089
Figure 0007101355000090
The quantum calculation unit 72 performs the same processing as the swap test unit 72c of the first embodiment to obtain a quantum state | φ> D, 0 register for k'= 0,1, ..., Ν (D) -1. Quantum state | φ> t (D, k') Quantum state | φ> D, 0 and quantum state | φ> t (D, k') The result of the swap test for the pair is accepted or rejected, and the result is obtained and output (step S872).

≪ノード選択部85の処理≫
ノード選択部は、k’=0,1,…,ν(D)-1について、量子計算部72の出力であるスワップテストの結果から量子状態|φ>D,0と量子状態|φ>t(D,k’)とのペアに対するスワップテストの結果が受理となる確率pD,0,…,pD,ν(D)-1を求め、確率pD,0,…,pD,ν(D)-1のうち最も高い確率pD,kmaxに対応するノード(B,t(D-1)-cD,kmax)を選択して出力する。ただし、kmax∈{0,1,…,ν(D)-1}である(ステップS85)。
<< Processing of node selection unit 85 >>
The node selection unit determines the quantum state | φ> D, 0 and the quantum state | φ> t from the result of the swap test which is the output of the quantum computing unit 72 for k'= 0,1, ..., Ν (D) -1. The probabilities p D, 0 , ..., p D, ν (D) -1 that the result of the swap test for the pair with (D, k') is accepted are obtained, and the probabilities p D, 0 , ..., P D, ν are obtained. (D) Select and output the node ( BD , t (D-1) -c D, kmax ) corresponding to the highest probability p D, kmax among -1 . However, kmax ∈ {0,1, ..., ν (D) -1} (step S85).

≪制御部86の処理≫
制御部86は、nearest planeアルゴリズムなどの周知の古典アルゴリズムにより、最近ベクトル問題(B,t(D-1)-cD,kmax)を解き、t(D-1)-cD,kmaxと格子L(B)との間の最短の差分ベクトルt(BD,d)を得る。制御部86は、差分ベクトルt(BD,d)の長さが基準値よりも小さい場合に、得られた差分ベクトルt(BD,d)が正しいと判断し、そうでない場合に差分ベクトルt(BD,d)が正しくないと判断する。例えば、制御部86は、差分ベクトルt(BD,d)の長さが、BのLLL既約基底の最短ベクトルの2n/2倍より小さいとき、得られた差分ベクトルt(BD,d)が正しいと判断し、そうでない場合に差分ベクトルt(BD,d)が正しくないと判断する。制御部86は、得られた差分ベクトルt(BD,d)が正しいと判断した場合(差分ベクトルt(BD,d)の長さが基準値よりも小さい場合)、差分ベクトルt(BD,d)を差分ベクトルt(d)として出力し、最近ベクトルt(BD,c)=t-t(BD,d)∈L(B)を最近ベクトルt(c)(すなわち、最近ベクトル問題(B,t)の解)として出力する(図8:D=θ)。一方、制御部86は、得られた差分ベクトルt(BD,d)が正しくないと判断した場合(差分ベクトルt(BD,d)の長さが基準値以上の場合)に、D+1を新たなDとし、さらにt(D)=t(D-1)-cD,kmaxとして、基底選択部82と代表元選択部83と子ノード生成部84と古典計算部87と量子計算部72とノード選択部85と制御部86との各処理(ステップS82,S83,S84,S87,S872,S85,S86)を再び実行する制御を行う(ステップS86)。すなわち、D+1を新たなDとし、さらにt(D)=t(D-1)-cD,kmaxとして、ステップS82,S83,S84,S87,S872,S85,S86の処理が繰り返される。つまり、探索木の探索が継続される。
<< Processing of control unit 86 >>
The control unit 86 recently solved the vector problem ( BD , t (D-1) -c D, kmax ) by a well-known classical algorithm such as the nearest plane algorithm, and set it as t (D-1) -c D, kmax . The shortest difference vector t (BD, d) with the grid L ( BD ) is obtained. The control unit 86 determines that the obtained difference vector t (BD, d) is correct when the length of the difference vector t (BD, d) is smaller than the reference value, and when it is not, the difference vector t ( It is judged that BD, d) is not correct. For example, the control unit 86 obtains the difference vector t (BD, d) when the length of the difference vector t ( BD , d) is smaller than 2 n / 2 times the shortest vector of the LLL irreducible basis of BD. ) Is correct, and if not, it is determined that the difference vector t (BD, d) is not correct. When the control unit 86 determines that the obtained difference vector t (BD, d) is correct (when the length of the difference vector t (BD, d) is smaller than the reference value), the control unit 86 determines that the difference vector t (BD, d ) is correct. ) Is output as the difference vector t (d) , and the recent vector t (BD, c) = tt (BD, d) ∈ L ( BD ) is recently vector t (c) (that is, the recent vector problem (B). , T) is output as a solution) (Fig. 8: D = θ). On the other hand, when the control unit 86 determines that the obtained difference vector t (BD, d) is incorrect (when the length of the difference vector t (BD, d) is equal to or longer than the reference value), D + 1 is newly added. Let D be, and then t (D) = t (D-1) -c D, kmax , and set the basis selection unit 82, the representative element selection unit 83, the child node generation unit 84, the classical calculation unit 87, the quantum calculation unit 72, and the node. Control is performed to re-execute each process (steps S82, S83, S84, S87, S872, S85, S86) of the selection unit 85 and the control unit 86 (step S86). That is, the process of steps S82, S83, S84, S87, S872, S85, and S86 is repeated with D + 1 as a new D and t (D) = t (D-1) -c D, kmax . That is, the search of the search tree is continued.

[ステップS82,S83の標準的な方法]
上述したステップS82,S83はどのような手法によっても実行されてもよいが、ステップS82,S83の標準的な方法として以下を例示できる。ただし、これは本発明を限定するものではない。BD-1={bD-1,1,…,bD-1,n}とする。ただし、i=1,…,nについてbD-1,iは一次独立なn次元ベクトルであり、n次元ベクトルbD-1,iのそれぞれがn個の整数要素からなる。基底選択部82は、任意な正整数ρ’(ただし、1≦ρ’≦n)と素数p’を選んで、B={bD-1,1,…,bD-1,ρ’-1,p’bD-1,ρ’,bD-1,ρ’+1,…,bD-1,n}とし、代表元選択部83は、cD,k’=κ’bD-1,ρ’(ただし、κ’=0,1,…,p’-1)とし、ν(D)=p’とする。
[Standard method of steps S82 and S83]
The above-mentioned steps S82 and S83 may be executed by any method, and the following can be exemplified as standard methods of steps S82 and S83. However, this does not limit the present invention. B D-1 = {b D-1 , 1, ..., b D-1, n }. However, for i = 1, ..., N, b D-1, i are linearly independent n-dimensional vectors, and each of the n-dimensional vectors b D-1, i consists of n integer elements. The base selection unit 82 selects an arbitrary positive integer ρ'(where 1 ≤ ρ'≤ n) and the prime number p', and BD = {b D-1 , 1, ..., b D-1, ρ'. -1 , p'b D-1, ρ' , b D-1, ρ'+ 1 , ..., b D-1, n }, and the representative element selection unit 83 is c D, k' = κ'b D. -1, ρ' (where κ'= 0,1, ..., p'-1) and ν (D) = p'.

[第3実施形態]
本形態では、第2実施形態の処理をサブルーチンとして利用してSVPを解く(図1)。
[Third Embodiment]
In this embodiment, the processing of the second embodiment is used as a subroutine to solve the SVP (FIG. 1).

<構成>
図10に例示するように、本形態の計算装置6は、基底生成部61、設定部62、選択部63、および制御部65を有する。
<Structure>
As illustrated in FIG. 10, the arithmetic unit 6 of this embodiment has a basis generation unit 61, a setting unit 62, a selection unit 63, and a control unit 65.

<処理>
本形態の計算装置6は、基底Bを入力として、格子L(B)の中で最も原点に近い格子点への最短ベクトルt(c)を出力する。
<Processing>
The calculation device 6 of this embodiment takes the basis B as an input and outputs the shortest vector t (c) to the grid point closest to the origin in the grid L (B).

まず、基底生成部61が、すべてのi=1,…,nについて、B={b,…,bi-1,2b,bi+1,…,b}に設定する(ステップS61)。 First, the basis generation unit 61 sets Bi = {b 1 , ..., bi -1 , 2bi , bi + 1 , ..., b n } for all i = 1, ..., N (step S61). ).

次に、設定部62が、i=1,…,nについて、B=Bかつt=bとし、第2実施形態で説明した計算装置8に処理を依頼する。計算装置8は、B=Bかつt=bとして第2実施形態で説明した処理を行って差分ベクトルt(d)を得て出力する。設定部62は、B=Bおよびt=b対して得られた当該差分ベクトルt(d)をt (d)に設定する。これにより、設定部62はt (d),…,t (d)を得る(ステップS62)。 Next, the setting unit 62 sets B = Bi and t = bi for i = 1, ..., N, and requests the calculation device 8 described in the second embodiment to perform processing. The calculation device 8 performs the processing described in the second embodiment with B = Bi and t = bi to obtain and output the difference vector t (d) . The setting unit 62 sets the difference vector t (d) obtained for B = Bi and t = bi to ti ( d) . As a result, the setting unit 62 obtains t 1 (d) , ..., T n (d) (step S62).

選択部63は、設定部62で得られたt (d),…,t (d)を入力とし、t (d),…,t (d)の中で最短のもの(長さが最も短いベクトル)を最短ベクトルt(c)として出力する(ステップS63)。 The selection unit 63 takes t 1 (d) , ..., T n (d) obtained by the setting unit 62 as an input, and is the shortest (length) among t 1 (d) , ..., T n (d) . The shortest vector) is output as the shortest vector t (c) (step S63).

[第4実施形態]
本形態の計算装置は、第1実施形態の手法を利用し、n次元ベクトルa,gおよびNの入力に対して

Figure 0007101355000091
を満たす(X,…,Xを得て出力する(図2)。n,m,Nは正の整数である。例えば、n,mはm<nを満たし、Nは素数である(なお、本発明のアルゴリズムはNが素数でなくても適用可能である。すなわちNが合成数でもよい)。aはn個の整数要素a1j,…,anjからなるn次元ベクトルa=(a1j,…,anjである。j=1,…,mである。例えば、a1j,…,anjはN未満の非負整数である。(X,…,Xは整数要素X,…,Xからなるm次元ベクトルである。例えば、X,…,XはN未満の非負整数である。gはn個の要素g,…,gからなるn次元ベクトルg=(g,…,gである。例えば、g,…,gはN未満の非負整数である。dはn個の要素d,…,dからなるn次元ベクトルd=(d,…,dである。例えば、d,…,dはN未満の非負整数である。
Figure 0007101355000092
Figure 0007101355000093
Figure 0007101355000094
Figure 0007101355000095
と置くと、式(33)は以下のように表現できる。
g=AX+d mod N (34)
ここでa=(a1j,…,anjであるため、Aは以下のように表現できる。
A=(a,a,…,a) [Fourth Embodiment]
The arithmetic unit of the present embodiment uses the method of the first embodiment for inputs of n-dimensional vectors aj , g and N.
Figure 0007101355000091
Satisfy (X 1 , ..., X m ) T is obtained and output (Fig. 2). n, m, and N are positive integers. For example, n and m satisfy m <n, and N is a prime number (note that the algorithm of the present invention is applicable even if N is not a prime number, that is, N may be a composite number). a j is an n-dimensional vector a j = (a 1j , ..., a nj ) T consisting of n integer elements a 1j , ..., a nj . j = 1, ..., m. For example, a 1j , ..., A nj are non-negative integers less than N. (X 1 , ..., X m ) T is an m-dimensional vector consisting of integer elements X 1 , ..., X m . For example, X 1 , ..., X m are non-negative integers less than N. g is an n-dimensional vector g = (g 1 , ..., gn) T consisting of n elements g 1 , ..., G n . For example, g 1 , ..., G n are non-negative integers less than N. d is an n-dimensional vector d = (d 1 , ..., d n ) T consisting of n elements d 1 , ..., D n . For example, d 1 , ..., d n are non-negative integers less than N.
Figure 0007101355000092
Figure 0007101355000093
Figure 0007101355000094
Figure 0007101355000095
Then, equation (33) can be expressed as follows.
g = AX + d mod N (34)
Here, since a j = (a 1j , ..., a nj ) T , A can be expressed as follows.
A = (a 1 , a 2 , ..., am )

本実施形態では、第2実施形態と同様な探索木の探索によって(X,…,Xを計算していく。このとき、X=(X,…,Xの変数(要素)X,…,Xそれぞれが探索木の深さDと一対一に対応する。従って、探索木の深さはXの変数の数mと一致する。すなわち、X,…,Xのそれぞれは、探索木の何れかの深さD=1,…,mでの探索(D=1,…,mの何れかに対応する処理)で得られる。探索木の深さD(=1,2,…,m)において決定される変数X(深さDに対応する処理で得られるX)をXj(D)∈{X,…,X}と記述する。また、深さDの探索で得られる(深さDに対応する処理で得られる)Xj(D)の値がαj(D)であり、このXj(D)に対応するn次元ベクトルaがaj(D)∈{a,…,a}である。なぜなら、式(34)よりg=X+…+Xj(D)j(D)+…+X+d mod Nとなるからである。例えば、各D=1,…,mに対応するXj(D)およびaj(D)は予め定められている。例えば、Xj(D)=Xであり、aj(D)=aである。各変数Xj(D)の値は0,1,…,N-1のどれかなので、探索木の枝の数は深さによらずNとなる。本形態の場合、L(BD-1)/L(B)におけるcosetの代表元はcD,0,cD,1,…,cD,N-1となり、それらはそれぞれ0,Xj(D),2Xj(D),…,(N-1)Xj(D)と対応する。従って、cD,j’=j’・Xj(D)である(ただし、j’=0,1,2…,N-1)。なお、BおよびcD,j’は、例えば第2実施形態で例示した「ステップS82,S83の標準的な方法」によって計算することができるが、Nが素数の場合、ステップS82,S83の標準的な方法で素数p’を選択しようとするとp’=Nとせざるを得ない。 In this embodiment, T is calculated by searching for a search tree similar to that in the second embodiment (X 1 , ..., X m ). At this time, the variables (elements) X 1 , ..., X m of X = (X 1 , ..., X m ) T each have a one-to-one correspondence with the depth D of the search tree. Therefore, the depth of the search tree coincides with the number m of the variable of X. That is, each of X 1 , ..., X m can be obtained by searching at any depth D = 1, ..., M of any of the search trees (processing corresponding to any of D = 1, ..., M). .. The variable X j (X j obtained by the process corresponding to the depth D) determined at the depth D (= 1, 2, ..., M) of the search tree is X j (D) ∈ {X 1 , ..., X m }. Further, the value of X j (D) obtained by the search of the depth D (obtained by the process corresponding to the depth D) is α j (D) , and the n-dimensional vector corresponding to this X j (D) . a j is a j (D) ∈ {a 1 , ..., a m }. This is because, from the equation (34), g = X 1 a 1 + ... + X j (D) a j (D) + ... + X ma m + d mod N. For example, X j (D) and a j (D ) corresponding to each D = 1, ..., M are predetermined. For example, X j (D) = X D and a j (D) = a D. Since the value of each variable X j (D) is any of 0, 1, ..., N-1, the number of branches of the search tree is N regardless of the depth. In the case of this embodiment, the representative elements of coset in L ( BD-1 ) / L ( BD ) are c D, 0 , c D, 1 , ..., C D, N-1 , and they are 0 and X, respectively. Corresponds to j (D) , 2X j (D) , ..., (N-1) X j (D) . Therefore, c D, j' = j'· X j (D) (however, j'= 0, 1, 2, ..., N-1). BD and cD, j'can be calculated by, for example, the "standard method of steps S82 and S83" exemplified in the second embodiment, but when N is a prime number, in steps S82 and S83. If you try to select the prime number p'by the standard method, you have to set p'= N.

式(34)において、A,Xの要素の順序を入れ替えた式は以下のようになる。

Figure 0007101355000096
深さD-1まで探索を終えると、変数Xj(1),Xj(2),…,Xj(D-1)の値が決まる。深さDの探索で得られるXj(D)の値(深さDに対応する処理で得られるXj(D)の値)をαj(D)とすると、式(35)から以下の関係が得られる。
Figure 0007101355000097
なお、深さDで探索を行う変数Xj(D)は未探索の変数のいずれであってもよい。ここで、D=2,…,mについて
D-1=(aj(D)j(D+1) … aj(m)
X’D-1=(Xj(D),Xj(D+1),…,Xj(m)
Figure 0007101355000098
とおく。またD=1については、A=Aであり、X’=Xであり、g’=gである。探索木の深さD=1,2,…,mに対して、条件
D-1’=AD-1X’D-1+d mod N (36)
の下、(AD-1,gD-1’,N)からXj(D)を求めていけば、最終的に(X,…,Xの値を得ることができる。 In equation (34), the equation in which the order of the elements of A and X is changed is as follows.
Figure 0007101355000096
When the search to the depth D-1 is completed, the values of the variables X j (1) , X j (2) , ..., X j (D-1) are determined. Assuming that the value of X j (D) obtained by the search for the depth D (the value of X j (D) obtained by the process corresponding to the depth D) is α j (D) , the following from the equation (35) A relationship is obtained.
Figure 0007101355000097
The variable X j (D) to be searched at the depth D may be any unsearched variable. Here, for D = 2, ..., M A D-1 = (a j (D) a j (D + 1) ... a j (m) )
X'D-1 = (X j (D) , X j (D + 1) , ..., X j (m) ) T
Figure 0007101355000098
far. For D = 1, A 0 = A, X'0 = X, and g 0 ' = g. For the depths D = 1, 2, ..., M of the search tree, the condition g D-1 '= A D-1 X'D -1 + d mod N (36)
Under, if X j (D) is obtained from ( AD-1 , g D-1 ', N), the value of (X 1 , ..., X m ) T can be finally obtained.

<構成>
図11に例示するように、本形態の計算装置10は、初期設定部100、古典計算部101,103(第1,2古典計算部)、選択部102、量子計算部72を有する。古典計算部101,103は複数の演算部を有し、量子計算部72は複数の量子計算部を有する(図示せず)。
<Structure>
As illustrated in FIG. 11, the calculation device 10 of this embodiment has an initial setting unit 100, a classical calculation unit 101, 103 (first and second classical calculation units), a selection unit 102, and a quantum calculation unit 72. The classical calculation units 101 and 103 have a plurality of calculation units, and the quantum calculation unit 72 has a plurality of quantum calculation units (not shown).

<処理>
本形態の処理を説明する。
≪初期設定部100≫
初期設定部100は、D=1、A=A、X’=X、g’=gに初期設定する(ステップS100)。その後、深さDでの探索(深さDに対応する処理)として以下の各処理が実行される。
<Processing>
The processing of this embodiment will be described.
Initial setting unit 100≫
The initial setting unit 100 initially sets D = 1, A 0 = A, X'0 = X, g 0 ' = g (step S100). After that, each of the following processes is executed as a search at the depth D (process corresponding to the depth D).

≪古典計算部101の処理≫
j’=0,1,2…,N-1のそれぞれに対し、式(36)は以下のように表現できる。
D-1’-j’・aj(D)=AX’+d mod N (37)
式(37)を転置すると、以下の式(38)が得られる。
D-1-j’・aj(D) =X’ +dmod N (38)
の列ベクトルはaj(D+1),aj(D+2),…,aj(m)であるため、aj(D+1) ,aj(D+2) ,… aj(m) はAの行ベクトルである。
<< Processing of classical calculation unit 101 >>
Equation (36) can be expressed as follows for each of j'= 0, 1, 2, ..., N-1.
g D- 1'-j' · a j (D) = AD X'D + d mod N (37)
By transposing equation (37), the following equation (38) is obtained.
g D- 1'T -j'・ a j (D) T = X'D T A D T + d T mod N (38)
Since the column vectors of A and D are a j (D + 1) , a j (D + 2) , ..., a j (m) , a j (D + 1) T , a j (D + 2) T , ... a j (m) T Is a row vector of AD .

古典計算部101の演算部は、A,N,ε,…,εを入力とし、A にNε (ただし、i=1,…,n)を加えた行ベクトルの集合{aj(D+1) j(D+2) … aj(m) Nε …Nε }で定義される格子のLLL既約基底Bを計算して出力する。各j’=0,1,2…,N-1とdに対して、式(38)の解X’ の存在と、
D-1-j’・aj(D) =u(D)B+d (39)
を満たす解u(D)∈Zの存在とは等価である。なお、u(D)は整数要素からなるn次元ベクトルである(ステップS1011)。
The arithmetic unit of the classical calculation unit 101 takes A D , N, ε 1 , ..., Ε n as inputs, and adds N ε i T (where i = 1, ..., N) to A D T , and is a set of row vectors. The LLL irreducible base BD of the lattice defined by {a j (D + 1) T a j (D + 2) T ... a j (m) T1 T ... Nε n T } is calculated and output. For each j'= 0, 1, 2, ..., N-1 and d T , the existence of the solution X'DT in Eq. (38) and
g D- 1'T -j'・ a j (D) T = u (D) BD + d T (39)
It is equivalent to the existence of a solution u (D) ∈ Z n that satisfies. Note that u (D) is an n-dimensional vector composed of integer elements (step S1011).

古典計算部101の演算部は、ステップS1011で得たLLL既約基底BのNに関する双対基底B を得て出力する(ステップS1012)。 The arithmetic unit of the classical calculation unit 101 obtains and outputs the dual basis BD with respect to N of the LLL irreducible basis BD obtained in step S1011 (step S1012).

量子計算部72は、以下のように、深さDに対応する各ノード(B,gD-1-j’・aj(D) )について、各j’=0,1,2…,N-1に対応するスワップテストの判定結果を求める。 The quantum calculation unit 72 describes each j'= 0, 1, for each node ( BD , g D- 1'T -j', a j (D) T ) corresponding to the depth D as follows. 2 ... Obtain the judgment result of the swap test corresponding to N-1.

量子計算部72は、第2実施形態の量子計算部72と同じ処理を行い、量子状態|φ>D,0と|φ>t(D,j´)を生成し、これらの量子状態にスワップテストを行って、スワップテストの判定結果を得て出力する(ステップS1072)。ただし、第2実施形態のk'=0,1,…,ν(D)-1の代わりに、本実施形態ではj’=0,1,2,…,N-1を用いる。各量子状態は以下のように表せる。

Figure 0007101355000099
Figure 0007101355000100
量子状態|φ>t(D,j´)を生成するために用いる量子回転ゲートの例を以下に示す。
Figure 0007101355000101
量子計算部72は、j’=0,1,2,…,N-1について、ステップS1072aで得られた量子状態|φ>D,0のレジスタと、ステップS1072bで得られた量子状態|φ>t(D,j’)のレジスタとの各ペアに対してスワップテストを実行し、量子状態|φ>D,0と量子状態|φ>t(D,j’)とのペアに対するスワップテストの結果が受理となるか不受理となるかの結果を得て出力する。 The quantum calculation unit 72 performs the same processing as the quantum calculation unit 72 of the second embodiment, generates quantum states | φ> D, 0 and | φ> t (D, j') , and swaps them into these quantum states. A test is performed, and a determination result of the swap test is obtained and output (step S1072). However, instead of k'= 0,1, ..., ν (D) -1 in the second embodiment, j'= 0,1,2, ..., N-1 is used in this embodiment. Each quantum state can be expressed as follows.
Figure 0007101355000099
Figure 0007101355000100
An example of a quantum rotating gate used to generate a quantum state | φ> t (D, j') is shown below.
Figure 0007101355000101
The quantum computing unit 72 has the quantum state | φ> D, 0 register obtained in step S1072a and the quantum state | φ obtained in step S1072b for j'= 0, 1, 2, ..., N-1. > Execute a swap test for each pair with the register of t (D, j') , and perform a swap test for the pair of quantum state | φ> D, 0 and quantum state | φ> t (D, j') . The result of whether the result of is accepted or rejected is obtained and output.

≪選択部102の処理≫
選択部102は、j’=0,1,2,…,N-1について、量子計算部72から出力されたスワップテストの判定結果に基づいて、量子状態|φ>D,0と量子状態|φ>t(D,j’)とのペアに対するスワップテストの結果が受理となる確率pD,0,pD,1,…,pD,N-1を求め、この中から最も高い確率pD,jmaxに対応するjmax∈{0,1,2,…,N-1}をαj(D)として出力する。すなわち、pD,jmax≧pD,0,pD,1,pD,jmax-1,D,jmax+1,…,pD,N-1であり、αj(D)=jmaxである。また選択部102は、g’=gD-1’-αj(D)・aj(D)を計算して出力する(ステップS102)。ここで得られる値αj(D)が深さDでのXj(D)の値となる。
<< Processing of selection unit 102 >>
The selection unit 102 has a quantum state | φ> D, 0 and a quantum state | based on the determination result of the swap test output from the quantum calculation unit 72 for j'= 0, 1, 2, ..., N-1. Probability that the result of the swap test for the pair with φ> t (D, j') is accepted p D, 0 , p D, 1 , ..., p D, N-1 is obtained, and the highest probability p is among them. The jmax ∈ {0, 1, 2, ..., N-1} corresponding to D, jmax is output as α j (D) . That is, p D, jmax ≧ p D, 0 , p D, 1 , p D, jmax-1, p D, jmax + 1, ..., P D, N-1 , and α j (D) = jmax. Further, the selection unit 102 calculates and outputs g D '= g D- 1'-α j (D) and a j (D) (step S102). The value α j (D) obtained here is the value of X j (D) at the depth D.

≪古典計算部103の処理≫
選択部102gがすべてのD=1,…,mについてαj(D)を出力している場合、古典計算部103は、αj(1),…,αj(m)を整列して得られる(X,…,Xの解(α,…,αを出力する。一方、選択部102gが何れかのD=1,…,mについてαj(D)を出力していない場合、古典計算部103は、D+1を新たなDとし、古典計算部101と量子計算部72と選択部102と古典計算部103の各処理(ステップS1011,S1012,S1072,S102,S103)を再び実行させる制御を行う(ステップS103)。
<< Processing of classical calculation unit 103 >>
When the selection unit 102g outputs α j (D) for all D = 1, ..., M, the classical calculation unit 103 obtains by arranging α j (1) , ..., α j (m) . (X 1 , ..., X m ) The solution of T1 , ..., α m ) T is output. On the other hand, when the selection unit 102g does not output α j (D) for any of D = 1, ..., M, the classical calculation unit 103 sets D + 1 as a new D, and sets the classical calculation unit 101 and the quantum calculation unit. Control is performed to re-execute each process (step S1011, S1012, S1072, S102, S103) of 72, the selection unit 102, and the classical calculation unit 103 (step S103).

<具体例>
次に、本実施形態の具体例を示す。ここではLWEの例として、以下の場合を例示する。m=3,n=9(=m),N=11(nよりも大きな最小の素数),

Figure 0007101355000102
Figure 0007101355000103
Figure 0007101355000104
Figure 0007101355000105
ここで、A,Xはランダムな要素を持つ行列とベクトルであり、dは平均0分散1の正規分布に従うランダムな要素を持つベクトルであり、gはAX+d mod Nを計算して得たベクトルである。LWEでは、Xとdが未知であり、(A,g,N)が与えられたとき、Xを求める。以下、Xの最初の変数XをXj(1)とし、深さD=1で探索において、その値αj(1)=10を計算する手順を例示する。変数X,変数Xについても、深さD=2,3の探索で同様に求めることができるため、変数X,変数Xの計算手順については省略する。 <Specific example>
Next, a specific example of this embodiment will be shown. Here, as an example of LWE, the following cases will be illustrated. m = 3, n = 9 (= m 2 ), N = 11 (the smallest prime number greater than n),
Figure 0007101355000102
Figure 0007101355000103
Figure 0007101355000104
Figure 0007101355000105
Here, A and X are matrices and vectors having random elements, d is a vector having random elements following a normal distribution with an average of 0 variances 1, and g is a vector obtained by calculating AX + d mod N. be. In LWE, when X and d are unknown and (A, g, N) are given, X is obtained. Hereinafter, a procedure in which the first variable X 1 of X is set to X j (1) and the value α j (1) = 10 is calculated in the search at the depth D = 1 will be illustrated. Since the variables X 2 and X 3 can be similarly obtained by searching for the depth D = 2 and 3 , the calculation procedure of the variables X 2 and X 3 will be omitted.

≪初期設定部100≫
初期設定部100は、D=1、A=A、X’=X、g’=gに初期設定する(ステップS100)。
Initial setting unit 100≫
The initial setting unit 100 initially sets D = 1, A 0 = A, X'0 = X, g 0 ' = g (step S100).

≪古典計算部101の処理≫
Aから深さDで求めたい変数番号の列を除いたn×(m-1)行列をRest(A)と表現する。この例の場合、Xの一番目の変数Xの値を求めたいので、Rest(A)はAから一列目を除いた9×2行列である。古典計算部101の演算部は、(n+m-1)×n行列

Figure 0007101355000106
が表す基底で定義される格子のLLL既約基底Bを計算して出力する。m=3,n=9の場合、この例のBを構成するn次元ベクトルb,…,bを要素とする9行9列の基底行列βは以下のようになる(ステップS1011)。
Figure 0007101355000107
<< Processing of classical calculation unit 101 >>
The n × (m-1) matrix excluding the sequence of variable numbers to be obtained at the depth D from A is expressed as Rest (A). In the case of this example, Rest (A) is a 9 × 2 matrix excluding the first column from A because we want to find the value of the first variable X1 of X. The calculation unit of the classical calculation unit 101 is a (n + m-1) × n matrix.
Figure 0007101355000106
Calculates and outputs the LLL irreducible basis B 1 of the lattice defined by the basis represented by. When m = 3, n = 9, the 9-by-9 basis matrix β 1 having n-dimensional vectors b 1 , ..., B n constituting B 1 of this example as elements is as follows (step S1011). ).
Figure 0007101355000107

古典計算部101の演算部は、BのNに関する双対基底B を得て出力する(ステップS1012)。n=9の場合、この例のB を構成するn次元ベクトルb ,…,b を要素とする9行9列の基底行列β は以下のようになる。

Figure 0007101355000108
The arithmetic unit of the classical calculation unit 101 obtains and outputs the dual basis B 1 with respect to N of B 1 (step S1012). When n = 9, the 9 - by-9 basis matrix β 1 - with the n - dimensional vectors b 1- , ..., B 9- constituting B 1- in this example as elements is as follows.
Figure 0007101355000108

≪量子計算部72の処理≫
この例では量子計算部72が、領域Rとして前述のR(2B)を選択する。領域Rを前述のR(2B)とすると以下が成り立つ。

Figure 0007101355000109
量子計算部72は、量子状態|φ>1,0がn×ceil(log(N+1))個の量子ビットの量子重ね合わせ状態からなる第1レジスタを複数個生成して出力する。この第1レジスタは、格子L(B)の格子点を頂点とした単位平行多面体の各頂点の値のエンコード値の量子重ね合せ状態に相当する。例えば、n=9の場合、量子状態生成部72aは、以下の量子状態|φ>1,0の第1レジスタを複数個生成する。
Figure 0007101355000110
<< Processing of quantum calculation unit 72 >>
In this example, the quantum calculation unit 72 selects the above-mentioned R (2B ) as the region R. Assuming that the region R is the above-mentioned R (2B ), the following holds.
Figure 0007101355000109
The quantum computing unit 72 generates and outputs a plurality of first registers consisting of quantum superposition states of n × ceil (log 2 (N + 1)) qubits in which the quantum state | φ> 1,0 is n × ceil (log 2 (N + 1)). This first register corresponds to the quantum superposition state of the encoded value of the value of each vertex of the unit parallelepiped having the lattice point of the lattice L (B ) as the vertex. For example, when n = 9, the quantum state generation unit 72a generates a plurality of first registers of the following quantum states | φ> 1,0 .
Figure 0007101355000110

量子計算部72は、量子状態|φ>1,0の複数のレジスタを2つのグループに分け、片方のグループレジスタに量子回転ゲートを適用する。これにより、以下の量子状態からなるレジスタが得られる。

Figure 0007101355000111
ここで、この例の目標ベクトルg-j’・aj(1) は以下の11種類である。
-j’・aj(1) =(1,8-j’,6-3j’,7-j’,4-9j’,5,8-7j’,10-4j’,6) mod 11 The quantum computing unit 72 divides a plurality of registers of quantum state | φ> 1,0 into two groups, and applies a quantum rotation gate to one of the group registers. As a result, a register consisting of the following quantum states is obtained.
Figure 0007101355000111
Here, the target vectors g 0'T -j' · a j (1) T in this example are the following 11 types.
g 0'T -j'・ a j (1) T = (1,8-j', 6-3j ', 7-j', 4-9j', 5,8-7j', 10-4j', 6) mod 11

そして、量子計算部72は、j’=0,1,2…,10について、量子状態|φ>1,0のレジスタと、量子状態|φ>t(1,j’)のレジスタとの各ペアに対してスワップテストを実行し、量子状態|φ>1,0と量子状態|φ>t(1,j’)とのペアに対するスワップテストの結果を得て出力する。 Then, the quantum computing unit 72 has a quantum state | φ> 1,0 register and a quantum state | φ> t (1, j') register for j'= 0, 1, 2, ..., 10. A swap test is executed for the pair, and the result of the swap test for the pair of the quantum state | φ> 1,0 and the quantum state | φ> t (1, j') is obtained and output.

≪選択部102の処理≫
選択部102は、量子計算部72で得たスワップテストの結果から、スワップテストが受理となる確率p1,j’を計算する。例えば、量子計算部72において各j’=0,1,2…,10について複数回(例えば、100回)のスワップテストを実行し、受理となった割合を各j’における確率p1,j’として計算する。確率p1,j’を理論的に計算すると以下のようになる。
p1,0=0.500002
p1,1=0.500001
p1,2=0.500000
p1,3=0.500000
p1,4=0.500002
p1,5=0.500132
p1,6=0.500093
p1,7=0.500000
p1,8=0.504587
p1,9=0.500001
p1,10=0.665613
次に、選択部102は、確率p1,0,p1,1,…,p1,N-1のうち最も高い確率p1,10に対応する10をαj(1)として出力する。式(41)のようにX=10であり、正しい答えαj(1)=10を算出することができた。
<< Processing of selection unit 102 >>
The selection unit 102 calculates the probabilities p 1, j'that the swap test is accepted from the result of the swap test obtained by the quantum calculation unit 72. For example, the quantum computing unit 72 executes a swap test a plurality of times (for example, 100 times) for each j'= 0, 1, 2, ..., 10 and determines the acceptance ratio as the probability p 1, j in each j'. ' Calculate as. The theoretical calculation of the probabilities p 1, j'is as follows.
p 1,0 = 0.500002
p 1,1 = 0.500001
p 1,2 = 0.500000
p 1,3 = 0.500000
p 1,4 = 0.500002
p 1,5 = 0.500132
p 1,6 = 0.500093
p 1,7 = 0.500000
p 1,8 = 0.504587
p 1,9 = 0.500001
p 1,10 = 0.665613
Next, the selection unit 102 outputs 10 corresponding to the highest probability p 1 , 10 among the probabilities p 1, 0 , p 1 , 1, ..., P 1, N-1 as α j (1) . As shown in equation (41), X 1 = 10, and the correct answer α j (1) = 10 could be calculated.

[第5実施形態]
第5実施形態でも、量子計算と古典計算とによって距離比較問題を解く(図1および図2)。第1実施形態では、距離比較問題の対象となる格子L(B)と同じ次元の双対格子L(B)を用いた。本形態では、距離比較問題の対象となる格子L(B)をより大きな次元n’の空間に埋め込んで得られる格子を用いることで精度を高める。
[Fifth Embodiment]
Also in the fifth embodiment, the distance comparison problem is solved by quantum calculation and classical calculation (FIGS. 1 and 2). In the first embodiment, a dual grid L (B ) having the same dimension as the grid L (B) that is the target of the distance comparison problem is used. In this embodiment, the accuracy is improved by using a grid obtained by embedding the grid L (B), which is the target of the distance comparison problem, in a space having a larger dimension n'.

<構成>
図3に例示するように、本形態の判定装置11は古典計算部111,73(第1,2古典計算部)、量子計算部112、および制御部74を有する。図4に例示するように、本形態の量子計算部112は、量子状態生成部112a,112b(第1から第4量子状態生成部)、およびスワップテスト部72c(第1,2スワップテスト部)を有する。判定装置11は、制御部74の制御のもとで各処理を実行する。古典計算部111,73は複数の演算部を有し、量子状態生成部112a,112bおよびスワップテスト部72cは複数の量子計算部を有する(図示せず)。
<Structure>
As illustrated in FIG. 3, the determination device 11 of this embodiment has classical calculation units 111, 73 (first and second classical calculation units), a quantum calculation unit 112, and a control unit 74. As illustrated in FIG. 4, the quantum calculation unit 112 of the present embodiment includes quantum state generation units 112a and 112b (first to fourth quantum state generation units) and a swap test unit 72c (first and second swap test units). Have. The determination device 11 executes each process under the control of the control unit 74. The classical calculation units 111 and 73 have a plurality of arithmetic units, and the quantum state generation units 112a and 112b and the swap test unit 72c have a plurality of quantum calculation units (not shown).

<処理>
本形態の処理を説明する。本形態の判定装置11は、基底B、n個の整数要素t1,iからなる目標ベクトルt1=(t1,1,…,t1,n、およびn個の整数要素t2,iからなる目標ベクトルt2=(t2,1,…,t2,nを入力とし、以下に説明する古典計算および量子計算を行い、||t1(d)||と||t2(d)||の何れが大きいかを判定する。
<Processing>
The processing of this embodiment will be described. The determination device 11 of the present embodiment has a basis B, a target vector t1 = (t 1,1 , ..., T 1, n ) T composed of n integer elements t 1, i , and n integer elements t 2, 2. The target vector t2 = (t 2,1 , ..., t 2, n ) consisting of i is used as an input, and the classical calculation and quantum calculation described below are performed, and || t1 (d) || and || t2 ( d) Determine which of || is larger.

≪古典計算部111の処理≫
判定装置11の古典計算部111(図3)の演算部は、基底Bを入力とし、行列αと基底行列βとを行方向に並べた行列β’=(α β)の転置行列β’のエルミート標準形が対角成分1の行列となる行列αを選択し、行列β’を得て出力する。βは基底Bのn次元ベクトルb,…,bを要素とするn行n列の基底行列であり、例えば、n次元ベクトルb,…,bを行ベクトルとした行列である。αはn行の整数要素からなる行列である。行列αの一例はn×n単位行列であるが、本発明はこれに限定されない。一般に、ランダムな0または1の要素からなるn×n行列をαとすれば、行列β’=(α β)の転置行列β’のエルミート標準形は対角成分1の行列(対角成分だけを持つ行列)となり、上記条件を満たす。また、行列αはn×n行列である必要はなく、nよりも列数の小さいn行の行列や、nよりも列数がずっと大きな(例えば、列数がnよりも大きな)n行の行列であってもよい。行列β’=(b ,…,bn’ の行ベクトルb ,…,b からなる基底をBと表現する。行ベクトルb ,…,b は一次独立であり、i=1,…,nについてb は整数要素からなるn’次元ベクトルである。ただし、n’はnよりも大きな正整数である(ステップS111-1)。
<< Processing of classical calculation unit 111 >>
The arithmetic unit of the classical calculation unit 111 (FIG. 3) of the determination device 11 takes the basis B as an input, and the transposed matrix β'T of the matrix β'= (α β) in which the matrix α and the basis matrix β are arranged in the row direction. Select the matrix α in which the Elmeet standard form of is a matrix of the diagonal component 1, and obtain and output the matrix β'. β is an n-row, n-column basis matrix having n-dimensional vectors b 1 , ..., B n of the basis B as elements, and is, for example, a matrix having n-dimensional vectors b 1 , ..., B n as row vectors. α is a matrix consisting of n rows of integer elements. An example of the matrix α is an n × n identity matrix, but the present invention is not limited thereto. In general, if α is an n × n matrix consisting of random 0 or 1 elements, the Hermite normal form of the transposed matrix β'T of the matrix β'= (α β) is a matrix of diagonal component 1 (diagonal component). It becomes a matrix with only) and satisfies the above conditions. Also, the matrix α does not have to be an n × n matrix, and is a matrix with n rows with a smaller number of columns than n, or n rows with a much larger number of columns than n (for example, the number of columns is larger than n 2 ). It may be a matrix of. The basis consisting of the row vector b 1 ' , ..., b n'of the matrix β'= (b 1 ' , ..., b n'' ' ) is expressed as B ' . The row vectors b 1 ' , ..., b n'are linearly independent, and for i = 1, ..., n , bi'is an n'dimensional vector consisting of integer elements. However, n'is a positive integer larger than n (step S111-1).

古典計算部111の演算部は、行列β’を入力とし、行列β’をエルミート分解し、β’β’=H’を満たすユニモジュラ行列β’とエルミート標準形の行列H’を得る。ユニモジュラ行列β’=(b ’,…,bn’ ’)の行ベクトルb ’,…,bn’ ’からなる基底をB’として出力する。行ベクトルb ’,…,bn’ ’は一次独立であり、i’=1,…,n’についてbi’ ’は整数要素からなるn’次元ベクトルである。n’がβ’の行数である。なお、B’の上付き添え字の「-」は本来「B」の真上に記載すべきであるが、記載表記の制約上、「B」の右上に表記する場合がある。「bi’ ’」の上付き添え字の「-」は本来「b」の真上に記載すべきであるが、記載表記の制約上、「b」の右上に表記する場合がある(ステップS111-2)。 The arithmetic unit of the classical calculation unit 111 takes the matrix β'as an input, decomposes the matrix β'T into Hermitian, and satisfies β −'β ' T = H', and the unimodular matrix β −'and the Hermite normal form matrix H'. To get. Unimodular matrix β - '= (b 1- ', ... , b n'- ' ) The basis consisting of the row vector b 1- ' , ... , b n'- ' of T is output as B-'. The row vectors b 1- ', ..., b n' - 'are linearly independent, and for i'= 1, ..., n', bi ' - 'is an n'dimensional vector consisting of integer elements. n'is the number of lines β-'. The superscript " - " of B-'should be written directly above "B", but due to the limitation of the description notation, it may be written in the upper right of "B". The superscript " - " of "bi'- ' " should be written directly above "b", but due to the limitation of the description notation, it may be written in the upper right of "b" ( Step S111-2).

古典計算部111の演算部は、基底Bおよび目標ベクトルt1=(t1,1,…,t1,n,t2=(t2,1,…,t2,nを入力とし、基底B’が張る空間span(B’)に属するn’個の整数要素t’1,i’からなる目標ベクトルt1’=(t’1,1,…,t’1,n’∈span(B’)およびn’個の整数要素t’2,i’からなる目標ベクトルt2’=(t’2,1,…,t’2,n’∈span(B’)を得て出力する。ただし、Proj(t1’)=(0,t1)、Proj(t2’)=(0,t2)であり、Proj(μ)はμの最初のn’-n個の要素が0であるn次元ベクトル空間への射影を表す(ステップS111-3)。 The arithmetic unit of the classical calculation unit 111 inputs the basis B'and the target vector t1 = (t 1 , 1, ..., t 1, n ) T , t2 = (t 2, 1 , ..., T 2, n ) T. Then, the target vector t1'= ( t'1 , 1 , ..., t'1 , n' ) consisting of n'integer elements t'1, i'belonging to the space span (B') spanned by the basis B'). Target vector t2'= (t'2, 1 , ..., t'2 , n' ) consisting of T ∈ span (B') and n'integer elements t'2 , i ') T ∈ span (B') And output. However, Proj (t1') = (0, t1), Proj (t2') = (0, t2), and Proj (μ) is an n-dimension in which the first n'-n elements of μ are 0. Represents a projection onto a vector space (step S111-3).

≪量子計算部112の処理≫
量子計算部112(図4)は、基底B’および目標ベクトルt1’,t2’を入力とし、n’次元空間における適当な領域(整数要素からなるn’次空間に属する部分領域)R⊆Zn’に対して以下に示す処理を実行し、スワップテストの結果を出力する(ステップS112)。例えば、R⊂Zn’である。
<< Processing of quantum calculation unit 112 >>
The quantum calculation unit 112 (FIG. 4) takes the basis B −'and the target vectors t1'and t2' as inputs, and an appropriate region in the n'dimensional space (a subregion belonging to the n'th order space consisting of integer elements) R⊆ The following processing is executed for Z n' , and the result of the swap test is output (step S112). For example, R ⊂ Z n' .

例えば、以下の領域R(ΓB’)を領域Rとすることができる。

Figure 0007101355000112
ただし、R[0,Γ)は0以上Γ未満の実数を表し、x”j"は実数であり、Γは2以上の整数であり、例えばΓ=2である。また、j”の値に応じて異なる整数Γが用いられてもよい。
あるいは、例えば、以下の領域R(ΓB*)を領域Rとしてもよい。
Figure 0007101355000113
ただし、B-*’は双対基底B’のGram-Schmidt非正規化直交ベクトルb-*,…,b-*からなる基底B-*’={b-*,…,b-*}を表す。b-*のそれぞれはn’個の整数要素からなるn’次元ベクトルである。なお、これらの領域Rは本発明を限定するものではない。 For example, the following region R (ΓB ') can be defined as region R.
Figure 0007101355000112
However, R [0, Γ) represents a real number of 0 or more and less than Γ, x "j" is a real number, and Γ is an integer of 2 or more, for example, Γ = 2. Further, a different integer Γ may be used depending on the value of j ”.
Alternatively, for example, the following region R (ΓB ' * ) may be used as the region R.
Figure 0007101355000113
However, B -* ' is a basis B - * ' = {b- * ' 1 , ... , B -* ' n }. each of b -* ' i is an n'dimensional vector consisting of n'integer elements. It should be noted that these regions R do not limit the present invention.

量子計算部112は以下の手順でスワップテストの結果を得る。
(a-1)量子計算部112の量子状態生成部112aは、以下の量子状態からなるレジスタを複数個生成する(ステップS1172a-1)。

Figure 0007101355000114
The quantum computing unit 112 obtains the result of the swap test by the following procedure.
(A-1) The quantum state generation unit 112a of the quantum calculation unit 112 generates a plurality of registers composed of the following quantum states (step S1172a-1).
Figure 0007101355000114

(b-1)量子状態生成部112bは、(a―1)で生成したレジスタのうち一部のレジスタに量子操作を行い、以下の量子状態に変換されたレジスタを得る(ステップS1172b-1)。

Figure 0007101355000115
これにより、|φ>の量子状態のレジスタと|φ>t1’の量子状態のレジスタがそれぞれ複数個存在することになる。 (B-1) The quantum state generation unit 112b performs a quantum operation on some of the registers generated in (a-1) to obtain a register converted into the following quantum state (step S1172b-1). ..
Figure 0007101355000115
As a result, there are a plurality of registers having a quantum state of | φ> 0 and a register having a quantum state of | φ>t1' .

(c-1)スワップテスト部72cは、量子状態|φ>のレジスタと、量子状態|φ>t1’のレジスタとの各ペアに対してスワップテストを実行し、各ペアに対するスワップテストの結果が受理(0,Yes)となるか拒否(1,No)となるかの判定結果を得て出力する(ステップS1172c-1)。 (C-1) The swap test unit 72c executes a swap test for each pair of the register of the quantum state | φ> 0 and the register of the quantum state | φ>t1' , and the result of the swap test for each pair. Is received (0, Yes) or rejected (1, No), and an output is obtained (step S1172c-1).

また、量子計算部112は以下の手順で別のスワップテストの結果も計算する。
(a-2)量子計算部112の量子状態生成部112aは、以下の量子状態からなるレジスタを複数個作成する(ステップS1172a-2)。

Figure 0007101355000116
The quantum computing unit 112 also calculates the result of another swap test according to the following procedure.
(A-2) The quantum state generation unit 112a of the quantum calculation unit 112 creates a plurality of registers composed of the following quantum states (step S1172a-2).
Figure 0007101355000116

(b-2)量子状態生成部112bは、(a-2)で生成したレジスタの一部に量子操作を行い、以下の量子状態からなるレジスタを得る(ステップS1172b-2)。

Figure 0007101355000117
(B-2) The quantum state generation unit 112b performs a quantum operation on a part of the register generated in (a-2) to obtain a register consisting of the following quantum states (step S1172b-2).
Figure 0007101355000117

(c-2)スワップテスト部72cは、量子状態|φ>のレジスタと、量子状態|φ>t2’のレジスタとの各ペアに対してスワップテストを実行し、各ペアに対するスワップテストの結果が受理(0,Yes)となるか拒否(1,No)となるかの判定結果を得て出力する(ステップS1172c-2)。 (C-2) The swap test unit 72c executes a swap test for each pair of the register of the quantum state | φ> 0 and the register of the quantum state | φ>t2' , and the result of the swap test for each pair. Is received (0, Yes) or rejected (1, No), and an output is obtained (step S1172c-2).

≪古典計算部73の処理≫
古典計算部73は、量子計算部112で得られたスワップテストの結果を用い、量子状態|φ>と量子状態|φ>t1’とのペアに対するスワップテストの結果が受理となる確率pと、量子状態|φ>と量子状態|φ>t2’とのペアに対するスワップテストの結果が受理となる確率pとを計算する。そして、古典計算部73は、p≧pの場合に||t1(d)||≦||t2(d)||であることを表す情報を出力し、p<pの場合に||t1(d)||>||t2(d)||であることを表す情報を出力する。あるいは、古典計算部73は、p>pの場合に||t1(d)||<||t2(d)||であることを表す情報を出力し、p≦pの場合に||t1(d)||≧|t2(d)||であることを表す情報を出力する(ステップS73)。
<< Processing of classical calculation unit 73 >>
The classical calculation unit 73 uses the result of the swap test obtained by the quantum calculation unit 112, and the probability that the result of the swap test for the pair of the quantum state | φ> 0 and the quantum state | φ>t1'is accepted p 1 And the probability p2 that the result of the swap test for the pair of the quantum state | φ> 0 and the quantum state | φ>t2'is accepted is calculated. Then, the classical calculation unit 73 outputs information indicating that || t1 ( d) || ≦ || t2 ( d) || when p1 ≧ p2, and when p1 <p2. Outputs information indicating that || t1 (d) ||> || t2 (d) ||. Alternatively, the classical calculation unit 73 outputs information indicating that || t1 (d) || <|| t2 (d) || in the case of p 1 > p 2 , and in the case of p 1 ≤ p 2 . Information indicating that || t1 (d) || ≧ | t2 (d) || is output to || (step S73).

<具体例>
第1実施形態の具体例と同じ問題を扱う。ここでは、基底Bを1次元高い空間に埋め込む、最も簡単な例を述べる。
≪古典計算部111の処理≫
古典計算部111の演算部は、基底Bを入力とし、以下の行列β’を得て出力する。

Figure 0007101355000118
行列β’=(b’,…,bn’’)の行ベクトルb’,…,bn’’からなる基底をB’と表現する(ステップS111-1)。 <Specific example>
The same problem as the specific example of the first embodiment is dealt with. Here, the simplest example of embedding the basis B in a space one-dimensionally higher will be described.
<< Processing of classical calculation unit 111 >>
The arithmetic unit of the classical calculation unit 111 takes the basis B as an input, obtains the following matrix β'and outputs it.
Figure 0007101355000118
The matrix β'= (b 1 ', ..., b n' ') The basis consisting of the row vectors b 1 ', ..., b n' ' of T is expressed as B'(step S111-1).

古典計算部111の演算部は、行列β’を入力とし、行列β’をエルミート分解する。エルミート標準形の行列H’の対角成分はすべて1、ユニモジュラ行列β’は以下のようになる。

Figure 0007101355000119
従って、以下が成立する。
Figure 0007101355000120
古典計算部111の演算部は、ユニモジュラ行列β’=(b ’,b ’,b ’)の行ベクトルb ’,b ’,b ’からなる基底をB’として出力する(ステップS111-2)。 The arithmetic unit of the classical calculation unit 111 takes the matrix β'as an input and decomposes the matrix β'T into Hermitian. The diagonal components of the Hermite normal form matrix H'are all 1, and the unimodular matrix β - 'is as follows.
Figure 0007101355000119
Therefore, the following holds.
Figure 0007101355000120
The arithmetic unit of the classical calculation unit 111 is a unimodular matrix β - '= (b 1- ', b 2- ' , b 3- ') T row vector b 1- ' , b 2- ' , b 3- '. The basis consisting of B-'is output as B - '(step S111-2).

古典計算部111の演算部は、基底B’および目標ベクトルt1=(t1,1,t1,2,t2=(t2,1,t2,2を入力とし、基底B’が張る空間span(B’)に属する3個の整数要素t’1,i’からなる目標ベクトルt1’=(t’1,1,…,t’1,3∈span(B’)および3個の整数要素t’2,i’からなる目標ベクトルt2’=(t’2,1,t’2,2,t’2,3∈span(B’)を得て出力する。t1’およびt2’は以下のようになる(ステップS111-3)。

Figure 0007101355000121
Figure 0007101355000122
The calculation unit of the classical calculation unit 111 inputs the basis B'and the target vector t1 = (t 1 , 1, t 1, 2 ) T , t2 = (t 2, 1, t 2, 2 ) T , and the basis B. Target vector t1 ' = ( t'1,1 , ..., t'1,3 ) T ∈ span (B' ) And a target vector consisting of three integer elements t'2 , i '= ( t'2,1 , t'2,2 , t'2,3 ) T ∈ span (B') and output do. t1'and t2'are as follows (step S111-3).
Figure 0007101355000121
Figure 0007101355000122

≪量子計算部112の処理≫
領域R(2B’)が領域Rの場合には以下が成り立つ。

Figure 0007101355000123
<< Processing of quantum calculation unit 112 >>
When the region R (2B ') is the region R, the following holds.
Figure 0007101355000123

量子計算部112は以下の計算を行う。
(a-1)量子計算部112の量子状態生成部112aは、以下の量子状態のレジスタを複数個生成する。

Figure 0007101355000124
The quantum calculation unit 112 performs the following calculation.
(A-1) The quantum state generation unit 112a of the quantum calculation unit 112 generates a plurality of the following quantum state registers.
Figure 0007101355000124

(b-1)量子状態生成部112bは、上記複数個のレジスタのうち一部のレジスタに量子回転ゲート操作を適用する。これにより、回転ゲートが適用されたレジスタの量子状態は以下のようになる。

Figure 0007101355000125
(B-1) The quantum state generation unit 112b applies a quantum rotation gate operation to some of the above-mentioned plurality of registers. As a result, the quantum state of the register to which the rotating gate is applied becomes as follows.
Figure 0007101355000125

(c-1)スワップテスト部72cは、量子状態|φ>のレジスタと、量子状態|φ>t1のレジスタとの各ペアに対してスワップテストを実行し、その結果を出力する。 (C-1) The swap test unit 72c executes a swap test for each pair of a register having a quantum state | φ> 0 and a register having a quantum state | φ> t1 , and outputs the result.

量子計算部112は以下の計算を行う。
(a-2)量子計算部112の量子状態生成部112aは、以下の量子状態からなるレジスタを複数個生成する。

Figure 0007101355000126
The quantum calculation unit 112 performs the following calculation.
(A-2) The quantum state generation unit 112a of the quantum calculation unit 112 generates a plurality of registers composed of the following quantum states.
Figure 0007101355000126

(b-2)量子状態生成部112bは、上記複数個のレジスタのうち一部のレジスタに量子回転ゲート操作を適用する。これにより、回転ゲートが適用されたレジスタの量子状態は以下のようになる。

Figure 0007101355000127
(B-2) The quantum state generation unit 112b applies a quantum rotation gate operation to some of the above-mentioned plurality of registers. As a result, the quantum state of the register to which the rotating gate is applied becomes as follows.
Figure 0007101355000127

(c-2)スワップテスト部72cは、量子状態|φ>のレジスタと、量子状態|φ>t2’のレジスタとの各ペアに対してスワップテストを実行し、その結果を得て出力する。 (C-2) The swap test unit 72c executes a swap test for each pair of the register of the quantum state | φ> 0 and the register of the quantum state | φ>t2' , obtains the result, and outputs the result. ..

≪古典計算部73の処理≫
古典計算部73は、以上のスワップテストの結果から、確率p,pの値を計算する。この値を理論的に求めると、

Figure 0007101355000128
となる。これらの値は第1実施形態の具体例のものと同一である。図12に、この具体例での確率p=p,pの密度分布を例示する。図12から分かるように、第1実施形態と同様、確率p=p,pの値で目標ベクトルが格子点に近いか否かを判断できることが分かる。 << Processing of classical calculation unit 73 >>
The classical calculation unit 73 calculates the values of probabilities p1 and p2 from the results of the above swap test. Theoretically, this value can be calculated.
Figure 0007101355000128
Will be. These values are the same as those of the specific example of the first embodiment. FIG. 12 illustrates the density distribution of the probabilities p = p 1 and p 2 in this specific example. As can be seen from FIG. 12, as in the first embodiment, it can be seen that whether or not the target vector is close to the grid point can be determined by the values of probabilities p = p 1 and p 2 .

最後に、この例ではp>pであるため、古典計算部73は、||t1(d)||<||t2(d)||であることを表す情報を出力する。 Finally, since p 1 > p 2 in this example, the classical calculation unit 73 outputs information indicating that || t1 (d) || <|| t2 (d) ||.

[第6実施形態]
第6実施形態は、第2実施形態の変形例であり、第1実施形態の手法に代えて第5実施形態の手法を用い、与えられたn次元の最近ベクトル問題(B,t)を解く(図1)。すなわち、与えられたn次元の最近ベクトル問題(B,t)に対し、第5実施形態の手法を用い、目標ベクトルtとの差分ベクトルt(B,d)=t-t(B,c)が最短となるような格子L(B)上の最近ベクトルt(B,c)∈L(B)を求める。
[Sixth Embodiment]
The sixth embodiment is a modification of the second embodiment, and solves a given n-dimensional recent vector problem (B, t) by using the method of the fifth embodiment instead of the method of the first embodiment. (Fig. 1). That is, for a given n-dimensional recent vector problem (B, t), the difference vector t (B, d) = tt (B, c) with the target vector t using the method of the fifth embodiment. Find the recent vector t (B, c) ∈ L (B) on the lattice L (B) such that is the shortest.

<構成>
図7に例示するように、本形態の計算装置12は、初期設定部81、基底選択部82、代表元選択部83、子ノード生成部84、古典計算部127、ノード選択部85、制御部86、および量子計算部112を有する。初期設定部81、基底選択部82、代表元選択部83、子ノード生成部84、古典計算部71、ノード選択部85、および制御部86は、複数の演算部を有し、量子計算部112は、複数の量子計算部を有する(図示せず)。
<Structure>
As illustrated in FIG. 7, the arithmetic unit 12 of this embodiment has an initial setting unit 81, a base selection unit 82, a representative element selection unit 83, a child node generation unit 84, a classical calculation unit 127, a node selection unit 85, and a control unit. It has 86 and a quantum calculation unit 112. The initial setting unit 81, the basis selection unit 82, the representative element selection unit 83, the child node generation unit 84, the classical calculation unit 71, the node selection unit 85, and the control unit 86 have a plurality of calculation units, and the quantum calculation unit 112. Has multiple quantum calculators (not shown).

<処理>
本形態の処理を説明する。
初期設定部81、基底選択部82、代表元選択部83、子ノード生成部84の処理は第2実施形態と同じである。
<Processing>
The processing of this embodiment will be described.
The processing of the initial setting unit 81, the base selection unit 82, the representative source selection unit 83, and the child node generation unit 84 is the same as that of the second embodiment.

≪古典計算部127の処理≫
古典計算部127は、基底Bおよび整数Nを用い、行列αと基底行列βとを行方向に並べた行列β’=(α β)の転置行列βのエルミート標準形が対角成分1の行列となる行列αを選択し、β’を出力する。古典計算部127は、エルミート標準形の行列H’に対してβ ’β=H’を満たすユニモジュラ行列β ’を得て出力する。古典計算部127は、行列β’=(bD,1’,…,bD,n’’)の行ベクトルbD,1’,…,bD,n’’からなる基底をB’とし、ユニモジュラ行列β ’=(bD,1 ’,…,bD,n’ ’)の行ベクトルbD,1 ’,…,bD,n’ ’からなる基底をB ’とし、基底B’が張る空間span(B’)に属するn’個の整数要素からなる目標ベクトルt(D,k’)∈span(B’)を得て出力する。ただし、k’=0,1,…,ν(D)-1であり、Proj(t(D,k’))=(0,t(D-1)-cD,k’)であり、Proj(μ)がμの最初のn’-n個の要素が0であるn次元ベクトル空間への射影を表し、L(B’)が格子L(B’)={Σi’=1,…,n’ i’i’|xi’∈Z,bi’∈B’}であり、xi’が整数であり、R⊆Zn’が整数要素からなるn’次空間に属する部分領域である(ステップS1287)。
<< Processing of classical calculation unit 127 >>
The classical calculation unit 127 uses the basis BD and the integer N, and the Hermite of the transposed matrix β D' T of the matrix β D '= (α D β D ) in which the matrix α D and the basis matrix β D are arranged in the row direction. Select the matrix α D whose standard form is the matrix of diagonal component 1, and output β D '. The classical calculation unit 127 obtains and outputs a unimodular matrix β D −'that satisfies β D −'β D' T = H'with respect to the Hermite normal form matrix H'. The classical calculation unit 127 uses B as the basis consisting of the row vectors b D, 1 ', ..., b D, n' ' of the matrix β D '= (b D, 1 ', ..., b D, n' ') T. Let D' be a monomodular matrix β D - '= (b D, 1- ' , ..., b D, n'- ' ) T row vector b D, 1- ' , ..., b D, n'- ' Let BD - 'be the basis consisting of, and let the target vector t ( D , k') ∈ span ( BD ') consisting of n'integer elements belonging to the space span ( BD ') spanned by the basis BD '. Get and output. However, k'= 0,1, ..., ν (D) -1, and Proj (t (D, k')) = (0, t (D-1) -c D, k' ). Proj (μ) represents a projection onto an n-dimensional vector space where the first n'-n elements of μ are 0, and L (B-') is a lattice L (B-' ) = {Σ i'= 1, ..., n'x i'b - 'i ' | x i'∈ Z, b - 'i' B- ' }, x i'is an integer, and R ⊆ Z n'is an integer element. It is a subregion belonging to the n'th order space consisting of (step S1287).

量子計算部112の処理は、(a-1)(b-1)の|φ>,B’,|φ>t1’,t1’が|φ>D,0,B ’,|φ>t(D,k’),t(D,k’)にそれぞれ置換され、(c-1)が第2実施形態のスワップテストに置換され、(a-2)(b-2)(c-2)が実行されないこと以外、第5実施形態と同じである。 In the processing of the quantum calculation unit 112, | φ> 0 , B ', | φ>t1' , t1'of (a-1) and (b-1) are | φ> D, 0 , BD ', | φ> t (D, k') , t (D, k'), respectively, and (c-1) is replaced with the swap test of the second embodiment, and (a-2) (b-2) ( It is the same as the fifth embodiment except that c-2) is not executed.

ノード選択部85、制御部86の処理は、第2実施形態と同じである。 The processing of the node selection unit 85 and the control unit 86 is the same as that of the second embodiment.

[第7実施形態]
本形態では、第6実施形態の処理をサブルーチンとして利用してSVPを解く(図1)。
[7th Embodiment]
In this embodiment, the processing of the sixth embodiment is used as a subroutine to solve the SVP (FIG. 1).

<構成>
図10に例示するように、本形態の計算装置6は、基底生成部61、設定部62、選択部63、および制御部65を有する。
<Structure>
As illustrated in FIG. 10, the arithmetic unit 6 of this embodiment has a basis generation unit 61, a setting unit 62, a selection unit 63, and a control unit 65.

<処理>
本形態の計算装置6は、基底Bを入力として、格子L(B)の中で最も原点に近い格子点への最短ベクトルt(c)を出力する。
第3実施形態の設定部62は第2実施形態の計算装置8により、差分ベクトルt(d)を得ていたが、本実施形態の設定部62は、第6実施形態で説明した計算装置12により差分ベクトルt(d)を得る。その他の処理は、第3実施形態と同じであるので説明を省略する。
<Processing>
The calculation device 6 of the present embodiment takes the basis B as an input and outputs the shortest vector t (c) to the grid point closest to the origin in the grid L (B).
The setting unit 62 of the third embodiment obtained the difference vector t (d) by the calculation device 8 of the second embodiment, but the setting unit 62 of the present embodiment is the calculation device 12 described in the sixth embodiment. To obtain the difference vector t (d) . Since other processes are the same as those in the third embodiment, the description thereof will be omitted.

[第8実施形態]
本形態は第4実施形態の変形例である。本形態の計算装置は、第1実施形態の手法に代えて第5実施形態の手法を応用し、n次元ベクトルa,gおよびNの入力に対して

Figure 0007101355000129
を満たす(X,…,Xを得て出力する(図2)。 [Eighth Embodiment]
This embodiment is a modification of the fourth embodiment. The arithmetic unit of this embodiment applies the method of the fifth embodiment instead of the method of the first embodiment, and for the input of the n-dimensional vectors aj , g and N.
Figure 0007101355000129
Satisfy (X 1 , ..., X m ) T is obtained and output (Fig. 2).

<構成>
図11に例示するように、本形態の計算装置14は、初期設定部100、古典計算部1401,103(第1,2古典計算部)、選択部102、量子計算部112を有する。古典計算部1401,103は複数の演算部を有し、量子計算部112は複数の量子計算部を有する(図示せず)。
<Structure>
As illustrated in FIG. 11, the calculation device 14 of the present embodiment has an initial setting unit 100, a classical calculation unit 1401, 103 (first and second classical calculation units), a selection unit 102, and a quantum calculation unit 112. The classical calculation units 1401 and 103 have a plurality of calculation units, and the quantum calculation unit 112 has a plurality of quantum calculation units (not shown).

<処理>
本形態の処理を説明する。既に説明した処理部と同じ機能については説明を省略する。
<Processing>
The processing of this embodiment will be described. The same functions as the processing unit already described will be omitted.

≪古典計算部1401の処理≫
古典計算部1401の演算部は、A,N,ε,…,εを入力とし、A にNε (ただし、i=1,…,n)を加えた行ベクトルの集合{aj(D+1) j(D+2) … aj(m) Nε …Nε }で定義される格子のLLL既約基底Bを計算して出力する(ステップS1411)。
<< Processing of classical calculation unit 1401 >>
The arithmetic unit of the classical calculation unit 1401 is a set of row vectors in which A D , N, ε 1 , ..., Ε n are input, and N ε i T (where i = 1, ..., N) is added to A D T. The LLL irreducible base BD of the lattice defined by {a j (D + 1) T a j (D + 2) T ... a j (m) T1 T ... Nε n T } is calculated and output (step S1411). ..

古典計算部1401の演算部は、aj(D+1) ,aj(D+2) ,…,aj(m) ,Nε ,…,Nε のLLL既約基底Bの基底行列βを得て出力し、n列の整数要素からなる行列αと基底行列βとを行方向に並べた行列β’=(α β)の転置行列βのエルミート標準形が対角成分1の行列となる行列αを選択し、β’を出力する。古典計算部1401の演算部は、エルミート標準形の行列H’に対してβ ’β=H’を満たすユニモジュラ行列β ’を得て出力する。古典計算部1401の演算部は、行列β’=(bD,1’,…,bD,n’’)の行ベクトルbD,1’,…,bD,n’’からなる基底をB’とし、ユニモジュラ行列β ’=(bD,1 ’,…,bD,n’ ’)の行ベクトルbD,1 ’,…,bD,n’ ’からなる基底をB ’として出力する。古典計算部1401の演算部は、基底B’が張る空間span(B’)に属するn’個の整数要素からなる目標ベクトルt(D,j’)∈span(B’)を得て出力する。ただし、j’=0,1,2…,N-1であり、Proj(t(D,j’))=(0,gD-1-j’・aj(D) )であり、Proj(μ)がμの最初のn’-n個の要素が0であるn次元ベクトル空間への射影を表す(ステップS1412)。 The arithmetic unit of the classical calculation unit 1401 is the base of the LLL transposed base BD of a j (D + 1) T , a j (D + 2) T , ..., a j (m) T , Nε 1 T , ..., Nε n T. The matrix β D '= (α D β D ) transposed matrix β D' T in which the matrix β D is obtained and output, and the matrix α D consisting of n-column integer elements and the base matrix β D are arranged in the row direction. Select the matrix α D for which the Elmeet standard form is the matrix of the diagonal component 1, and output β D '. The arithmetic unit of the classical calculation unit 1401 obtains and outputs a unimodular matrix β D - 'that satisfies β D −'β D' T = H'with respect to the Hermite normal form matrix H'. The arithmetic unit of the classical calculation unit 1401 consists of the row vectors b D, 1 ', ..., b D, n' ' of the matrix β D '= (b D, 1 ', ..., b D, n' ') T. The basis is BD ', and the unimodular matrix β D - '= (b D, 1- ', ..., b D, n'- ') T row vector b D, 1- ' , ... , b D, n The basis consisting of ' - 'is output as BD- '. The arithmetic unit of the classical calculation unit 1401 obtains a target vector t (D, j') ∈ span ( BD ') consisting of n'integer elements belonging to the space span ( BD ') spanned by the basis BD '. And output. However, j'= 0, 1, 2, ..., N-1, and Proj (t (D, j')) = (0, g D- 1'T -j' · a j (D) T ). Yes, Proj (μ) represents a projection onto an n-dimensional vector space where the first n'-n elements of μ are 0 (step S1412).

量子計算部112の処理は、(a-1)(b-1)の|φ>,B’,|φ>t1’,t1’が|φ>D,0,B ’,|φ>t(D,j’),t(D,j’)にそれぞれ置換され、(c-1)が第4実施形態のスワップテストに置換され、(a-2)(b-2)(c-2)が実行されないこと以外、第5実施形態と同じである。 In the processing of the quantum calculation unit 112, | φ> 0 , B ', | φ>t1' , t1'of (a-1) and (b-1) are | φ> D, 0 , BD ', | φ> t (D, j') , t (D, j'), respectively, and (c-1) is replaced with the swap test of the fourth embodiment, (a-2) (b-2) ( It is the same as the fifth embodiment except that c-2) is not executed.

<具体例>
次に、本実施形態の具体例を示す。ここではLWEの例として、第4実施形態の具体例と同じ問題を扱う。ここでは深さD=1の処理を例示するが、これらの処理はDの値以外、その他のDについても同様である。
<Specific example>
Next, a specific example of this embodiment will be shown. Here, as an example of LWE, the same problem as the specific example of the fourth embodiment is dealt with. Here, the processing of the depth D = 1 is illustrated, but these processings are the same for other Ds other than the value of D.

≪古典計算部1401の処理の例1≫
1.Aから求めたい変数番号の列を除いたn×(m-1)行列をRest(A)と表現する。この例の場合、Xの一番目の変数Xの値を求めたいので、Rest(A)はAから一列目を除いた9×2行列である。古典計算部1401の演算部は、(n+m-1)×n行列

Figure 0007101355000130
が表す基底で定義される格子のLLL既約基底Bを計算して出力する(ステップS1411)。m=3,n=9の場合、この例のBを構成するn次元ベクトルb,…,bを要素とする9行9列の基底行列βは以下のようになる(ステップS1411)。
Figure 0007101355000131
<< Example 1 of processing of the classical calculation unit 1401 >>
1. 1. The n × (m-1) matrix excluding the sequence of variable numbers to be obtained from A is expressed as Rest (A). In the case of this example, we want to find the value of the first variable X 1 of X, so Rest (A) is a 9 × 2 matrix excluding the first column from A. The arithmetic unit of the classical calculation unit 1401 is a (n + m-1) × n matrix.
Figure 0007101355000130
LLL irreducible basis B1 of the lattice defined by the basis represented by is calculated and output (step S1411). When m = 3, n = 9, the 9-by-9 basis matrix β 1 having the n-dimensional vectors b 1 , ..., B 9 constituting B 1 of this example as elements is as follows (step S1411). ).
Figure 0007101355000131

その後、ステップS1412として、以下のステップS1412a~S1412gが実行される。
2.古典計算部1401の演算部は、格子L(B)を埋め込む空間の次元n’を決める(ステップS1412a)。n’はnの倍数である。以下では、n’がnの3倍、すなわちn’=9×3=27の例を説明する。
Then, as step S1412, the following steps S1412a to S1412g are executed.
2. 2. The arithmetic unit of the classical calculation unit 1401 determines the dimension n'of the space in which the lattice L (B 1 ) is embedded (step S1412a). n'is a multiple of n. In the following, an example in which n'is three times n, that is, n'= 9 × 3 = 27 will be described.

3.古典計算部1401の演算部は、格子L(B)の互いに異なる既約基底

Figure 0007101355000132
をランダムに選ぶ(ステップS1412b)。すなわち、
Figure 0007101355000133
が成り立つ。古典計算部1401の演算部は、n×nの行列β -1(i=1,2,…,(n’/n)-1)を横(行方向)に並べて、n×(n’-n)行列
Figure 0007101355000134
を得る(ステップS1412c)。さらに古典計算部1401の演算部は、以下のようにn×n’行列β’を設定する。
β’=(I R’) (41)
ここでIはn×nの単位行列である(ステップS1412d)。β’の行ベクトルb’,…,b’を要素とする{b’,…,b’}が定義するn次元格子基底をB’で表現する。以下にn’=3n=27のときのR’を例示する。
Figure 0007101355000135
3. 3. The arithmetic unit of the classical calculation unit 1401 is a different irreducible basis of the lattice L (B 1 ).
Figure 0007101355000132
Is randomly selected (step S1412b). That is,
Figure 0007101355000133
Is true. The arithmetic unit of the classical calculation unit 1401 arranges the n × n matrix β 1 C i - 1 (i = 1, 2, ..., (N'/ n) -1) horizontally (row direction), and n × ( n'-n) matrix
Figure 0007101355000134
(Step S1412c). Further, the arithmetic unit of the classical calculation unit 1401 sets n × n'matrix β 1'as follows.
β 1 ' = (In R') (41)
Here, In is an identity matrix of n × n (step S1412d). The n-dimensional lattice basis defined by {b 1', ..., b n '} whose elements are the row vectors b 1 ' , ..., b n'of β 1'is represented by B 1 '. The following is an example of R'when n'= 3n = 27.
Figure 0007101355000135

4.古典計算部1401の演算部は、β’の転置行列βをエルミート分解し、エルミート標準形の対角成分1のn’×n行列と、ユニモジュラ行列

Figure 0007101355000136
とを得る(ステップS1412e)。ここで、On,n’-nはn×(n’-n)ゼロ行列である。古典計算部1401の演算部は、このユニモジュラ行列の行ベクトルをb ’,…,bn’ ’とし、{b ’,…,bn’ ’}で定義されるn’次元格子基底をB ’とする(ステップS1412f)。すなわち、
Figure 0007101355000137
を満たす。式(43)により、β’の行ベクトルが張る空間(span{b’,…,b’})と(n’-n)×n’行列(-Rn’-n)の行ベクトルが張る空間(span{bn+1 ’,…,bn’ ’})とが垂直であることに注意のこと。 4. The arithmetic unit of the classical calculation unit 1401 decomposes the transposed matrix β 1'T of β 1'in Hermitian, and the n'xn matrix of the diagonal component 1 of the Hermite normal form and the unimodular matrix.
Figure 0007101355000136
And (step S1412e). Here, On, n'-n is an nx (n'-n) zero matrix. The arithmetic unit of the classical calculation unit 1401 sets the row vector of this unimodular matrix to b 1- ', ..., b n'-' , and is defined by {b 1- ' , ... , b n'- ' }. Let'the base of the dimensional matrix be B 1 - '(step S1412f). That is,
Figure 0007101355000137
Meet. According to the equation (43), the space (span {b 1 ', ..., b n '}) in which the row vector of β 1'is stretched and the ( n' -n) × n'matrix ( -RT I n'-n ). Note that the space (span {b n + 1- ' , ..., b n'- '}) spanned by the row vector of is perpendicular.

古典計算部1401の演算部は、以下の式(43A)のように、基底B’が張る空間span(B’)に属するn’個の整数要素からなる目標ベクトルt(1,j’)∈span(B’)を得て出力する。この目標ベクトルt(1,j’)は目標ベクトルg-j’・aj(1) をn’次元空間へ埋め込んだものである。
t(1,j’)=(g-j’・aj(1) )β -1β’ (43A)
定義により、t(1,j’)はβ’の線形和なのでt(1,j’)∈span(B’)である(ステップS1412g)。ここでspan(B’)はB’の実数係数線形和が作る超平面である。ただし、(g-j’・aj(1) )β -1が整数であるとは限らないため、一般には

Figure 0007101355000138
となる。例として、この具体例におけるt(1,10)の計算結果を以下に示す。
Figure 0007101355000139
The arithmetic unit of the classical calculation unit 1401 has a target vector t (1, j'consisting of n'integer elements belonging to the space span (B 1 ' ) spanned by the basis B 1'as shown in the following equation (43A). ) ∈ span (B 1 ') is obtained and output. This target vector t (1, j') is obtained by embedding the target vector g 0'T -j' · a j (1) T in the n'dimensional space.
t ( 1 , j') = (g 0'T -j' · a j (1) T ) β 1-1 β 1 '(43A)
By definition, t (1, j') is a linear sum of β 1 ', so t (1, j') ∈ span (B 1 ') (step S1412g). Here, span (B 1 ') is a hyperplane formed by the linear sum of the real number coefficients of B 1 '. However, since (g 0'T - j' · a j (1) T ) β 1-1 is not always an integer, it is generally
Figure 0007101355000138
Will be. As an example, the calculation result of t (1,10) in this specific example is shown below.
Figure 0007101355000139

その後、例えば、B=B ’とし、前述の領域R(ΓB)またはR(ΓB-*)を領域Rとして、これ以降の量子計算部112の処理、選択部102の処理、および古典計算部103の処理が行われる。 After that, for example, B = B 1 ′, and the above-mentioned region R (ΓB ) or R (ΓB − * ) is set as the region R, and the subsequent processing of the quantum calculation unit 112, processing of the selection unit 102, and The processing of the classical calculation unit 103 is performed.

≪古典計算部1401の処理の例2≫
’に代え、以下のように生成されるB ”が用いられてもよい。これにより、より小さな次元数n’の空間を用いて正しいαj(D)を求めることができる。この場合、古典計算部1401の演算部は、上述の≪古典計算部1401の処理の例1≫で説明したステップS1411を実行し、ステップS1412としてS1412a~S1412fの処理を実行し、さらに以下のステップS1412h~S1412k,S1412fを実行する。
<< Example 2 of processing of the classical calculation unit 1401 >>
Instead of B 1- ', B 1 - 'generated as follows may be used, which allows the correct α j (D) to be obtained using a space with a smaller number of dimensions n'. In this case, the arithmetic unit of the classical calculation unit 1401 executes step S1411 described in the above << Example 1 of processing of the classical calculation unit 1401 >>, executes the processing of S1412a to S1412f as step S1412, and further executes the following processing. Steps S1412h to S1412k and S1412f are executed.

5.古典計算部1401の演算部は、n’次元空間における単位ベクトルunit,…,unitn’のn次元格子基底B’が張る空間span(B’)への射影ベクトルProjB1’(unit),…,ProjB1’(unitn’)を計算する(ステップS1412h)。ここで単位ベクトルunit,…,unitn’を用いるのは、L(B ’)が単位ベクトルunit,…,unitn’を基底とする格子と一致するからである。これらの射影ベクトルProjB1’(unit),…,ProjB1’(unitn’)は、長さ1以下、有理数要素のn’次元ベクトルとなる。式(44)に示すように、これらの射影ベクトルProjB1’(unit),…,ProjB1’(unitn’)を縦に並べたn’×n’行列をPとする。

Figure 0007101355000140
なお、式(44)のランク(一次独立な行ベクトルの最大数)はnなので、行列Pは逆行列P -1を持たない。 5. The arithmetic unit of the classical calculation unit 1401 is a projection vector Proj B1' (unit) on the space span (B 1 ' ) stretched by the n -dimensional lattice base B 1'of the unit vector unit 1 , ..., unit n'in the dimensional space. 1 ), ..., Proj B1' (unit n' ) is calculated (step S1412h). Here, the unit vectors unit 1 , ..., Unit n'are used because L (B 1- ' ) coincides with the lattice based on the unit vectors unit 1 , ..., unit n ' . These projection vectors Proj B1' (unit 1 ), ..., Proj B1' (unit n' ) are n'dimensional vectors of rational number elements having a length of 1 or less. As shown in the equation (44), let P 1 be an n'× n'matrix in which these projection vectors Proj B1' (unit 1 ), ..., Proj B1' (unit n' ) are arranged vertically.
Figure 0007101355000140
Since the rank (maximum number of linearly independent row vectors) of the equation (44) is n, the matrix P 1 does not have the inverse matrix P 1-1 .

6.古典計算部1401の演算部は、{ProjB1’(unit),…,ProjB1’(unitn’)}のLLL既約基底{q,q,…,q}を計算し、当該LLL既約基底{q,q,…,q}を構成する有理数要素のn’次元ベクトルq,q,…,qを得る(ステップS1412i)。式(45)に示すように、n’次元ベクトルq,q,…,qを縦に並べたn×n’行列(n’次元空間中のn次元格子基底)をQとする。

Figure 0007101355000141
6. The arithmetic unit of the classical calculation unit 1401 calculates the LLL irreducible basis {q 1 , q 2 , ..., q n } of {Proj B1' (unit 1 ), ..., Proj B1' (unit n' )}. Obtain the n'dimensional vectors q 1 , q 2 , ..., Q n of the rational number elements constituting the LLL irreducible basis {q 1 , q 2 , ..., q n } (step S1412i). As shown in equation (45), let Q 1 be an n × n'matrix (n-dimensional lattice basis in n'dimensional space) in which n'dimensional vectors q 1 , q 2 , ..., Q n are arranged vertically. ..
Figure 0007101355000141

7.古典計算部1401の演算部は、次の式(46)を満たす整数要素のn×n’行列Xを得る(ステップS1412j)。
=Q (46)
ただし、前述のように行列Pは逆行列P -1を持たないため、式(46)の両辺の右側から行列Pの逆行列P -1を掛けて行列Xを求めることはできない。そこで古典計算部1401の演算部は、まず、行列Pのスミス分解を行い、以下の式(47)を満たすユニモジュラn’×n’行列U,Vと、整数α1,1,α2,2,…,αn,nとを計算する。

Figure 0007101355000142
ここで、式(47)を使って式(45)からPを削除すると、以下の式(48)が得られる。
Figure 0007101355000143
古典計算部1401の演算部は、行列Q,U,Vと整数α1,1,α2,2,…,αn,nとを用い、式(48)に従って行列Xを得る。なお、式(48)の右辺の要素は分数で表現されているが、これらを計算すれば各要素の分子が分母で割り切れ、行列Xの各要素は整数となる。 7. The arithmetic unit of the classical calculation unit 1401 obtains an n × n'matrix X 1 of integer elements satisfying the following equation (46) (step S1412j).
X 1 P 1 = Q 1 (46)
However, since the matrix P 1 does not have the inverse matrix P 1-1 as described above, it is not possible to obtain the matrix X 1 by multiplying the inverse matrix P 1-1 of the matrix P 1 from the right side of both sides of the equation (46). Can not. Therefore, the arithmetic unit of the classical calculation unit 1401 first performs Smith decomposition of the matrix P 1 , and the unimodular n'× n'matrix U 1 , V 1 and the integers α 1 , 1, which satisfy the following equation (47). Calculate α 2 , 2, ..., α n, n .
Figure 0007101355000142
Here, if P 1 is deleted from the equation (45) using the equation (47), the following equation (48) is obtained.
Figure 0007101355000143
The arithmetic unit of the classical calculation unit 1401 uses the matrices Q 1 , U 1 , V 1 and the integers α 1 , 1, α 2 , 2, ..., α n, n , and obtains the matrix X 1 according to the equation (48). .. The elements on the right side of the equation (48) are expressed as fractions, but if these are calculated, the numerator of each element is divisible by the denominator, and each element of the matrix X1 becomes an integer.

8.古典計算部1401の演算部は、式(42)の1行目からn行目まで(すなわち、(In,n’-n)の部分)をn×n’行列Xで置き換え、以下の式(49)に示す行列β ”を生成する。

Figure 0007101355000144
古典計算部1401の演算部は、行列β ”の行ベクトルの集合で定義される基底をB ”に設定する(ステップS1412k)。 8. The arithmetic unit of the classical calculation unit 1401 replaces the first to nth rows of the equation (42) (that is, the part of ( In On, n'-n)) with the n × n'matrix X 1 . The matrix β 1- "shown in the following equation (49) is generated.
Figure 0007101355000144
The arithmetic unit of the classical calculation unit 1401 sets the basis defined by the set of row vectors of the matrix β 1 "to B 1 " (step S1412k).

その後、古典計算部1401の演算部は前述のステップS1412gを実行する。そして、例えば、B=B ”とし、前述の領域R(ΓB)またはR(ΓB-*)を領域Rとして、これ以降の量子計算部112の処理、選択部102の処理、および古典計算部103の処理が行われる。 After that, the arithmetic unit of the classical calculation unit 1401 executes the above-mentioned step S1412g. Then, for example, B = B 1 ”and the above-mentioned region R (ΓB ) or R (ΓB − * ) as the region R, and the subsequent processing of the quantum calculation unit 112, processing of the selection unit 102, and The processing of the classical calculation unit 103 is performed.

≪選択部102の処理≫
選択部102は、量子計算部112でスワップテストを行った結果に基づいて、深さD=1に対応する各ノード(B,g-j’・aj(1) )について、各j’=0,1,2…,10に対応する評価値である確率p1,j’を計算し、これらの評価値に基づいて深さD=1でのXj(1)の値αj(1)を求める。この具体例において、領域RとしてR(2B *)を用いて量子計算部112の処理を実行した場合、確率p1,j’は以下のようになる。
p1,0=0.500007
p1,1=0.500167
p1,2=0.500019
p1,3=0.500106
p1,4=0.500013
p1,5=0.500133
p1,6=0.500007
p1,7=0.500128
p1,8=0.500071
p1,9=0.500012
p1,10=0.500721
上記の例では、スワップテストを10000回行ったときに、j=10に対して約5007回の0(受理,Yes)が得られるのに対し、j≠10に対しては高々5001回程度しか0(受理,Yes)が得られない。従って、選択部102は、確率p1,0,p1,1,…,p1,10のうち最も高い確率p1,10に対応する10をαj(1)として出力する。また選択部102は、g’=g-10・aj(1)を計算して出力する。
<< Processing of selection unit 102 >>
The selection unit 102 describes each node (B 1 , g 0'T -j', a j (1) T ) corresponding to the depth D = 1 based on the result of the swap test performed by the quantum calculation unit 112. , Probabilities p 1, j'that are evaluation values corresponding to each j'= 0, 1, 2, ..., 10 are calculated, and based on these evaluation values, X j (1) at a depth D = 1 Find the value α j (1) . In this specific example, when the processing of the quantum calculation unit 112 is executed using R (2B 1- " * ) as the region R, the probabilities p 1, j'are as follows.
p 1,0 = 0.500007
p 1,1 = 0.500167
p 1,2 = 0.500019
p 1,3 = 0.500106
p 1,4 = 0.500013
p 1,5 = 0.500133
p 1,6 = 0.500007
p 1,7 = 0.50128
p 1,8 = 0.500071
p 1,9 = 0.500012
p 1,10 = 0.500721
In the above example, when the swap test is performed 10,000 times, 0 (acceptance, Yes) of about 5007 times is obtained for j = 10, whereas it is only about 5001 times for j ≠ 10. 0 (acceptance, Yes) cannot be obtained. Therefore, the selection unit 102 outputs 10 corresponding to the highest probability p 1,10 among the probabilities p 1, 0 , p 1 , 1, ..., P 1, 10 as α j (1) . Further, the selection unit 102 calculates and outputs g 1 '= g 0-10 · a j (1) .

第4実施形態の具体例と比べて、第8実施形態の具体例の確率p1,10と他の確率p1,0,…,p1,9との差が著しく小さいのは、格子を埋め込む空間の次元が小さすぎるからである。確率p1,10と他の確率p1,0,…,p1,9との差を大きくするためには、次元数n’を大きくすればよい。図13に次元数n’と確率p1,j’(ただし、j’=0,…,10)との関係を例示する。図13より、次元数n’を大きくすることで確率p1,10と他の確率p1,0,…,p1,9との差を大きくなっていくことが分かる。一般に、正しいj’を選ぶためには必要な空間の次元数n’は、元の格子の次元数n、基底B’、エラーの大きさ||error||に依存する。格子を埋め込む空間の次元n’を大きくし、基底B’をうまく選択すれば、より大きなエラーに対する求解が可能になる。 Compared with the specific example of the fourth embodiment, the difference between the probabilities p 1,10 of the specific example of the eighth embodiment and the other probabilities p 1,0 , ..., P 1, 9 is remarkably small in the grid. This is because the dimension of the space to be embedded is too small. In order to increase the difference between the probabilities p 1,10 and the other probabilities p 1,0 , ..., P 1,9 , the number of dimensions n'should be increased. FIG. 13 illustrates the relationship between the number of dimensions n'and the probabilities p 1, j' (where j'= 0, ..., 10). From FIG. 13, it can be seen that the difference between the probabilities p 1,10 and the other probabilities p 1,0 , ..., P 1, 9 increases by increasing the number of dimensions n'. In general, the number of dimensions n'in space required to select the correct j'depends on the number of dimensions n of the original lattice, the basis B 1 ', and the magnitude of the error || error ||. If the dimension n'of the space in which the grid is embedded is increased and the basis B 1'is selected well, it is possible to solve a larger error.

[第9実施形態]
第9実施形態は、学習データであるデータセットおよびクラスラベルを入力とし、第4,8実施形態の何れかの手法を用い、順伝播型ニューラルネットワークの教師有り学習を行う(図14)。なお、本実施形態で扱うニューラルネットワークは順伝播型のみであるため、以下、「順伝播型」という記述を省略し、単に「ニューラルネットワーク」と表記する。
[9th Embodiment]
In the ninth embodiment, a data set and a class label, which are training data, are input, and supervised learning of a feedforward neural network is performed using any of the methods of the fourth and eighth embodiments (FIG. 14). Since the neural network handled in this embodiment is only a forward propagation type, the description of "forward propagation type" is omitted below and is simply referred to as "neural network".

図15はニューラルネットワークの構成図を示す。ニューラルネットワークは、ユニットと呼ばれるノードの重みつき有向グラフで表現され、入力層、隠れ層(hidden layer)、出力層から構成される。隠れ層のないニューラルネットワークは、単層ニューラルネットワークと呼ばれる。また、1層以上の隠れ層を持つニューラルネットワークは、深層(多層)ニューラルネットワークと呼ばれる。バイアスユニットと呼ばれる固定値を持つユニットを除いて、ユニットには実数(浮動小数)値の変数がラベル付けされているものとする。以下、第L”層目(L”=1,2,…,D”-2,D”-1,D”)、ι”番目(ι”=0,1,2,…,m)のユニットの変数をxι” (L”)と表記する。ただし、D”は2以上の整数であり、mは正の整数である。ι”=0に相当するユニットがバイアスユニットで、すべての深さL”に対してバイアスユニットの持つ固定値を1とする。 FIG. 15 shows a configuration diagram of a neural network. A neural network is represented by a weighted directed graph of nodes called a unit, and is composed of an input layer, a hidden layer, and an output layer. A neural network without a hidden layer is called a single-layer neural network. Further, a neural network having one or more hidden layers is called a deep (multilayer) neural network. Except for units with fixed values called bias units, it is assumed that the units are labeled with variables with real (floating point) values. Hereinafter, the L "th layer (L" = 1, 2, ..., D "-2, D" -1, D "), ι" th (ι "= 0, 1, 2, ..., M) unit. The variable of is expressed as x ι " (L") , where D "is an integer of 2 or more and m is a positive integer. The unit corresponding to ι "= 0 is the bias unit, and the fixed value of the bias unit is 1 for all depths L".

第L”層目(L”=1,2,…,D”-2,D”-1)における変数x (L”),…,x (L”)の値から、第L”+1層目のκ”番目のユニットの変数xκ” (L”+1)の値が以下のように計算される。

Figure 0007101355000145
Figure 0007101355000146
ここで、Wι”,κ” (L”)は第L”層目のι”番目のユニットと、第L”+1層目のκ”番目のユニットとの間の重みを意味する実数値である。なお、本来「xκ” (L”+1)」「Wι”,κ” (L”)」等の上付き添え字は下付き添え字の真上に表記すべきであるが、記載表記の制約上、上付き添え字を下付き添え字の右上に表記することがある。また、Ψは活性化関数(activation function)と呼ばれる非線形の関数である。活性化関数Ψの例は、シグモイド(Sigmoid)関数(ロジスティック(Logistic)関数とも呼ばれる)
Figure 0007101355000147
や、双曲線正接(tanh)
Figure 0007101355000148
などであるが、以下に示すアルゴリズムはこれらの活性化関数に限定されない。なお、説明の便宜上、本実施形態では活性化関数Ψの逆像が一意に定まるものとする。enapは自然対数の底(ネイピア数)を表す。 From the values of the variables x 1 (L ") , ..., x m (L") in the L "th layer (L" = 1, 2, ..., D "-2, D" -1), the L "+1 The value of the variable x κ " (L" + 1) of the κ "th unit of the layer is calculated as follows.
Figure 0007101355000145
Figure 0007101355000146
Here, W ι ", κ" (L ") is a real value meaning the weight between the ι" th unit of the L "th layer" and the κ "th unit of the L" + 1st layer. There is. Originally, superscripts such as "x κ" (L "+ 1) ", "W ι", κ " (L") "should be written directly above the subscripts, but they are described. Due to notational restrictions, the subscript superscript may be written in the upper right corner of the subscript superscript. Also, Ψ is a non-linear function called the activation function. An example of the activation function Ψ is the Sigmoid function (also known as the Logistic function).
Figure 0007101355000147
Or hyperbolic tangent (tanh)
Figure 0007101355000148
However, the algorithms shown below are not limited to these activation functions. For convenience of explanation, the inverse image of the activation function Ψ is uniquely determined in this embodiment. e nap represents the base of the natural logarithm (Napier number).

ニューラルネットワークの教師あり学習とは、トレーニングデータであるn組のm次元データセット{a”i,1,…,a”i,m}(i=1,2,3,…,n)からなる行列

Figure 0007101355000149
および各データセット{a”i,1,…,a”i,m}に対するクラスラベルg”からなるベクトル
Figure 0007101355000150
と、ニューラルネットワークの深さD”とが与えられたときに、各i=1,2,3,…,n番目のデータセット{a”i,1,…,a”i,m}について、変数x (1)に各要素a”i,j(j=1,…,m)を代入し、式(50)(51)により、深さL”=2,3,…,D”の順序で変数x (L”)(ただし、1≦L”<D”のとき1≦j≦mであり、L”=D”のときj=1である)の値a”i,j (L”)を計算して得られる、L”=D”に対する変数x (D”)の値a”i,1 (D”)
Figure 0007101355000151
を満たすような重みWι”,κ” (L”)(ただし、1≦L”<D”-2のとき0≦ι”≦m,1≦κ”≦mであり、L”=D”-1のとき0≦ι”≦m,κ”=1である)を決めることである。ただし、Reは実数の集合を表し、
Figure 0007101355000152
はα1とα2との近似することを表す。 Supervised learning of a neural network consists of n sets of m-dimensional data sets {a " i, 1 , ..., a" i, m } (i = 1, 2, 3, ..., N) which are training data. queue
Figure 0007101355000149
And a vector consisting of the class label g " i for each dataset {a" i, 1 , ..., a " i, m }"
Figure 0007101355000150
And the depth D of the neural network, for each i = 1, 2, 3, ..., Nth data set {a " i, 1 , ..., a" i, m }. Substituting each element a " i, j (j = 1, ..., M) into the variable x j (1) , and using equations (50) and (51), the depth L" = 2,3, ..., D " Variables x j (L ") in order (however, 1 ≤ j ≤ m when 1 ≤ L"<D"and j = 1 when L" = D ") values a" i, j ( The value a " i, 1 (D") of the variable x j (D ") for L" = D ", which is obtained by calculating L") , is
Figure 0007101355000151
Weights that satisfy W ι ", κ" (L ") (However, when 1 ≤ L"<D"-2, 0 ≤ ι" ≤ m, 1 ≤ κ "≤ m, and L" = D " When -1, 0 ≤ ι "≤ m, κ" = 1) is to be determined. However, Re represents a set of real numbers.
Figure 0007101355000152
Represents an approximation between α1 and α2.

これを数式で表現すると、ニューラルネットワークの教師あり学習とは、与えられたn×m行列Aとn+1行列G”と整数D”≧2から、以下の式(52)(53)(54)により計算して得られるn×1行列A (D”)に対して、式(55)を満たすW(1),W(2),…,W(D”-1)を決めることである。

Figure 0007101355000153
Figure 0007101355000154
Figure 0007101355000155
Figure 0007101355000156
ここで、
Figure 0007101355000157
Figure 0007101355000158
Figure 0007101355000159
である。式(53)の
Figure 0007101355000160
はm×1行列U1とm×m行列A (L”)を行方向(横方向)に並べて作ったm×(m+1)行列を意味する。式(54)の
Figure 0007101355000161
はZ(L”+1)の各要素に活性化関数Ψを作用させて得られた各要素からなる行列(Z(L”+1)と同じサイズの行列)を表す。 Expressing this in a mathematical formula, supervised learning of a neural network is the following equation (52) (53) (54) from a given n × m matrix At, n + 1 matrix G ”and integer D” ≧ 2. W (1) , W (2) , ..., W (D "-1) satisfying the equation (55) are determined for the n × 1 matrix At (D") calculated by ..
Figure 0007101355000153
Figure 0007101355000154
Figure 0007101355000155
Figure 0007101355000156
here,
Figure 0007101355000157
Figure 0007101355000158
Figure 0007101355000159
Is. Of equation (53)
Figure 0007101355000160
Means an m × (m + 1) matrix made by arranging an m × 1 matrix U1 and an m × m matrix At (L ”) in the row direction (horizontal direction).
Figure 0007101355000161
Represents a matrix consisting of each element obtained by applying the activation function Ψ to each element of Z ( L "+1) ( a matrix having the same size as Z (L" + 1)).

本実施形態では、第4,8実施形態の何れかの手法を用い、ニューラルネットワークの教師あり学習を行う。以下にその概念を説明する。
≪単層ニューラルネットワーク(D”=2)の場合≫
簡単のため、まず単層ニューラルネットワークの場合を説明する。式(52)(53)(54)(55)により、以下が成り立つ。

Figure 0007101355000162
このニューラルネットワークの教師あり学習では、式(56)を満たすW0,1 (1),W1,1 (1),…,Wm,1 (1)を計算する。 In this embodiment, supervised learning of the neural network is performed by using any of the methods of the 4th and 8th embodiments. The concept will be explained below.
<< In the case of single-layer neural network (D "= 2) >>
For the sake of simplicity, the case of a single-layer neural network will be described first. From equations (52) (53) (54) (55), the following holds.
Figure 0007101355000162
In the supervised learning of this neural network, W 0 , 1 (1) , W 1, 1 (1) , ..., W m, 1 (1) satisfying the equation (56) are calculated.

ここで、十分大きな整数s”を選択し、Nをs”よりも十分に大きな2のべき乗とする。例えば、s”としてコンピュータにおける2進表現の有効桁数以上の整数を選択し、Nをs”よりも十分に大きな2のべき乗とする。s”よりも十分に大きなNの例は、N>(s”)mを満たすNである。s”とNの具体例として、例えば、2進表現の有効桁数が64桁であり、m=210である場合、N=2140>(s”)m>s”=264を満たすs”およびNを選ぶ。このとき、s”a”i,jおよびs”Ψ-1(g”)を整数と考えてよい(i=1,…,n、j=1,…,m)。すると、式(56)は以下の式(57)のLWE問題と等価である。

Figure 0007101355000163
そのため、第4,8実施形態の何れかの手法を用いて式(57)のLWE問題の解X,X,…,Xを求め、求めた解をW0,1 (1)=X,W1,1 (1)=X,…,Wm,1 (1)=Xに設定することができる。d=(d,…,dは短いベクトルである。第4,8実施形態のLWE問題ではj=1,…,mであり、解が(X,…,Xであったが、第4,8実施形態においてj=1,…,mをι”=0,1,2,…,mに置換することで、式(57)のLWE問題の解X,X,…,Xを求めることができる。 Here, select a sufficiently large integer s ", and let N be a power of 2 that is sufficiently larger than s". For example, select an integer as s "that is greater than or equal to the number of significant digits in the binary representation in the computer, and let N be a power of 2 that is sufficiently larger than s". An example of N that is sufficiently larger than s "is N that satisfies N>(s") 2 m. As a specific example of s "and N, for example, when the number of significant digits in the binary representation is 64 and m = 210, N = 2 140 >(s") 2 m> s "= 2 64 . Select s ”and N to meet. At this time, s "a" i, j and s "Ψ -1 (g" i ) may be considered as integers (i = 1, ..., n, j = 1, ..., M). Then, the equation (56) is equivalent to the LWE problem of the following equation (57).
Figure 0007101355000163
Therefore, the solution X 0 , X 1 , ..., X m of the LWE problem of the equation (57) is obtained by using any of the methods of the fourth and eighth embodiments, and the obtained solution is W 0 , 1 (1) =. It can be set to X 0 , W 1 , 1 (1) = X 1 , ..., W m, 1 (1) = X m . d = (d 1 , ..., d n ) T is a short vector. In the LWE problem of the 4th and 8th embodiments, j = 1, ..., M and the solution was (X 1 , ..., X m ) T , but in the 4th and 8th embodiments, j = 1, ..., By substituting m with ι "= 0, 1, 2, ..., M, the solution X 0 , X 1 , ..., X m of the LWE problem of Eq. (57) can be obtained.

≪深層ニューラルネットワーク(D”≧3)の場合≫
次に、深層ニューラルネットワークの場合を説明する。本実施形態における深層ニューラルネットワークの教師有り学習では、重みWι”,κ” (L”)をL”=1,2,…,D”-1の順に(すなわち、前方から後方に向かって正順に)計算していく。L”=D”-1の場合の処理は単層ニューラルネットワークの場合と同じである。以下では、1<L”<D”-1に対してWι”,κ” (L”-1)(0≦ι”≦m,1≦κ”≦m)が既に計算されているとして、Wι”,κ” (L”)(0≦ι”≦m,1≦κ”≦m)の計算方法を示す。
≪In the case of deep neural network (D” ≧ 3) ≫
Next, the case of a deep neural network will be described. In the supervised learning of the deep neural network in this embodiment, the weights W ι ", κ" (L ") are positive in the order of L" = 1, 2, ..., D "-1 (that is, from front to back). The calculation is performed in order. The processing in the case of L "= D" -1 is the same as that in the case of the single-layer neural network. In the following, W ι ", κ for 1 <L"<D"-1. Assuming that " (L" -1) (0≤ι "≤m, 1≤κ"≤m) has already been calculated, W ι ", κ" (L ") (0≤ι" ≤m, 1≤ The calculation method of κ ”≦ m) is shown.

まず、L”=1の場合には

Figure 0007101355000164
に設定する。1<L”<D”-1の場合には、式(52)(53)(54)を用いてWι”,κ” (L”-1)(0≦ι”≦m,1≦κ”≦m)から、変数xκ” (L”)の値a”ι”,κ” (L”)が計算される。次に、第4,8実施形態の何れかの手法を用い、以下の式(58)のLWE問題の解X=(X,X,…,Xの候補値を求め、求めた解Xの候補値をWι”,κ” (L”)(0≦ι”≦m,1≦κ”≦m)に設定する。
Figure 0007101355000165
d=(d,…,dは短いベクトルである。式(58)のLWE問題に一意的な解が存在する場合、LWE問題の求解計算過程において、解X=(X,X,…,Xの一つの候補値だけが他と比べて極端に短い差分ベクトルdに対応する。そのため、差分ベクトルdの長さ||d||から正しい解を見分けやすい。一方、ニューラルネットワークの学習では、重みの準最適値が多数存在すると考えられ、解Xの候補値の多くが似たような長さ||d||の差分ベクトルdを持つ可能性がある。そこで、式(58)を解いて、長さ||d||が短い順で1番目からm番目までである差分ベクトルdに対応するm組の解Xの候補値を選択し、κ”(1≦κ”≦m)番目の解X=(X,X,…,Xの候補値を(W0,κ” (L”),W1,κ” (L”),…,Wm,κ” (L”)とする。なお、第4実施形態等の選択部102では、スワップテストの結果が受理となる確率pD,0,pD,1,…,pD,N-1を求め、この中から最も高い確率pD,jmaxに対応するjmax∈{0,1,2…,N-1}をαj(D)=Xj(D)として出力していたが、Xj(D)の候補値は確率pD,0,pD,1,…,pD,N-1の中から確率の高い順に選択した複数個の確率に対応するjである。 First, when L "= 1
Figure 0007101355000164
Set to. In the case of 1 <L "<D" -1, W ι ", κ" (L "-1) (0 ≤ ι" ≤ m, 1 ≤ κ using equations (52) (53) (54). From "≤m), the values a" ι ", κ" (L ") of the variable x κ" ( L ") are calculated. Next, using any of the methods of the 4th and 8th embodiments, the following The candidate value of the solution X = (X 0 , X 1 , ..., X m ) T of the LWE problem of the equation (58) is obtained, and the candidate value of the obtained solution X is W ι ”, κ” (L ”) ( Set to 0 ≦ ι ”≦ m, 1 ≦ κ” ≦ m).
Figure 0007101355000165
d = (d 1 , ..., d n ) T is a short vector. When a unique solution exists in the LWE problem of equation (58), only one candidate value of solution X = (X 0 , X 1 , ..., X m ) T is the other in the solution calculation process of the LWE problem. Corresponds to the extremely short difference vector d. Therefore, it is easy to distinguish the correct solution from the length || d || of the difference vector d. On the other hand, in neural network learning, it is considered that there are many semi-optimal values of weights, and many of the candidate values of solution X may have a difference vector d of similar length || d ||. Therefore, by solving the equation (58), the candidate values of the m sets of solutions X corresponding to the difference vector d whose lengths || d || are from the first to the mth in ascending order are selected, and κ ”(. 1 ≤ κ "≤ m) th solution X = (X 0 , X 1 , ..., X m ) T candidate values are (W 0, κ" (L ") , W 1, κ" (L ") , …, W m, κ ” (L”) ) Let T be. In the selection unit 102 of the fourth embodiment or the like, the probabilities p D, 0 , p D, 1 , ..., P D, N-1 that the result of the swap test is accepted are obtained, and the highest probability p is obtained from these. The jmax ∈ {0, 1, 2, ..., N-1} corresponding to D, jmax was output as α j (D) = X j (D) , but the candidate value of X j (D) is the probability p. It is j corresponding to a plurality of probabilities selected from D, 0 , p D, 1 , ..., P D, N-1 in descending order of probability.

このようにして重みWι”,κ” (L”)を決めると、第L”+1層のユニットの変数x (L”+1)の値a”i,j (L”+1)は、第L”層のユニットの変数x (L”)の値a”i,j (L”)よりも、クラスラベルg”に近づくことが期待できる。これは以下の理由による。
式(52)(53)(54)によるa”i,j (L”+1)の定義より、以下が成り立つ。

Figure 0007101355000166
また、式(58)において各要素はNに対して十分小さいため、mod Nを無視すると以下の式(60)が成り立つ。
Figure 0007101355000167
c”を|Ψ(z”)-Ψ(z”)|≦c”|z”-z”|を満たす適当な数とすると(例えば、c”はΨ(z”)の微分値の絶対値の上界とすればよい)、式(59)(60)より、以下の式(61)が成り立つ。
Figure 0007101355000168
L”が大きくなるに従って式(61)の右辺(差分ベクトルの長さ)が小さくなるように重みW0,κ” (L”),W1,κ” (L”),…,Wm,κ” (L”)が選ばれるため、式(61)の左辺はL”が大きくなるにつれて0に近づいていく。 When the weights W ι ", κ" (L ") are determined in this way, the value a" i, j (L "+1) of the variable x j (L" + 1) of the unit of the L "+1 layer becomes the first. It can be expected that the class label g " i is closer than the value a" i, j (L " ) of the variable x j (L") of the unit of the L "layer. This is due to the following reasons.
From the definition of a " i, j (L" + 1) by the equations (52), (53) and (54), the following holds.
Figure 0007101355000166
Further, since each element is sufficiently small with respect to N in the equation (58), the following equation (60) holds if mod N is ignored.
Figure 0007101355000167
If c "is an appropriate number that satisfies | Ψ (z 1 ")-Ψ (z 2 ") | ≤ c" | z 1 "-z 2 " | (for example, c "is Ψ (z 1 ")). The upper bound of the absolute value of the differential value may be used), and the following equation (61) holds from the equations (59) and (60).
Figure 0007101355000168
Weights W 0, κ " (L") , W 1, κ " (L") , ..., W m, so that the right side (length of the difference vector) of equation (61) becomes smaller as L "becomes larger. Since κ " (L") is selected, the left side of equation (61) approaches 0 as L "becomes larger.

<構成>
図16に例示するように、本形態の学習システム15は、学習装置150と第4,8実施形態で説明した計算装置10,14の何れかとを有する。学習装置150は、初期設定部151、LWE問題処理部152、活性化関数演算部153、および制御部154を有する。学習装置150は、例えば、ネットワークを通じて計算装置10,14の何れかに接続されている。
<Structure>
As illustrated in FIG. 16, the learning system 15 of the present embodiment has a learning device 150 and any of the calculation devices 10 and 14 described in the fourth and eighth embodiments. The learning device 150 includes an initial setting unit 151, an LWE problem processing unit 152, an activation function calculation unit 153, and a control unit 154. The learning device 150 is connected to any of the calculation devices 10 and 14 through a network, for example.

<処理>
本形態の処理を説明する。
学習装置15には、トレーニングデータであるn組のm次元データセット{a”i,1,…,a”i,m}(i=1,2,3,…,n)からなる行列

Figure 0007101355000169
および各データセット{a”i,1,…,a”i,m}(i=1,2,3,…,n)に対するクラスラベルg”(i=1,2,3,…,n)からなるベクトル
Figure 0007101355000170
と、ニューラルネットワークの深さD”とが入力される。学習装置15はこれらを用いて以下の各処理を実行する。 <Processing>
The processing of this embodiment will be described.
The learning device 15 has a matrix consisting of n sets of m-dimensional data sets {a " i, 1 , ..., a" i, m } (i = 1, 2, 3, ..., N) which are training data.
Figure 0007101355000169
And the class label g " i (i = 1,2,3, ..., n) for each data set {a" i, 1 , ..., a " i, m } (i = 1,2,3, ..., n). ) Vector
Figure 0007101355000170
And the depth D of the neural network are input. The learning device 15 executes each of the following processes using these.

初期設定部151は、L”=1とし、行列Aを用いて以下のようにa”i,j (1)を設定する(ステップS151)。

Figure 0007101355000171
The initial setting unit 151 sets L " = 1 and sets a" i, j (1) as follows using the matrix At (step S151).
Figure 0007101355000171

LWE問題処理部152、活性化関数演算部153、および制御部154は、L”=1,2,…,D”-2の順序で、以下のステップS152aおよびS153aを実行する。 The LWE problem processing unit 152, the activation function calculation unit 153, and the control unit 154 execute the following steps S152a and S153a in the order of L "= 1, 2, ..., D" -2.

≪ステップS152a≫
LWE問題処理部152は、以下の式(62)のLWE問題を計算装置10,14の何れかに送る。このLWE問題が送られた計算装置10,14は前述のように以下の式(62)を解いて、解X=(X,X,…,Xの候補値を生成して出力する。

Figure 0007101355000172
なお、式(62)は、式(63)のLWE問題と等価である。
Figure 0007101355000173
s”は十分大きな整数である。s”の例は、コンピュータにおける2進表現の有効桁数を超える整数である。また、第4,8実施形態のLWE問題ではj=1,…,mであり、解が(X,…,Xであったが、計算装置10,14は、第4,8実施形態においてj=1,…,mをι”=0,1,2,…,mに置換することで、式(62)(63)のLWE問題の解X=(X,X,…,Xの候補値を求めて出力する。なお、式(63)の
Figure 0007101355000174
Figure 0007101355000175
Figure 0007101355000176
は、それぞれ、式(10)(33)(40)の
Figure 0007101355000177
Figure 0007101355000178
Figure 0007101355000179
に相当する。解X=(X,X,…,Xの候補値は、LWE問題処理部152に入力される。LWE問題処理部152は、解Xの候補値のうち、対応するd=(d,…,dの長さ||d||が短い順にm組の解Xの解候補を選択し、選択したm組の解Xの解候補を(W0,κ” (L”),W1,κ” (L”),…,Wm,κ” (L”)とする(κ”=1,2,…,m)。LWE問題処理部152は、これらの(W0,κ” (L”),W1,κ” (L”),…,Wm,κ” (L”)を用い、以下のW(L”)を設定して出力する。
Figure 0007101355000180
≪Step S152a≫
The LWE problem processing unit 152 sends the LWE problem of the following equation (62) to any of the calculation devices 10 and 14. The arithmetic units 10 and 14 to which the LWE problem was sent solve the following equation (62) as described above to generate candidate values for the solution X = (X 0 , X 1 , ..., X m ) T. Output.
Figure 0007101355000172
The equation (62) is equivalent to the LWE problem of the equation (63).
Figure 0007101355000173
s "is a sufficiently large integer. An example of s" is an integer that exceeds the number of significant digits in the binary representation in a computer. Further, in the LWE problem of the 4th and 8th embodiments, j = 1, ..., M, and the solution was (X 1 , ..., X m ) T , but the arithmetic units 10 and 14 have the 4th and 8th. By substituting j = 1, ..., M with ι "= 0, 1, 2, ..., M in the embodiment, the solution of the LWE problem of equations (62) and (63) X = (X 0 , X 1 , 1, ..., X m ) The candidate value of T is obtained and output. Note that the equation (63) is used.
Figure 0007101355000174
Figure 0007101355000175
Figure 0007101355000176
Are of equations (10), (33) and (40), respectively.
Figure 0007101355000177
Figure 0007101355000178
Figure 0007101355000179
Corresponds to. The candidate value of the solution X = (X 0 , X 1 , ..., X m ) T is input to the LWE problem processing unit 152. Among the candidate values of the solution X, the LWE problem processing unit 152 selects the solution candidates of the m set of the solution X in the order of the shortest length || d || of the corresponding d = (d 1 , ..., d n ) T. Then, the solution candidates of the selected m sets of solutions X are (W 0, κ " (L") , W 1, κ " (L") , ..., W m, κ " (L") ) T ( κ "= 1, 2, ..., M). The LWE problem processing unit 152 has these (W 0, κ" (L ") , W 1, κ" (L ") , ..., W m, κ" ( L ") ) Using T , set the following W (L") and output.
Figure 0007101355000180

≪ステップS153a≫
次に活性化関数演算部153は、a”j,κ” (L”+1)(1≦j,κ”≦m)を以下のように設定して出力する(ステップS153a)。

Figure 0007101355000181
<< Step S153a >>
Next, the activation function calculation unit 153 sets a " j, κ" (L "+1) (1 ≦ j, κ” ≦ m) as follows and outputs it (step S153a).
Figure 0007101355000181

≪ステップS154≫
制御部154は、L”=D”-2であるか否かを判断する。L”=D”-2でなければ、L”+1を新たなL”としてステップS152aの処理に戻る。L”=D”-2であれば、次のステップS152bに進む。
<< Step S154 >>
The control unit 154 determines whether or not L "= D" -2. If L "= D" -2 is not satisfied, the process returns to the process of step S152a with L "+1 as a new L". If L "= D" -2, the process proceeds to the next step S152b.

≪ステップS152b≫
L”=D”-1について以下の処理が実行される。
LWE問題処理部152は、以下の式(63)のLWE問題を計算装置10,14の何れかに送る。このLWE問題が送られた計算装置10,14は前述のように以下の式(63)を解いて、解X=(X,X,…,Xを生成して出力する。

Figure 0007101355000182
なお、式(64)は、式(65)のLWE問題と等価である。
Figure 0007101355000183
なお、式(65)の
Figure 0007101355000184
Figure 0007101355000185
Figure 0007101355000186
は、それぞれ、式(10)(33)(40)の
Figure 0007101355000187
Figure 0007101355000188
Figure 0007101355000189
に相当する。解X=(X,X,…,Xは、LWE問題処理部152に入力される。LWE問題処理部152は、解X=(X,X,…,Xを(W0,1 (D”-1),W1,1 (D”-1),…,Wm,1 (D”-1)とする。LWE問題処理部152は、これらの(W0,1 (D”-1),W1,1 (D”-1),…,Wm,1 (D”-1)を用い、以下のW(D”-1)を設定して出力する。
Figure 0007101355000190
<< Step S152b >>
The following processing is executed for L "= D" -1.
The LWE problem processing unit 152 sends the LWE problem of the following equation (63) to any of the calculation devices 10 and 14. The arithmetic units 10 and 14 to which the LWE problem is sent solve the following equation (63) as described above to generate and output the solution X = (X 0 , X 1 , ..., X m ) T.
Figure 0007101355000182
The equation (64) is equivalent to the LWE problem of the equation (65).
Figure 0007101355000183
In addition, in formula (65)
Figure 0007101355000184
Figure 0007101355000185
Figure 0007101355000186
Are of equations (10), (33) and (40), respectively.
Figure 0007101355000187
Figure 0007101355000188
Figure 0007101355000189
Corresponds to. The solution X = (X 0 , X 1 , ..., X m ) T is input to the LWE problem processing unit 152. The LWE problem processing unit 152 sets the solution X = (X 0 , X 1 , ..., X m ) T to (W 0 , 1 (D "-1) , W 1, 1 (D" -1) , ..., W. m, 1 (D "-1) ) T. The LWE problem processing unit 152 has these (W 0 , 1 (D" -1) , W 1, 1 (D "-1) , ..., W m . , 1 (D "-1) ) Using T , set the following W (D" -1) and output.
Figure 0007101355000190

≪ステップS153b≫
次に活性化関数演算部153は、a”j,1 (D”+1)(1≦j≦m)を以下のように設定して出力する。

Figure 0007101355000191
<< Step S153b >>
Next, the activation function calculation unit 153 sets a " j, 1 (D" + 1) (1 ≦ j ≦ m) as follows and outputs the output.
Figure 0007101355000191

学習装置15は、以上によって得たW(1),…,W(D”-1)を、ニューラルネットワークの重みとして出力する。 The learning device 15 outputs W (1) , ..., W (D "-1) obtained as described above as the weight of the neural network.

[その他の変形例等]
なお、本発明は上述の実施形態に限定されるものではない。例えば、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
[Other variants]
The present invention is not limited to the above-described embodiment. For example, the various processes described above may not only be executed in chronological order according to the description, but may also be executed in parallel or individually as required by the processing capacity of the device that executes the processes. In addition, it goes without saying that changes can be made as appropriate without departing from the spirit of the present invention.

古典計算部71,73,87,101,103,111,127,1401、制御部74,86、初期設定部81、基底選択部82、代表元選択部83、子ノード生成部84、ノード選択部85、計算装置6、および学習装置150は、例えば、CPU(central processing unit)等のプロセッサ(ハードウェア・プロセッサ)およびRAM(random-access memory)・ROM(read-only memory)等のメモリ等を備える汎用または専用のコンピュータが所定のプログラムを実行することで構成される。このコンピュータは1個のプロセッサやメモリを備えていてもよいし、複数個のプロセッサやメモリを備えていてもよい。このプログラムはコンピュータにインストールされてもよいし、予めROM等に記録されていてもよい。また、CPUのようにプログラムが読み込まれることで機能構成を実現する電子回路である処理回路(processing circuitry)ではなく、プログラムを用いることなく処理機能を実現する電子回路である処理回路(processing circuitry)を用いて一部またはすべての演算部が構成されてもよい。また、1個の装置を構成する電子回路が複数のCPUを含んでいてもよい。量子計算部72,112は、公知の量子コンピュータ(量子コンピュータによる処理回路(processing circuitry))によって構成される。 Classic calculation unit 71, 73, 87, 101, 103, 111, 127, 1401, control unit 74, 86, initial setting unit 81, base selection unit 82, representative source selection unit 83, child node generation unit 84, node selection unit The 85, the computing device 6, and the learning device 150 include, for example, a processor (hardware processor) such as a CPU (central processing unit) and a memory such as a RAM (random-access memory) and a ROM (read-only memory). A general-purpose or dedicated computer is configured to execute a predetermined program. This computer may have one processor and memory, or may have a plurality of processors and memory. This program may be installed in a computer or may be recorded in a ROM or the like in advance. Further, it is not a processing circuitry that is an electronic circuit that realizes a functional configuration by reading a program like a CPU, but a processing circuitry that is an electronic circuit that realizes a processing function without using a program. A part or all of the arithmetic units may be configured by using. Further, the electronic circuit constituting one device may include a plurality of CPUs. The quantum calculation units 72 and 112 are configured by a known quantum computer (processing circuits by a quantum computer).

以下に、具体的な量子コンピュータの構成例を示す。
1.量子ゲート(量子回路)に基づく方式型:量子ゲート型の量子コンピュータは、量子ゲートと呼ばれる基本演算を量子ビットに順次適用していくことで計算を実現する量子コンピュータである。量子ゲートの適用順序を量子回路として記述できる。量子ゲート型の量子コンピュータでは、量子ビットに量子ゲートに対応する操作を適用することで、量子ビット(キュービット)の集合でエンコードされた量子状態が、順次変化していき、最後に量子状態を観測することで計算結果が得られる。量子ゲート型の量子コンピュータは、最もオーソドックスな方式であり、研究の歴史も長く、ハードウェア開発が進んでいる(参考文献12参照)。IBM, Google, Intel, Rigetti, IonQ など多数の企業がこの方式に基づく量子コンピュータを開発しており、2018 年時点で、規模は数十キュービットに達している。
[参考文献12]Michael A. Nielsen and Isaac L. Chuang, Quantum Computation and Quantum Information, Cam-bridge: Cambridge University Press (2000) ISBN 0-521-63235-8, MR 1796805.
A specific configuration example of a quantum computer is shown below.
1. 1. Quantum gate (quantum circuit) -based method type: A quantum gate type quantum computer is a quantum computer that realizes calculations by sequentially applying basic operations called qubits to qubits. The application order of quantum gates can be described as a quantum circuit. In a quantum gate type quantum computer, by applying an operation corresponding to a quantum gate to a quantum bit, the quantum state encoded by a set of quantum bits (qubits) changes sequentially, and finally the quantum state is changed. The calculation result can be obtained by observing. The quantum gate type quantum computer is the most orthodox method, has a long history of research, and hardware development is progressing (see Reference 12). Many companies such as IBM, Google, Intel, Rigetti, and IonQ are developing quantum computers based on this method, and as of 2018, the scale has reached dozens of cubics.
[Reference 12] Michael A. Nielsen and Isaac L. Chuang, Quantum Computation and Quantum Information, Cam-bridge: Cambridge University Press (2000) ISBN 0-521-63235-8, MR 1796805.

2.断熱量子計算:断熱量子計算に基づく量子コンピュータでは、単純なハミルトニアンから、基底状態が与えられた問題に対する解を記述する(複雑な)ハミルトニアンに物理系を断熱的に変化させることにより、計算を実行する。断熱量子計算は、量子回路モデルとの多項式時間での等価性が証明されている(参考文献13参照)。
[参考文献13]Farhi, E.; Goldstone, J.; Gutmann, S.; Sipser, M. (2000). "Quantum Computation by Adiabatic Evolution".arXiv:quant-ph/0001106v1Freely accessible.
断熱量子計算に類似の方式として量子焼きなまし法(Quantum Annealing)も知られている(参考文献14参照)。2018年時点で、カナダのD-wave社が量子焼きなまし法に基づく2048キュービットの量子コンピュータを発売している。複数の研究機関が導入している。
[参考文献14]Kadowaki, T.; Nishimori, H. (1998-11-01). "Quantum annealing in the transverse Ising model". Physical Review E. 58: 5355. arXiv:cond-mat/9804280Freely accessible. Bibcode:1998PhRvE..58.5355K. doi:10.1103/PhysRevE.58.5355.
2. 2. Adiabatic Quantum Computation: Quantum computers based on adiabatic quantum computation perform calculations by adiabically changing the physical system from a simple Hamiltonian to a (complex) Hamiltonian that describes a solution to a given problem with a base state. do. Adiabatic quantum computation has been proven to be equivalent in polynomial time to quantum circuit models (see reference 13).
[Reference 13] Farhi, E .; Goldstone, J .; Gutmann, S .; Sipser, M. (2000). "Quantum Computation by Adiabatic Evolution". ArXiv: quant-ph / 0001106v1 Freely accessible.
Quantum Annealing is also known as a method similar to adiabatic quantum computation (see Reference 14). As of 2018, D-wave of Canada has released a 2048 cubic computer based on quantum annealing. It has been introduced by multiple research institutes.
[Reference 14] Kadowaki, T .; Nishimori, H. (1998-11-01). "Quantum annealing in the transverse Ising model". Physical Review E. 58: 5355. ArXiv: cond-mat / 9804280 Freely accessible. Bibcode : 1998PhRvE..58.5355K. Doi: 10.1103 / PhysRevE.58.5355.

3.トポロジカル量子計算:トポロジカル量子計算に基づく量子コンピュータは、マヨラナ粒子(Majorana fermion)と呼ばれる理論的には存在が予想されているが実験的には未確認の素粒子を用いた量子コンピュータであり、量子回路に基づく量子コンピュータと等価である(参考文献15参照)。量子回路方式と比べ量子エラーに強く、大規模化に有利とされている。
[参考文献15]Freedman, Michael; Kitaev, Alexei; Larsen, Michael; Wang, Zhenghan (2003-01-01). "Topological quantum computation". Bulletin of the American Mathematical Society. 40 (1): 3138. arXiv:quant-ph/0101025Freely accessible. doi:10.1090/S0273-0979-02-00964-3. ISSN 0273-0979.
3. 3. Topological quantum computation: A quantum computer based on topological quantum computation is a quantum computer using elementary particles called Majorana fermions, which are expected to exist theoretically but have not been experimentally confirmed. Equivalent to a quantum computer based on (see Reference 15). Compared to the quantum circuit method, it is more resistant to quantum errors and is considered to be advantageous for large scale.
[Reference 15] Freedman, Michael; Kitaev, Alexei; Larsen, Michael; Wang, Zhenghan (2003-01-01). "Topological quantum computation". Bulletin of the American Mathematical Society. 40 (1): 3138. ArXiv: quant-ph / 0101025 Freely accessible. Doi: 10.1090 / S0273-0979-02-00964-3. ISSN 0273-0979.

4.観測ベース量子計算(一方向性量子計算):観測ベース量子計算に基づく量子コンピュータでは、エンタングルした多数のキュービットを準備し、それらのキュービットを端から逐次観測し、観測結果に応じて次の観測基底を変えることにより計算を実行する。観測ベース量子計算は、量子回路モデルとの多項式時間での等価性が証明されている(参考文献16参照)。
[参考文献16]R. Raussendorf; D. E. Browne & H. J. Briegel (2003). "Measurement based Quantum Computation on Cluster States". Phys. Rev. A. 68 (2): 022312. arXiv:quant-ph/0301052Freely accessible.
Bibcode:2003PhRvA..68b2312R. doi:10.1103/PhysRevA.68.022312.
4. Observation-based quantum calculation (unidirectional quantum calculation): In a quantum computer based on observation-based quantum calculation, a large number of entangled cue bits are prepared, and these cue bits are observed sequentially from the end, and the following are performed according to the observation results. Perform the calculation by changing the observation base. Observation-based quantum computation has been proven to be equivalent in polynomial time to quantum circuit models (see reference 16).
[Reference 16] R. Raussendorf; DE Browne & HJ Briegel (2003). "Measurement based Quantum Computation on Cluster States". Phys. Rev. A. 68 (2): 022312. ArXiv: quant-ph / 0301052 Freely accessible.
Bibcode: 2003PhRvA..68b2312R. Doi: 10.1103 / PhysRevA.68.022312.

なお、第5-8実施形態で正確な解を得るためにはハードウェアに関する大きなリソースが必要となるが、これらの実施形態を利用すれば高次元の格子問題を解くことができる。一方で、第1-4実施形態は、第5-8実施形態のような大きなリソースを必要としないが、高次元の格子問題を解くことができない。これは、第1-4実施形態の手法では、第5-8実施形態で説明した格子を埋め込む空間の次元のような問題の難易度に応じて調節できるパラメータを持っていないためである。そのため、それぞれの長所と短所を考慮したうえで、適切な手法を利用するのが望ましい。 It should be noted that a large amount of hardware-related resources are required to obtain an accurate solution in the 5th to 8th embodiments, and a high-dimensional grid problem can be solved by using these embodiments. On the other hand, the 1-4th embodiment does not require a large resource like the 5th-8th embodiment, but cannot solve a high-dimensional lattice problem. This is because the method of the first to fourth embodiments does not have a parameter that can be adjusted according to the difficulty of the problem such as the dimension of the space in which the grid is embedded described in the fifth to eighth embodiments. Therefore, it is desirable to consider the advantages and disadvantages of each and use an appropriate method.

上述の構成をコンピュータ(古典コンピュータおよび量子コンピュータ)によって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体の例は、非一時的な(non-transitory)記録媒体である。このような記録媒体の例は、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等である。 When the above configuration is realized by a computer (classical computer and quantum computer), the processing content of the function that each device should have is described by a program. By executing this program on a computer, the above processing function is realized on the computer. The program describing the processing content can be recorded on a computer-readable recording medium. An example of a computer-readable recording medium is a non-transitory recording medium. Examples of such recording media are magnetic recording devices, optical discs, optomagnetic recording media, semiconductor memories, and the like.

このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。 The distribution of this program is performed, for example, by selling, transferring, renting, or the like a portable recording medium such as a DVD or a CD-ROM in which the program is recorded. Further, the program may be stored in the storage device of the server computer, and the program may be distributed by transferring the program from the server computer to another computer via a network.

このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。処理の実行時、このコンピュータは、自己の記憶装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。 A computer that executes such a program first temporarily stores, for example, a program recorded on a portable recording medium or a program transferred from a server computer in its own storage device. When executing the process, the computer reads the program stored in its own storage device and executes the process according to the read program. Another form of execution of this program may be for the computer to read the program directly from the portable recording medium and perform processing according to the program, and further, each time the program is transferred from the server computer to this computer. , Sequentially, the processing according to the received program may be executed. Even if the above processing is executed by a so-called ASP (Application Service Provider) type service that realizes the processing function only by the execution instruction and result acquisition without transferring the program from the server computer to this computer. good.

コンピュータ上で所定のプログラムを実行させて本装置の処理機能が実現されるのではなく、これらの処理機能の少なくとも一部がハードウェアで実現されてもよい。 Instead of executing a predetermined program on a computer to realize the processing functions of the present device, at least a part of these processing functions may be realized by hardware.

以下に本発明の産業上の利用可能性を例示する。ただし、これらの利用可能性は単なる例示にすぎず、本発明を限定するものではない。本発明を用いることにより、組み合わせ最適化問題の一種である格子問題の部分問題を効率的に解くことができる。これにより、例えば2つの産業分野に影響を及ぼす。人工知能分野と耐量子暗号分野である。 The industrial applicability of the present invention is illustrated below. However, these availabilitys are merely examples and do not limit the present invention. By using the present invention, it is possible to efficiently solve a partial problem of a lattice problem, which is a kind of combinatorial optimization problem. This affects, for example, two industrial fields. The fields of artificial intelligence and quantum cryptography.

例えば、本発明を適用することで、人工知能分野での組み合わせ最適化問題の部分問題を効率的に(高速に)解くことができる。例えば、本発明をゲート型量子コンピュータ上および古典コンピュータで実装することにより、人工知能を用いて工業・材料・医療・医薬・エネルギー・物理・化学・経済・実社会等の様々な事象を高速にシミュレーションすることが可能となり、各分野の急激な進歩発展に貢献する。 For example, by applying the present invention, it is possible to efficiently (high-speed) solve a partial problem of a combinatorial optimization problem in the field of artificial intelligence. For example, by implementing the present invention on a gated quantum computer and on a classical computer, various phenomena such as industry, materials, medicine, medicine, energy, physics, chemistry, economy, and the real world can be simulated at high speed using artificial intelligence. It will be possible to contribute to the rapid progress and development of each field.

以下、より具体的に説明する。最近ベクトル問題、最短ベクトル問題、LWEは、ともにNP困難と呼ばれる問題であり、他のNP(非決定性多項式時間計算量クラス)の問題をこれらの問題に効率的に帰着できることが知られている。帰着した問題を解けば、もとのNP問題に対する解が得られるため、本発明で提案した量子アルゴリズムは、例えば、すべてのNP問題に応用できる。NP問題には、人工知能を中心に重要な問題が多数含まれており、産業上の応用範囲はきわめて広い。代表的な応用例を列挙する。 Hereinafter, a more specific description will be given. Recently, the vector problem, the shortest vector problem, and LWE are all problems called NP-hard, and it is known that other NP (nondeterministic polynomial time complexity class) problems can be efficiently reduced to these problems. Since the solution to the original NP problem can be obtained by solving the resulting problem, the quantum algorithm proposed in the present invention can be applied to, for example, all NP problems. The NP problem includes many important problems centered on artificial intelligence, and has an extremely wide range of industrial applications. List typical application examples.

1.車の自動運転における最適経路選択:
車の自動運転における最適経路選択は、巡回セールスマン問題と呼ばれるNP完全問題で定式化される。この問題は人工知能分野で古くから研究されてきた問題であり、頂点の数が多くなると、古典コンピュータで最適解を求めることが困難になる。このため、近年、この問題に対する量子コンピュータ(特に量子アニーリング)の応用が盛んに研究されている。
2. 大規模集積回路の最適化:
大規模集積回路を最適化する問題を論理式で表現することにより、制約充足問題(Constraint Satisfaction Problem)となる。この問題は人工知能における代表的な問題で、有用性が高いことから、古典アルゴリズムによる研究の歴史も長い。この問題は、量子コンピュータの応用対象として、特に有力視されているものの一つである。
3.ネットワークインフラの最適化:
電気・ガス・水道網、交通・通信網、石油・ガスのパイプライン等、大規模・複雑化する都市機能の最適化は、計算量爆発のためこれまで困難だった。本発明で提案した量子アルゴリズムの応用により、これらの問題に対する解決が期待される。
1. 1. Optimal route selection for autonomous driving of cars:
The optimum route selection in the automatic driving of a car is formulated by the NP-complete problem called the traveling salesman problem. This problem has been studied for a long time in the field of artificial intelligence, and when the number of vertices increases, it becomes difficult to find the optimum solution with a classical computer. Therefore, in recent years, the application of quantum computers (particularly quantum annealing) to this problem has been actively studied.
2. Optimization of large-scale integrated circuits:
By expressing the problem of optimizing a large-scale integrated circuit with a logical formula, it becomes a Constraint Satisfaction Problem. This problem is a typical problem in artificial intelligence, and because of its high usefulness, it has a long history of research using classical algorithms. This problem is one of the most promising applications of quantum computers.
3. 3. Network infrastructure optimization:
Optimizing large-scale and complicated urban functions such as electricity / gas / water networks, transportation / communication networks, and oil / gas pipelines has been difficult due to the explosion of calculations. The application of the quantum algorithm proposed in the present invention is expected to solve these problems.

例えば、車の自動運転における、最適経路選択の問題は、経路の組み合わせをベクトルで表現することにより格子問題に帰着する。経路の長さが一定以下になると、ベクトルが格子点に一定距離以下に近づくようエンコードすることにより、格子問題を解けば、経路に関する情報が得られるようにする。NP完全問題の格子問題への帰着方法に関するより詳しい説明は、以下の参考文献17を参照のこと。
[参考文献17]Daniele Micciancio and Sha_ Goldwasser, Complexity of Lattice Problems: a cryptographic perspective,
Kluwer Academic Publishers, The Kluwer International Series in Engineering and Computer Science, vol. 671 (2002).
その他のNP完全問題に関しては、以下の文献を参照されたい。
[参考文献18]Michael R. Garey and David S. Johnson, Computers and Intractability: A Guide to the Theory of NP-Completeness, W H Freeman & Co (1979).
専門家の間では、すべてのNP問題の厳密解を、古典コンピュータで効率的に解く方法は存在しないと予想されている(P・NP予想)。産業上の応用目的で古典コンピュータによりNP問題を扱う場合、解の精度を犠牲にして近似的な計算結果を用いるか、厳密解を得るために部分問題に制限するかの選択を迫られる場合が多い。一方、本発明の量子アルゴリズムを用いると、計算結果の精度が著しく向上したり、部分問題への制限の条件を緩和することができる。この結果、今まで提供できなかったサービスが提供できるようになる。
For example, the problem of optimal route selection in the automatic driving of a car results in a grid problem by expressing the combination of routes with a vector. When the length of the path becomes less than a certain distance, the vector is encoded so as to approach the lattice point by a certain distance or less so that the information about the path can be obtained by solving the lattice problem. See reference 17 below for a more detailed explanation of how to reduce the NP-complete problem to the grid problem.
[Reference 17] Daniele Micciancio and Sha_ Goldwasser, Complexity of Lattice Problems: a cryptographic perspective,
Kluwer Academic Publishers, The Kluwer International Series in Engineering and Computer Science, vol. 671 (2002).
For other NP-complete issues, please refer to the following documents.
[Reference 18] Michael R. Garey and David S. Johnson, Computers and Intractability: A Guide to the Theory of NP-Completeness, WH Freeman & Co (1979).
It is expected that there is no efficient way to solve all NP problems with a classical computer among experts (P. NP conjecture). When dealing with NP-complete problems with classical computers for industrial application purposes, you may be forced to choose between using approximate calculation results at the expense of solution accuracy or limiting to partial problems to obtain an exact solution. many. On the other hand, when the quantum algorithm of the present invention is used, the accuracy of the calculation result can be remarkably improved, and the condition of limitation to the partial problem can be relaxed. As a result, it will be possible to provide services that could not be provided until now.

また、耐量子暗号分野においては、本発明によって従来の格子暗号の安全性が損なわれる可能性がある。脆弱性を補うために鍵長を長くする等の対策が必要になるが、鍵長の変更は暗号効率の悪化を招きかねない。本発明を格子暗号の安全性評価と暗号効率との評価に利用すれば、これらの問題を共に解決する暗号方式の開発に貢献することも期待される。 Further, in the field of quantum cryptography, the present invention may impair the security of conventional lattice-based cryptography. It is necessary to take measures such as lengthening the key length to compensate for the vulnerability, but changing the key length may lead to deterioration of cryptographic efficiency. If the present invention is used for the evaluation of the security of lattice-based cryptography and the evaluation of cryptographic efficiency, it is expected to contribute to the development of a cryptographic method that solves these problems together.

Claims (9)

判定装置であって、
第1古典計算部と第1量子状態生成部と第2量子状態生成部と第1スワップテスト部と第3量子状態生成部と第4量子状態生成部と第2スワップテスト部と第2古典計算部とを有し、
n,Nが正の整数であり、i=1,…,nであり、iが虚数単位であり、ηがηの転置であり、|Λ|がΛの要素数であり、||η||がηの長さであり、<τ,χ>がτとχとの内積であり、η1⊆η2はη1がη2の部分集合であることを表し、B={b,…,b}が一次独立なn次元ベクトルbからなる基底であり、前記n次元ベクトルbのそれぞれがn個の整数要素からなり、L(B)が格子{Σi=1,…,n |x∈Z,b∈B}であり、L(B)が前記基底Bと前記整数Nとに対して定義されるNに関する双対格子であり、xが整数であり、BがBのNに関する双対基底であり、R⊆Zが整数要素からなるn次空間に属する部分領域であり、t1=(t1,1,…,t1,nがn個の整数要素t1,iからなる目標ベクトルであり、t2=(t2,1,…,t2,nがn個の整数要素t2,iからなる目標ベクトルであり、t1(d)が前記目標ベクトルt1と前記目標ベクトルt1の最近ベクトルt1(c)∈L(B)との差分ベクトルt1(d)=t1-t1(c)=(t1,1 (d),…,t1,n (d))であり、t2(d)が前記目標ベクトルt2と前記目標ベクトルt2の最近ベクトルt2(c)∈L(B)との差分ベクトルt2(d)=t2-t2(c)=(t2,1 (d),…,t2,n (d))であり、
前記第1古典計算部は、前記基底Bおよび前記整数Nを用い、前記双対基底Bを得て出力し、
前記第1量子状態生成部は、
Figure 0007101355000192
の量子状態からなるレジスタを複数個生成し、
前記第2量子状態生成部は、一部の量子状態|φ>のレジスタに量子操作を行い、前記量子操作が施されたレジスタの量子状態を
Figure 0007101355000193
に遷移させ、
前記第1スワップテスト部は、量子状態|φ>のレジスタと各量子状態|φ>t1のレジスタとの各ペアに対してスワップテストを実行し、前記量子状態|φ>と前記量子状態|φ>t1とのペアに対するスワップテストの結果が受理となるか拒否となるかを判定し、
前記第3量子状態生成部は、
Figure 0007101355000194
の量子状態からなるレジスタを複数個生成し、
前記第4量子状態生成部は、一部の量子状態|φ>のレジスタに量子操作を行い、前記量子操作が施されたレジスタの量子状態を
Figure 0007101355000195
に遷移させ、
前記第2スワップテスト部は、量子状態|φ>のレジスタと量子状態|φ>t2のレジスタとの各ペアに対してスワップテストを実行し、前記量子状態|φ>と前記量子状態|φ>t2とのペアに対するスワップテストの結果が受理となるか拒否となるかを判定し、
前記第2古典計算部は、前記スワップテストの結果を用いて、量子状態|φ>と量子状態|φ>t1とのペアに対するスワップテストの結果が受理となる確率pと、量子状態|φ>と量子状態|φ>t2とのペアに対するスワップテストの結果が受理となる確率pを計算し、p≧pの場合に||t1(d)||≦||t2(d)||であることを表す情報を出力し、p<pの場合に||t1(d)||>||t2(d)||であることを表す情報を出力するか、または、p>pの場合に||t1(d)||<||t2(d)||であることを表す情報を出力し、p≦pの場合に||t1(d)||≧|t2(d)||であることを表す情報を出力する、判定装置。
It is a judgment device
The first classical calculation unit, the first quantum state generation unit, the second quantum state generation unit, the first swap test unit, the third quantum state generation unit, the fourth quantum state generation unit, the second swap test unit, and the second classical calculation unit. Has a part and
n, N are positive integers, i = 1, ..., n , im is an imaginary unit, η T is a translocation of η, | Λ | is the number of elements of Λ, || η || is the length of η, <τ, χ> is the inner product of τ and χ, η1 ⊆ η2 means that η1 is a subset of η2, and B = {b 1 , ..., b n } is a base consisting of linearly independent n-dimensional vectors bi, each of the n -dimensional vectors bi consists of n integer elements, and L (B) is a lattice {Σ i = 1, ..., N. x i bi | x i ∈ Z, bi ∈ B } , where L (B ) is a dual lattice with respect to N defined for the base B and the integer N, and x i is an integer. Yes, B - is a dual basis for N of B, R⊆Zn is a subregion belonging to the nth -order space consisting of integer elements, and t1 = (t 1 , 1, ..., t 1, n ) T is. It is a target vector consisting of n integer elements t 1, i , and t2 = (t 2, 1 , ..., T 2, n ) T is a target vector consisting of n integer elements t 2, i , and t1 (D) is the difference vector between the target vector t1 and the recent vector t1 (c) ∈ L (B) of the target vector t1 t1 (d) = t1-t1 (c) = (t 1,1 (d) , ..., t 1, n (d) ), where t2 (d) is the difference vector t2 (d) = t2- between the target vector t2 and the recent vector t2 (c) ∈ L (B) of the target vector t2. t2 (c) = (t 2,1 (d) , ..., t 2, n (d) ), and
The first classical calculation unit uses the basis B and the integer N to obtain and output the dual basis B .
The first quantum state generator is
Figure 0007101355000192
Generate multiple registers consisting of quantum states of
The second quantum state generator performs a quantum operation on a part of the quantum state | φ> 0 register, and changes the quantum state of the register to which the quantum operation is performed.
Figure 0007101355000193
To transition to
The first swap test unit executes a swap test for each pair of a quantum state | φ> 0 register and each quantum state | φ> t1 register, and the quantum state | φ> 0 and the quantum state. | Φ> Determine whether the result of the swap test for the pair with t1 is accepted or rejected.
The third quantum state generator is
Figure 0007101355000194
Generate multiple registers consisting of quantum states of
The fourth quantum state generator performs a quantum operation on a part of the quantum state | φ> 0 register, and changes the quantum state of the register to which the quantum operation is performed.
Figure 0007101355000195
To transition to
The second swap test unit executes a swap test for each pair of the quantum state | φ> 0 register and the quantum state | φ> t2 register, and the quantum state | φ> 0 and the quantum state | Determine whether the result of the swap test for the pair with φ> t2 is accepted or rejected.
Using the result of the swap test, the second classical calculation unit has a probability p 1 that the result of the swap test for the pair of the quantum state | φ> 0 and the quantum state | φ> t1 is accepted, and the quantum state | Calculate the probability p 2 that the result of the swap test for the pair of φ> 0 and the quantum state | φ> t2 is accepted, and when p 1 ≧ p 2 , || t1 (d) || ≦ || t2 ( d) Output the information indicating that it is ||, and output the information indicating that it is || t1 (d) ||> || t2 (d) || when p 1 <p 2 . Alternatively, when p 1 > p 2 , the information indicating that || t1 (d) || <|| t2 (d) || is output, and when p 1 ≤ p 2 , || t1 (d). ) || ≧ | t2 (d) A determination device that outputs information indicating that it is ||.
計算装置であって、
初期設定部と基底選択部と代表元選択部と子ノード生成部と古典計算部とノード選択部と制御部と第1量子状態生成部と第2量子状態生成部とスワップテスト部とを有し、
n,N,ν(D),Dが正の整数であり、i=1,…,nであり、iが虚数単位であり、ηがηの転置であり、|Λ|がΛの要素数であり、||η||がηの長さであり、η1⊆η2はη1がη2の部分集合であることを表し、η1⊂η2はη1がη2の真部分集合であることを表し、<τ,χ>がτとχとの内積であり、B={b,…,b}が一次独立なn次元ベクトルbからなる基底であり、前記n次元ベクトルbのそれぞれがn個の整数要素からなり、L(B)が格子{Σi=1,…,n |x∈Z,b∈B}であり、L(B)が前記基底Bと前記整数Nとに対して定義されるNに関する双対格子L(B)であり、xが整数であり、BがBのNに関する双対基底であり、R⊆Zが整数要素からなるn次空間に属する部分領域であり、t=(t,…,tがn個の整数要素tからなる目標ベクトルであり、
前記初期設定部は、組(B,t)を入力とし、基底Bと目標ベクトルt(0)との組からなるノード(B,t(0))=(B,t)を設定し、
前記基底選択部は、格子L(BD-1)の部分格子L(B)⊂L(BD-1)の基底Bを選択し、
前記代表元選択部は、(cD,0+L(B))∪(cD,1+L(B))∪・・・∪(cD,ν(D)-1+L(B))=L(BD-1)であり、0以上ν(D)以下の任意のκ1,κ2について、κ1≠κ2である場合に(cD,κ1+L(B))∩(cD,κ2+L(B))が空であるとの条件を満たす、代表元cD,0,cD,1,・・・,cD,ν(D)-1を選択し、前記代表元cD,0,cD,1,・・・,cD,ν(D)-1のそれぞれが整数要素からなるn次元ベクトルであり、
前記子ノード生成部は、ノード(BD-1,t(D-1))の子ノードとして、k’=0,1,…,ν(D)-1についてノード(B,t(D-1)-cD,k’)を選択し、
前記古典計算部は、前記基底Bおよび前記整数Nを用い、前記双対基底B を得て出力し、
前記第1量子状態生成部は、
Figure 0007101355000196
の量子状態からなるレジスタを複数個生成し、
前記第2量子状態生成部は、一部の量子状態|φ>D,0のレジスタに量子操作を行い、前記量子操作が施されたレジスタの量子状態を
Figure 0007101355000197
に遷移させ、
前記スワップテスト部は、k’=0,1,…,ν(D)-1について、量子状態|φ>D,0のレジスタと量子状態|φ>t(D,k’)のレジスタとの各ペアに対してスワップテストを実行し、前記量子状態|φ>と前記量子状態|φ>t(D,k’)とのペアに対するスワップテストの結果が受理となるか拒否となるかを判定し、
前記ノード選択部は、前記スワップテストの結果を用いて、量子状態|φ>D,0と量子状態|φ>t(D,k’)とのペアに対するスワップテストの結果が受理となる確率pD,k’を計算し、前記確率pD,0,…,pD,ν(D)-1のうち最も高い確率pD,kmaxに対応するノード(B,t(D-1)-cD,kmax)を選択し、kmax∈{0,1,…,ν(D)-1}であり、
前記制御部は、t(D-1)-cD,kmaxと格子L(B)との間の最短の差分ベクトルt(BD,d)を得、前記差分ベクトルt(BD,d)の長さが基準値よりも小さい場合に前記差分ベクトルt(BD,d)を差分ベクトルt(d)として出力し、最近ベクトルt(BD,c)=t-t(BD,d)∈L(B)を最近ベクトルt(c)として出力し、前記差分ベクトルt(BD,d)の長さが前記基準値以上の場合に、D+1を新たなDとし、さらにt(D)=t(D-1)-cD,kmaxとして、前記基底選択部と前記代表元選択部と前記子ノード生成部と前記古典計算部と前記第1量子状態生成部と前記第2量子状態生成部と前記スワップテスト部と前記ノード選択部と前記制御部との各処理を再び実行する制御を行う、計算装置。
It ’s a computing device,
It has an initial setting unit, a basis selection unit, a representative element selection unit, a child node generation unit, a classical calculation unit, a node selection unit, a control unit, a first quantum state generation unit, a second quantum state generation unit, and a swap test unit. ,
n, N, ν (D), D are positive integers, i = 1, ..., n , im is an imaginary unit, η T is a translocation of η, and | Λ | is Λ. It is the number of elements, || η || is the length of η, η1 ⊆ η2 means that η1 is a subset of η2, and η1 ⊂ η2 means that η1 is a true subset of η2. , <τ, χ> is the inner product of τ and χ, and B = {b 1 , ..., b n } is the base consisting of linearly independent n-dimensional vectors bi, and each of the n -dimensional vectors bi. Is composed of n integer elements, L (B) is a lattice {Σ i = 1, ..., n x i bi | x i ∈ Z, bi ∈ B } , and L (B ) is the basis. It is a dual lattice L (B ) with respect to N defined for B and the integer N, x i is an integer, B is a dual base for N of B, and R ⊆ Z n is an integer element. It is a subregion belonging to the nth-order space consisting of t = (t 1 , ..., t n ) T is a target vector consisting of n integer elements ti.
The initial setting unit takes a set (B, t) as an input, and sets a node (B 0 , t (0)) = (B, t) consisting of a set of a basis B 0 and a target vector t (0). ,
The basis selection unit selects the basis BD of the partial lattice L ( BD ) ⊂ L ( BD-1 ) of the lattice L ( BD-1 ).
The representative element selection unit is (c D, 0 + L ( BD )) ∪ (c D, 1 + L ( BD )) ∪ ... ∪ (c D, ν (D) -1 + L ( BD )). ) = L ( BD-1 ), and for any κ1, κ2 of 0 or more and ν (D) or less, when κ1 ≠ κ2 (c D, κ1 + L ( BD )) ∩ (c D, Select the representative elements c D, 0 , c D, 1 , ..., C D, ν (D) -1 , which satisfy the condition that κ2 + L ( BD )) is empty, and select the representative element c. Each of D, 0 , c D, 1 , ..., C D, ν (D) -1 is an n-dimensional vector consisting of integer elements.
The child node generation unit, as a child node of the node ( BD-1 , t (D-1)), has a node (BD, t ( D ) for k'= 0, 1, ..., Ν (D) -1. -1) Select -c D, k' ) and select
The classical calculation unit uses the basis BD and the integer N to obtain and output the dual basis BD .
The first quantum state generator is
Figure 0007101355000196
Generate multiple registers consisting of quantum states of
The second quantum state generator performs a quantum operation on a part of the quantum states | φ> D, 0 registers, and obtains the quantum states of the registers subjected to the quantum operations.
Figure 0007101355000197
To transition to
The swap test unit has a quantum state | φ> D, 0 register and a quantum state | φ> t (D, k') register for k'= 0,1, ..., Ν (D) -1. A swap test is executed for each pair, and whether the result of the swap test for the pair of the quantum state | φ> 0 and the quantum state | φ> t (D, k') is accepted or rejected is determined. Judgment,
Using the result of the swap test, the node selection unit has a probability p that the result of the swap test for the pair of the quantum state | φ> D, 0 and the quantum state | φ> t (D, k') is accepted. D, k'is calculated, and the node corresponding to the highest probability p D, kmax among the probabilities p D, 0 , ..., P D, ν (D) -1 ( BD , t (D-1)- c D, kmax ) is selected, and kmax ∈ {0,1, ..., ν (D) -1}.
The control unit obtains the shortest difference vector t (BD, d) between t (D-1) -c D, kmax and the lattice L ( BD ), and obtains the shortest difference vector t (BD, d) of the difference vector t (BD, d) . When the length is smaller than the reference value, the difference vector t (BD, d) is output as the difference vector t (d) , and recently the vector t (BD, c) = tt ( BD, d) ∈ L ( BD ) is recently output as a vector t (c) , and when the length of the difference vector t (BD, d) is equal to or greater than the reference value, D + 1 is set as a new D, and t (D) = t (. As D-1) -c D, kmax , the base selection unit, the representative element selection unit, the child node generation unit, the classical calculation unit, the first quantum state generation unit, the second quantum state generation unit, and the above. A computing device that controls the swap test unit, the node selection unit, and the control unit to execute each process again.
基底Bを入力として、格子L(B)の中で最も原点に近い格子点への最短ベクトルを出力する計算装置であって、
基底生成部と設定部と選択部とを有し、
nが正の整数であり、B={b,…,b}が一次独立なn個のn次元ベクトルbからなる基底であり、前記n次元ベクトルbのそれぞれがn個の整数要素からなり、L(B)が格子{Σi=1,…,n |x∈Z,b∈B}であり、
前記基底生成部は、すべてのi=1,…,nについて、B={b,…,bi-1,2b,bi+1,…,b}に設定し、
前記設定部は、請求項2に記載の前記計算装置の処理をB=Bかつt=bとして実行して得られた前記差分ベクトルt(d)をt (d)に設定し、
前記選択部は、前記設定部で得られたt (d),…,t (d)の中で最短のものを前記最短ベクトルとして出力する、計算装置。
It is a calculation device that takes the basis B as an input and outputs the shortest vector to the grid point closest to the origin in the grid L (B).
It has a basis generation part, a setting part, and a selection part.
n is a positive integer, B = {b 1 , ..., b n } is a basis consisting of n linearly independent n-dimensional vectors bi, and each of the n -dimensional vectors bi is an integer of n. It consists of elements, and L (B) is a vector {Σ i = 1, ..., n x i bi | x i ∈ Z, bi ∈ B } .
The basis generation unit sets Bi = {b 1 , ..., bi -1 , 2bi , bi + 1 , ..., b n } for all i = 1, ..., N.
The setting unit sets the difference vector t (d) obtained by executing the processing of the calculation device according to claim 2 with B = Bi and t = bi in ti (d ) .
The selection unit is a calculation device that outputs the shortest of t 1 (d) , ..., T n (d) obtained by the setting unit as the shortest vector.
n次元ベクトルa,gおよび整数Nの入力に対して
Figure 0007101355000198
を満たす(X,…,Xを出力する計算装置であって、
第1古典計算部と第1量子状態生成部と第2量子状態生成部とスワップテスト部と選択部と第2古典計算部とを有し、
n,m,Nが正の整数であり、i=1,…,nであり、j=1,…,mであり、iが虚数単位であり、ηがηの転置であり、|Λ|がΛの要素数であり、<τ,χ>がτとχとの内積であり、η1⊆η2はη1がη2の部分集合であることを表し、B={b,…,b}が一次独立なn次元ベクトルbからなる基底であり、前記n次元ベクトルbのそれぞれがn個の整数要素からなり、L(B)が格子{Σi=1,…,n |x∈Z,b∈B}であり、L(B)が前記基底Bと前記整数Nとに対して定義されるNに関する双対格子L(B)であり、xが整数であり、BがBのNに関する双対基底であり、R⊆Zが整数要素からなるn次空間に属する部分領域であり、aがn個の整数要素a1j,…,anjからなるn次元ベクトルa=(a1j,…,anjであり、gがn個の要素g,…,gからなるn次元ベクトルg=(g,…,gであり、dがn個の要素d,…,dからなるn次元ベクトルd=(d,…,dであり、εがu番目の要素が1で他の要素が0のn次元単位ベクトルε=(0,…,1,0,…,0)であり、
,…,Xのそれぞれが深さD=1,…,mの何れかに対応する処理で得られ、深さDに対応する処理で得られるXがXj(D)∈{X,…,X}であり、深さDに対応する処理で得られるXj(D)の値がαj(D)であり、深さDに対応する処理で得られるXに対応する前記n次元ベクトルaがaj(D)∈{a,…,a}であり、AD-1=(aj(D)j(D+1)… aj(m))であり、X’D-1=(Xj(D),Xj(D+1),…,Xj(m)であり、
Figure 0007101355000199
であり、
前記第1古典計算部は、深さDに対応する処理において、{aj(D+1) j(D+2) … aj(m) Nε …Nε }で定義される格子のLLL既約基底BのNに関する双対基底B を得て出力し、
前記第1量子状態生成部は、前記深さDに対応する処理において、
Figure 0007101355000200
の量子状態からなるレジスタを複数個生成し、
前記第2量子状態生成部は、前記深さDに対応する処理において、一部の量子状態|φ>D,0のレジスタに量子操作を行い、j’=0,1,2…,N-1について、前記量子操作が施されたレジスタの量子状態を
Figure 0007101355000201
に遷移させ、
前記スワップテスト部は、前記深さDに対応する処理において、j’=0,1,2…,N-1について、量子状態|φ>D,0のレジスタと量子状態|φ>t(D,j’)のレジスタとの各ペアに対してスワップテストを実行し、前記量子状態|φ>D,0と前記量子状態|φ>t(D,j’)とのペアに対するスワップテストの結果が受理となるか拒否となるかを判定し、
前記選択部は、前記深さDに対応する処理において、前記スワップテストの結果を用いて、量子状態|φ>D,0と量子状態|φ>t(D,j’)とのペアに対するスワップテストの結果が受理となる確率pD,j’を計算し、前記確率pD,0,pD,1,…,pD,N-1のうち最も高い確率pD,jmaxに対応するjmax∈{0,1,2…,N-1}をαj(D)として出力し、さらにg’=gD-1’-αj(D)・aj(D)を出力し、
前記第2古典計算部は、前記選択部がすべてのD=1,…,mについてαj(D)を出力している場合には、αj(1),…,αj(m)を整列して得られる(X,…,Xを出力し、前記選択部が何れかのD=1,…,mについてαj(D)を出力していない場合には、前記第1古典計算部と前記第1量子状態生成部と前記第2量子状態生成部と前記スワップテスト部と前記選択部と前記第2古典計算部の各処理を再び実行させる制御を行う、計算装置。
For inputs of n-dimensional vectors a j , g and integer N
Figure 0007101355000198
It is a computing device that outputs T that satisfies (X 1 , ..., X m ).
It has a first classical calculation unit, a first quantum state generation unit, a second quantum state generation unit, a swap test unit, a selection unit, and a second classical calculation unit.
n, m, N are positive integers, i = 1, ..., n, j = 1, ..., m , im is an imaginary unit, η T is a translocation of η, | Λ | is the number of elements of Λ, <τ, χ> is the inner product of τ and χ, η1 ⊆ η2 indicates that η1 is a subset of η2, and B = {b 1 , ..., b. n } is a base consisting of linearly independent n -dimensional vectors bi, each of the n -dimensional vectors bi consists of n integer elements, and L (B) is a lattice {Σ i = 1, ..., n x. i bi | x i ∈ Z, bi ∈ B } , where L (B ) is a dual lattice L (B ) with respect to N defined for the base B and the integer N, and x. i is an integer, B - is a dual base for N of B, R⊆Z n is a subregion belonging to the nth-order space consisting of integer elements, and a j is n integer elements a 1j ,. An n-dimensional vector consisting of a nj a j = (a 1j , ..., a nj ) T , and an n-dimensional vector g = (g 1 , ..., G) consisting of n elements g 1 , ..., G n. n ) T , where d is an n-dimensional vector d = (d 1 , ..., d n ) consisting of n elements d 1 , ..., d n , where ε u is the u-th element and the others. The element of is an n-dimensional unit vector ε u = (0, ..., 1,0, ..., 0) T of 0,
Each of X 1 , ..., X m is obtained by the process corresponding to any of the depths D = 1, ..., M, and X j obtained by the process corresponding to the depth D is X j (D) ∈ {. X 1 , ..., X m }, and the value of X j (D) obtained by the process corresponding to the depth D is α j (D) , and the value of X j obtained by the process corresponding to the depth D is The corresponding n-dimensional vector a j is a j (D) ∈ {a 1 , ..., a m }, and A D-1 = (a j (D) a j (D + 1) ... a j (m) ). And X'D-1 = (X j (D) , X j (D + 1) , ..., X j (m) ) T ,
Figure 0007101355000199
And
The first classical calculation unit is a grid defined by {a j (D + 1) T a j (D + 2) T ... a j (m) T1 T ... Nε n T } in the process corresponding to the depth D. The dual basis BD -for N of the LLL irreducible basis BD - is obtained and output.
The first quantum state generator is in the process corresponding to the depth D.
Figure 0007101355000200
Generate multiple registers consisting of quantum states of
In the process corresponding to the depth D, the second quantum state generator performs a quantum operation on a register of a part of the quantum states | φ> D, 0 , and j'= 0, 1, 2, ..., N− For 1, the quantum state of the register subjected to the quantum operation
Figure 0007101355000201
To transition to
In the process corresponding to the depth D, the swap test unit has a quantum state | φ> D, 0 register and a quantum state | φ> t (D ) for j'= 0, 1, 2, ..., N-1. , J') The swap test is executed for each pair with the register, and the result of the swap test for the pair of the quantum state | φ> D, 0 and the quantum state | φ> t (D, j') . Determines whether it will be accepted or rejected,
In the process corresponding to the depth D, the selection unit uses the result of the swap test to swap the pair of the quantum state | φ> D, 0 and the quantum state | φ> t (D, j') . The probability p D, j'that the test result is accepted is calculated, and jmax corresponding to the highest probability p D, jmax among the probabilities p D, 0 , p D, 1 , ..., P D, N-1 . ∈ {0, 1, 2, ..., N-1} is output as α j (D) , and g D '= g D- 1'-α j (D) · a j (D) is output.
The second classical calculation unit outputs α j (1) , ..., α j (m) when the selection unit outputs α j (D) for all D = 1, ..., M. If T obtained in alignment (X 1 , ..., X m ) is output and the selection unit does not output α j (D) for any of D = 1, ..., M, the first 1 A calculation device that controls to re-execute each process of the classical calculation unit, the first quantum state generation unit, the second quantum state generation unit, the swap test unit, the selection unit, and the second classical calculation unit.
判定装置であって、
第1古典計算部と第1量子状態生成部と第2量子状態生成部と第1スワップテスト部と第3量子状態生成部と第4量子状態生成部と第2スワップテスト部と第2古典計算部とを有し、
n,n’が正の整数であり、n’>nであり、i=1,…,nであり、i’=1,…,n’であり、iが虚数単位であり、ηがηの転置であり、|Λ|がΛの要素数であり、||η||がηの長さであり、<τ,χ>がτとχとの内積であり、η1⊆η2はη1がη2の部分集合であることを表し、B={b,…,b}が一次独立なn次元ベクトルbからなる基底であり、前記n次元ベクトルbのそれぞれがn個の整数要素からなり、L(B)が格子{Σi=1,…,n |x∈Z,b∈B}であり、xが整数であり、βが前記基底Bの前記n次元ベクトルb,…,bを要素とするn行n列の基底行列であり、αがn行の整数要素からなる行列であり、t1=(t1,1,…,t1,nがn個の整数要素t1,iからなる目標ベクトルであり、t2=(t2,1,…,t2,nがn個の整数要素t2,iからなる目標ベクトルであり、t1(d)が前記目標ベクトルt1と前記目標ベクトルt1の最近ベクトルt1(c)∈L(B)との差分ベクトルt1(d)=t1-t1(c)=(t1,1 (d),…,t1,n (d))であり、t2(d)が前記目標ベクトルt2と前記目標ベクトルt2の最近ベクトルt2(c)∈L(B)との差分ベクトルt2(d)=t2-t2(c)=(t2,1 (d),…,t2,n (d))であり、
前記第1古典計算部は、前記行列αと前記基底行列βとを行方向に並べた行列β’=(α β)の転置行列β’のエルミート標準形が対角成分1の行列となる前記行列αを選択し、エルミート標準形の行列H’に対してβ’β’=H’を満たすユニモジュラ行列β’を得、前記行列β’=(b ,…,b の行ベクトルb ,…,b からなる基底をB’とし、前記ユニモジュラ行列β’=(b ’,…,bn’ ’)の行ベクトルb ’,…,bn’ ’からなる基底をB’とし、前記基底B’が張る空間span(B’)に属するn’個の整数要素t’1,i’からなる目標ベクトルt1=(t’1,1,…,t’1,n’∈span(B)およびn’個の整数要素t’2,i’からなる目標ベクトルt2’=(t’2,1,…,t’2,n’∈span(B’)を得、
Proj(t1’)=(0,t1)、Proj(t2’)=(0,t2)であり、Proj(μ)がμの最初のn’-n個の要素が0であるn次元ベクトル空間への射影を表し、L(B’)が格子L(B’)={Σi’=1,…,n’ i’i’|xi’∈Z,bi’∈B’}であり、xi’が整数であり、R⊆Zn’が整数要素からなるn’次空間に属する部分領域であり、
前記第1量子状態生成部は、
Figure 0007101355000202
の量子状態からなるレジスタを複数個生成し、
前記第2量子状態生成部は、一部の量子状態|φ>のレジスタに量子操作を行い、前記量子操作が施されたレジスタの量子状態を
Figure 0007101355000203
に遷移させ、
前記第1スワップテスト部は、量子状態|φ>のレジスタと量子状態|φ>t1’のレジスタとの各ペアに対してスワップテストを実行し、前記量子状態|φ>と前記量子状態|φ>t1’とのペアに対するスワップテストの結果が受理となるか拒否となるかを判定する、
前記第3量子状態生成部は、
Figure 0007101355000204
の量子状態からなるレジスタを複数個生成し、
前記第4量子状態生成部は、一部の量子状態|φ>のレジスタに量子操作を行い、前記量子操作が施されたレジスタの量子状態を
Figure 0007101355000205
に遷移させ、
前記第2スワップテスト部は、量子状態|φ>のレジスタと量子状態|φ>t2’ のレジスタとの各ペアに対してスワップテストを実行し、前記量子状態|φ>と前記量子状態|φ>t2’とのペアに対するスワップテストの結果が受理となるか拒否となるかを判定し、
前記第2古典計算部は、前記スワップテストの結果を用いて、量子状態|φ>と量子状態|φ>t1とのペアに対するスワップテストの結果が受理となる確率pと、量子状態|φ>と量子状態|φ>t2とのペアに対するスワップテストの結果が受理となる確率pを計算し、p≧pの場合に||t1(d)||≦||t2(d)||であることを表す情報を出力し、p<pの場合に||t1(d)||>||t2(d)||であることを表す情報を出力するか、または、p>pの場合に||t1(d)||<||t2(d)||であることを表す情報を出力し、p≦pの場合に||t1(d)||≧|t2(d)||であることを表す情報を出力する、判定装置。
It is a judgment device
The first classical calculation unit, the first quantum state generation unit, the second quantum state generation unit, the first swap test unit, the third quantum state generation unit, the fourth quantum state generation unit, the second swap test unit, and the second classical calculation unit. Has a part and
n, n'is a positive integer, n'> n, i = 1, ..., n, i'= 1, ..., n ', im is an imaginary unit, and η T. Is the translocation of η, | Λ | is the number of elements of Λ, || η || is the length of η, <τ, χ> is the inner product of τ and χ, and η1⊆η2 is. Representing that η 1 is a subset of η 2, B = {b 1 , ..., b n } is a base consisting of linearly independent n-dimensional vectors bi, and each of the n -dimensional vectors bi has n elements. It consists of integer elements, where L (B ) is the matrix {Σ i = 1, ..., n x i bi | x i ∈ Z, bi ∈ B } , x i is an integer, and β is the base B. The n-dimensional vector b 1 , ..., b n of the above n-dimensional vector b 1, ..., b n is an n-row n-column base matrix, α is a matrix consisting of n-row integer elements, and t1 = (t 1 , 1, ..., t 1, n ) T is a target vector consisting of n integer elements t 1, i , and t 2 = (t 2 , 1, ..., T 2, n ) T is composed of n integer elements t 2, i . It is a target vector, and t1 (d) is a difference vector between the target vector t1 and the latest vector t1 (c) ∈ L (B) of the target vector t1 t1 (d) = t1-t1 (c) = (t 1 ). , 1 (d) , ..., t 1, n (d) ), where t2 (d) is the difference vector t2 between the target vector t2 and the recent vector t2 (c) ∈ L (B) of the target vector t2. (D) = t2-t2 (c) = (t 2,1 (d) , ..., t 2, n (d) ).
In the first classical calculation unit, the Elmeet standard form of the transposed matrix β'T of the matrix β'= (α β) in which the matrix α and the base matrix β are arranged in the row direction is a matrix of diagonal components 1. The matrix α is selected to obtain a unimodular matrix β −'that satisfies β −'β ' T = H'with respect to the Elmeat standard matrix H', and the matrix β'= (b 1 ' , ..., B). n ' ) Let B'be the base consisting of the row vector b 1 ' , ..., b n'of T , and the row vector of the monomodular matrix β - '= (b 1- ' , ..., b n'- ') T. The base consisting of b 1- ', ..., b n' - ' is B-', and the target consisting of n'integer elements t'1, i'belonging to the space span (B') stretched by the base B'. Vector t1 ' = ( t'1,1 , ..., t'1 , n' ) T ∈ span (B ' ) and target vector t2'= (t' consisting of n'item elements t'2 , i ' 2, 1, ..., t'2 , n' ) T ∈ span (B') is obtained.
An n-dimensional vector space in which Proj (t1') = (0, t1), Proj (t2') = (0, t2), and the first n'-n elements of Proj (μ) are 0. L (B-') represents the projection to the lattice L (B-' ) = {Σ i '= 1, ..., n'x i'b - 'i ' | x i'∈ Z , b-'i'∈ B- ' }, x i'is an integer, and R ⊆ Z n'is a subregion belonging to the n'th order space consisting of integer elements.
The first quantum state generator is
Figure 0007101355000202
Generate multiple registers consisting of quantum states of
The second quantum state generator performs a quantum operation on a part of the quantum state | φ> 0 register, and changes the quantum state of the register to which the quantum operation is performed.
Figure 0007101355000203
To transition to
The first swap test unit executes a swap test for each pair of a quantum state | φ> 0 register and a quantum state | φ>t1'register , and the quantum state | φ> 0 and the quantum state. | φ> Determine whether the result of the swap test for the pair with t1'is accepted or rejected.
The third quantum state generator is
Figure 0007101355000204
Generate multiple registers consisting of quantum states of
The fourth quantum state generator performs a quantum operation on a part of the quantum state | φ> 0 register, and changes the quantum state of the register to which the quantum operation is performed.
Figure 0007101355000205
To transition to
The second swap test unit executes a swap test for each pair of the quantum state | φ> 0 register and the quantum state | φ>t2'register , and the quantum state | φ> 0 and the quantum state. Determine whether the result of the swap test for the pair with | φ>t2'is accepted or rejected.
The second classical calculation unit uses the result of the swap test to obtain the probability p1 that the result of the swap test for the pair of the quantum state | φ> 0 and the quantum state | φ> t1 is accepted, and the quantum state | Calculate the probability p 2 that the result of the swap test for the pair of φ> 0 and the quantum state | φ> t2 is accepted, and when p 1 ≧ p 2 , || t1 (d) || ≦ || t2 ( d) Output the information indicating that it is ||, and output the information indicating that it is || t1 (d) ||> || t2 (d) || when p 1 <p 2 . Alternatively, when p 1 > p 2 , the information indicating that || t1 (d) || <|| t2 (d) || is output, and when p 1 ≤ p 2 , || t1 (d). ) || ≧ | t2 (d) A determination device that outputs information indicating that it is ||.
計算装置であって、
初期設定部と基底選択部と代表元選択部と子ノード生成部と古典計算部とノード選択部と制御部と第1量子状態生成部と第2量子状態生成部とスワップテスト部とを有し、
n,n’,N,ν(D),Dが正の整数であり、n’>nであり、i=1,…,nであり、i’=1,…,n’であり、iが虚数単位であり、ηがηの転置であり、|Λ|がΛの要素数であり、||η||がηの長さであり、η1⊆η2はη1がη2の部分集合であることを表し、<τ,χ>がτとχとの内積であり、η1⊂η2はη1がη2の真部分集合であることを表し、B={b,…,b}が一次独立なn次元ベクトルbからなる基底であり、前記n次元ベクトルbのそれぞれがn個の整数要素からなり、L(B)が格子{Σi=1,…,n |x∈Z,b∈B}であり、xが整数であり、R⊆Zn’が整数要素からなるn’次空間に属する部分領域であり、t=(t,…,tがn個の整数要素tからなる目標ベクトルであり、
前記初期設定部は、組(B,t)を入力とし、基底Bと目標ベクトルt(0)との組からなるノード(B,t(0))=(B,t)を設定し、
前記基底選択部は、格子L(BD-1)の部分格子L(B)⊂L(BD-1)の基底Bを選択し、βが基底B={bD,1,…,bD,n}のn次元ベクトルbD,1,…,bD,nを行ベクトルとするn行n列の基底行列であり、αがn行の整数要素からなる行列であり、
前記代表元選択部は、(cD,0+L(B))∪(cD,1+L(B))∪・・・∪(cD,ν(D)-1+L(B))=L(BD-1)であり、0以上ν(D)以下の任意のκ1,κ2について、κ1≠κ2である場合に(cD,κ1+L(B))∩(cD,κ2+L(B))が空であるとの条件を満たす、代表元cD,0,cD,1,・・・,cD,ν(D)-1を選択し、前記代表元cD,0,cD,1,・・・,cD,ν(D)-1のそれぞれが整数要素からなるn次元ベクトルであり、
前記子ノード生成部は、ノード(BD-1,t(D-1))の子ノードとして、k’=0,1,…,ν(D)-1についてノード(B,t(D-1)-cD,k’)を選択し、
前記古典計算部は、前記行列αと前記基底行列βとを行方向に並べた行列β’=(α β)の転置行列βのエルミート標準形が対角成分1の行列となる前記行列αを選択し、エルミート標準形の行列H’に対してβ ’β=H’を満たすユニモジュラ行列β ’を得、前記行列β’=(bD,1’,…,bD,n’’)の行ベクトルbD,1’,…,bD,n’’からなる基底をB’とし、前記ユニモジュラ行列β ’=(bD,1 ’,…,bD,n’ ’)の行ベクトルbD,1 ’,…,bD,n’ ’からなる基底をB ’とし、前記基底B’が張る空間span(B’)に属するn’個の整数要素t’D,i’からなる目標ベクトルt(D)’=(t’D,1,…,t’D,n’∈span(B’)を得、
Proj(t’D-1,k’)=(0,t(D-1)-cD,k’)であり、Proj(μ)がμの最初のn’-n個の要素が0であるn次元ベクトル空間への射影を表し、L(B’)が格子L(B’)={Σi’=1,…,n’ i’i’|xi’∈Z,bi’∈B’}であり、xi’が整数であり、R⊆Zn’が整数要素からなるn’次空間に属する部分領域であり、
前記第1量子状態生成部は、
Figure 0007101355000206
の量子状態からなるレジスタを複数個生成し、
前記第2量子状態生成部は、一部の量子状態|φ>D,0のレジスタに量子操作を行い、前記量子操作が施されたレジスタの量子状態を
Figure 0007101355000207
に遷移させ、
前記スワップテスト部は、k’=0,1,…,ν(D)-1について、量子状態|φ>D,0のレジスタと量子状態|φ>t(D,k’)のレジスタとの各ペアに対してスワップテストを実行し、前記量子状態|φ>と前記量子状態|φ>t(D,k’)とのペアに対するスワップテストの結果が受理となるか拒否となるかを判定し、
前記ノード選択部は、前記スワップテストの結果を用いて、量子状態|φ>D,0と量子状態|φ>t(D,k’)とのペアに対するスワップテストの結果が受理となる確率pD,k’を計算し、前記確率pD,0,…,pD,ν(D)-1のうち最も高い確率pD,kmaxに対応するノード(B,t(D-1)-cD,kmax)を選択し、kmax∈{0,1,…,ν(D)-1}であり、
前記制御部は、t(D-1)-cD,kmaxと格子L(B)との間の最短の差分ベクトルt(BD,d)を得、前記差分ベクトルt(BD,d)の長さが基準値よりも小さい場合に前記差分ベクトルt(BD,d)を差分ベクトルt(d)として出力し、最近ベクトルt(BD,c)=t-t(BD,d)∈L(B)を最近ベクトルt(c)として出力し、前記差分ベクトルt(BD,d)の長さが前記基準値以上の場合に、D+1を新たなDとし、さらにt(D)=t(D-1)-cD,kmaxとして、前記基底選択部と前記代表元選択部と前記子ノード生成部と前記古典計算部と前記第1量子状態生成部と前記第2量子状態生成部と前記スワップテスト部と前記ノード選択部と前記制御部との各処理を再び実行する制御を行う、計算装置。
It ’s a computing device,
It has an initial setting unit, a basis selection unit, a representative element selection unit, a child node generation unit, a classical calculation unit, a node selection unit, a control unit, a first quantum state generation unit, a second quantum state generation unit, and a swap test unit. ,
n, n', N, ν (D), D are positive integers, n'> n, i = 1, ..., n, i'= 1, ..., n', i m is an imaginary unit, η T is an inversion of η, | Λ | is the number of elements of Λ, || η || is the length of η, and η1 ⊆ η2 is a subset of η1 of η2. , <τ, χ> is the inner product of τ and χ, η1 ⊂ η2 means that η1 is a true subset of η2, and B = {b 1 , ..., b n }. It is a base consisting of linearly independent n -dimensional vectors bi, each of the n -dimensional vectors bi is composed of n integer elements, and L (B) is a lattice {Σ i = 1, ..., n x i bi i . | X i ∈ Z, bi ∈ B }, x i is an integer, R ⊆ Z n'is a subregion belonging to the n'th order space consisting of integer elements, and t = (t 1 , ..., t n ) T is a target vector consisting of n integer elements ti.
The initial setting unit takes a set (B, t) as an input, and sets a node (B 0 , t (0)) = (B, t) consisting of a set of a basis B 0 and a target vector t (0). ,
The basis selection section selects the basis BD of the partial matrix L ( BD ) ⊂ L ( BD-1 ) of the lattice L ( BD-1 ), and β D is the basis BD = {b D , 1 , ..., b D, n } n-dimensional vector b D, 1 , ..., b D, n is a basis matrix of n rows and n columns with n as row vectors, and α D is a matrix consisting of n rows of integer elements. can be,
The representative element selection unit is (c D, 0 + L ( BD )) ∪ (c D, 1 + L ( BD )) ∪ ... ∪ (c D, ν (D) -1 + L ( BD )). ) = L ( BD-1 ), and for any κ1, κ2 of 0 or more and ν (D) or less, when κ1 ≠ κ2 (c D, κ1 + L ( BD )) ∩ (c D, Select the representative elements c D, 0 , c D, 1 , ..., C D, ν (D) -1 , which satisfy the condition that κ2 + L ( BD )) is empty, and select the representative element c. Each of D, 0 , c D, 1 , ..., C D, ν (D) -1 is an n-dimensional vector consisting of integer elements.
The child node generation unit, as a child node of the node ( BD-1 , t (D-1)), has a node (BD, t ( D ) for k'= 0, 1, ..., Ν (D) -1. -1) Select -c D, k' ) and select
In the classical calculation unit, the Elmeet standard form of the transposed matrix β D' T of the matrix β D '= (α D β D ) in which the matrix α D and the base matrix β D are arranged in the row direction is the diagonal component 1. Select the matrix α D , which is the matrix of = (B D, 1 ', ..., b D, n' ') The base consisting of the row vectors b D, 1 ', ..., b D, n '' of T is BD ', and the monomodular matrix β D - '= (B D , 1- ', ..., b D, n'- ' ) Let the base consisting of the row vectors b D, 1- ' , ..., b D, n'-' of T be BD-'. , Target vector t ( D )'= (t'D , 1 , ..., T'consisting of n'integer elements t'D, i'belonging to the space span ( BD ') stretched by the base BD '. D, n' ) T ∈ span ( BD '),
Proj (t'D -1, k' ) = (0, t (D-1) -c D, k' ), and the first n'-n elements of Proj (μ) are 0. Representing a projection onto a certain n - dimensional vector space, L (B-') is a lattice L (B-' ) = {Σ i '= 1, ..., n'x i'b - 'i ' | x i'∈ Z, b - 'i ' ∈ B- ' }, x i'is an integer, and R ⊆ Z n'is a subregion belonging to the n'th order space consisting of integer elements.
The first quantum state generator is
Figure 0007101355000206
Generate multiple registers consisting of quantum states of
The second quantum state generator performs a quantum operation on a part of the quantum states | φ> D, 0 registers, and obtains the quantum states of the registers subjected to the quantum operations.
Figure 0007101355000207
To transition to
The swap test unit has a quantum state | φ> D, 0 register and a quantum state | φ> t (D, k') register for k'= 0,1, ..., Ν (D) -1. A swap test is executed for each pair, and whether the result of the swap test for the pair of the quantum state | φ> 0 and the quantum state | φ> t (D, k') is accepted or rejected is determined. Judgment,
Using the result of the swap test, the node selection unit has a probability p that the result of the swap test for the pair of the quantum state | φ> D, 0 and the quantum state | φ> t (D, k') is accepted. D, k'is calculated, and the node corresponding to the highest probability p D, kmax among the probabilities p D, 0 , ..., P D, ν (D) -1 ( BD , t (D-1)- c D, kmax ) is selected, and kmax ∈ {0,1, ..., ν (D) -1}.
The control unit obtains the shortest difference vector t (BD, d) between t (D-1) -c D, kmax and the lattice L ( BD ), and obtains the shortest difference vector t (BD, d) of the difference vector t (BD, d) . When the length is smaller than the reference value, the difference vector t (BD, d) is output as the difference vector t (d) , and recently the vector t (BD, c) = tt ( BD, d) ∈ L ( BD ) is recently output as a vector t (c) , and when the length of the difference vector t (BD, d) is equal to or greater than the reference value, D + 1 is set as a new D, and t (D) = t (. As D-1) -c D, kmax , the base selection unit, the representative element selection unit, the child node generation unit, the classical calculation unit, the first quantum state generation unit, the second quantum state generation unit, and the above. A computing device that controls the swap test unit, the node selection unit, and the control unit to execute each process again.
基底Bを入力として、格子L(B)の中で最も原点に近い格子点への最短ベクトルを出力する計算装置であって、
基底生成部と設定部と選択部とを有し、
nが正の整数であり、B={b,…,b}が一次独立なn個のn次元ベクトルbからなる基底であり、前記n次元ベクトルbのそれぞれがn個の整数要素からなり、L(B)が格子{Σi=1,…,n |x∈Z,b∈B}であり、
前記基底生成部は、すべてのi=1,…,nについて、B={b,…,bi-1,2b,bi+1,…,b}に設定し、
前記設定部は、請求項6に記載の前記計算装置の処理をB=Bかつt=bとして実行して得られた前記差分ベクトルt(d)をt (d)に設定し、
前記選択部は、前記設定部で得られたt (d),…,t (d)の中で最短のものを前記最短ベクトルとして出力する、計算装置。
It is a calculation device that takes the basis B as an input and outputs the shortest vector to the grid point closest to the origin in the grid L (B).
It has a basis generation part, a setting part, and a selection part.
n is a positive integer, B = {b 1 , ..., b n } is a basis consisting of n linearly independent n-dimensional vectors bi, and each of the n -dimensional vectors bi is an integer of n. It consists of elements, and L (B) is a vector {Σ i = 1, ..., n x i bi | x i ∈ Z, bi ∈ B } .
The basis generation unit sets Bi = {b 1 , ..., bi -1 , 2bi , bi + 1 , ..., b n } for all i = 1, ..., N.
The setting unit sets the difference vector t (d) obtained by executing the processing of the calculation device according to claim 6 with B = Bi and t = bi in ti (d ) .
The selection unit is a calculation device that outputs the shortest of t 1 (d) , ..., T n (d) obtained by the setting unit as the shortest vector.
n次元ベクトルa,gおよび整数Nの入力に対して
Figure 0007101355000208
を満たす(X,…,Xを出力する計算装置であって、
第1古典計算部と第1量子状態生成部と第2量子状態生成部とスワップテスト部と選択部と第2古典計算部とを有し、
n,n’,m,Nが正の整数であり、n’>nであり、i=1,…,nであり、i’=1,…,n’であり、j=1,…,mであり、iが虚数単位であり、ηがηの転置であり、|Λ|がΛの要素数であり、<τ,χ>がτとχとの内積であり、η1⊆η2はη1がη2の部分集合であることを表し、B={b,…,b}が一次独立なn次元ベクトルbからなる基底であり、前記n次元ベクトルbのそれぞれがn個の整数要素からなり、L(B)が格子{Σi=1,…,n |x∈Z,b∈B}であり、xが整数であり、R⊆Zn’が整数要素からなるn’次空間に属する部分領域であり、aがn個の整数要素a1j,…,anjからなるn次元ベクトルa=(a1j,…,anjであり、gがn個の要素g,…,gからなるn次元ベクトルg=(g,…,gであり、dがn個の要素d,…,dからなるn次元ベクトルd=(d,…,dであり、
,…,XのそれぞれがD=1,…,mの何れかに対応する処理で得られ、深さDに対応する処理で得られるXがXj(D)∈{X,…,X}であり、深さDに対応する処理で得られるXj(D)の値がαj(D)であり、深さDに対応する処理で得られるXに対応する前記n次元ベクトルaがaj(D)∈{a,…,a}であり、AD-1=(aj(D)j(D+1)… aj(m))であり、X’D-1=(Xj(D),Xj(D+1),…,Xj(m)であり、
Figure 0007101355000209
であり、
前記第1古典計算部は、深さDに対応する処理において、{aj(D+1) j(D+2) … aj(m) Nε …Nε }で定義される格子のLLL既約基底Bの基底行列βを得、n列の整数要素からなる行列αと前記基底行列βとを行方向に並べた行列β’=(α β)の転置行列βのエルミート標準形が対角成分1の行列となる前記行列αを選択し、エルミート標準形の行列H’に対してβ ’β=H’を満たすユニモジュラ行列β ’を得、前記行列β’=(bD,1’,…,bD,n’’)の行ベクトルbD,1’,…,bD,n’’からなる基底をB とし、前記ユニモジュラ行列β ’=(bD,1 ’,…,bD,n’ ’)の行ベクトルbD,1 ’,…,bD,n’ ’からなる基底をB ’とし、前記基底B’が張る空間span(B )に属するn個の整数要素t D,i’からなる目標ベクトルt(D)’=(t’D,1,…,t’D,n’∈span(B’)を得、
Proj(t’D-1,j’)=(0,gD-1-j’・aj(D) )であり、Proj(μ)がμの最初のn’-n個の要素が0であるn’次元ベクトル空間への射影を表し、L(B’)が格子L(B’)={Σi’=1,…,n’ i’i’|xi’∈Z,bi’∈B’}であり、xi’が整数であり、R⊆Zn’が整数要素からなるn’次空間に属する部分領域であり、
前記第1量子状態生成部は、前記深さDに対応する処理において、
Figure 0007101355000210
の量子状態からなるレジスタを複数個生成し、
前記第2量子状態生成部は、前記深さDに対応する処理において、一部の量子状態|φ>D,0のレジスタに量子操作を行い、j’=0,1,2,…,N-1について、前記量子操作が施されたレジスタの量子状態を
Figure 0007101355000211
に遷移させ、
前記スワップテスト部は、前記深さDに対応する処理において、j’=0,1,2,…,N-1について、量子状態|φ>D,0のレジスタと量子状態|φ>t(D,j’)のレジスタとの各ペアに対してスワップテストを実行し、前記量子状態|φ>D,0と前記量子状態|φ>t(D,j’)とのペアに対するスワップテストの結果が受理となるか拒否となるかを判定し、
前記選択部は、前記深さDに対応する処理において、前記スワップテストの結果を用いて、量子状態|φ>D,0と量子状態|φ>t(D,j’)とのペアに対するスワップテストの結果が受理となる確率pD,j’を計算し、前記確率pD,0,pD,1,…,pD,N-1のうち最も高い確率pD,jmaxに対応するjmax∈{0,1,2,…,N-1}をαj(D)として出力し、さらにg’=gD-1’-αj(D)・aj(D)を出力し、
前記第2古典計算部は、前記選択部がすべてのD=1,…,mについてαj(D)を出力している場合には、αj(1),…,αj(m)を整列して得られる(X,…,Xを出力し、前記選択部が何れかのD=1,…,mについてαj(D)を出力していない場合には、前記第1古典計算部と前記第1量子状態生成部と前記第2量子状態生成部と前記スワップテスト部と前記選択部と前記第2古典計算部の各処理を再び実行させる制御を行う、計算装置。
For inputs of n-dimensional vectors a j , g and integer N
Figure 0007101355000208
It is a computing device that outputs T that satisfies (X 1 , ..., X m ).
It has a first classical calculation unit, a first quantum state generation unit, a second quantum state generation unit, a swap test unit, a selection unit, and a second classical calculation unit.
n, n', m, N are positive integers, n'> n, i = 1, ..., n, i'= 1, ..., n', j = 1, ..., m , im is an imaginary unit, η T is the translocation of η, | Λ | is the number of elements of Λ, <τ, χ> is the inner product of τ and χ, and η1 ⊆ η2 Indicates that η 1 is a subset of η 2, and B = {b 1 , ..., b n } is a base consisting of linearly independent n-dimensional vectors bi, and each of the n -dimensional vectors bi is n. L (B) is a lattice {Σ i = 1, ..., n x i bi | x i ∈ Z, bi ∈ B } , x i is an integer, and R ⊆ Z n ' Is a subregion belonging to the n'th order space consisting of integer elements, and a j is an n-dimensional vector consisting of n integer elements a 1j , ..., a nj = (a 1j , ..., a nj ) T And g is an n-dimensional vector g = (g 1 , ..., gn ) T consisting of n elements g 1 , ..., G n, and d is from n elements d 1 , ..., d n . N-dimensional vector d = (d 1 , ..., d n ) T
Each of X 1 , ..., X m is obtained by the process corresponding to any of D = 1, ..., M, and X j obtained by the process corresponding to the depth D is X j (D) ∈ {X 1 , ..., X m }, and the value of X j (D) obtained by the process corresponding to the depth D is α j (D) , which corresponds to X j obtained by the process corresponding to the depth D. The n-dimensional vector a j is a j (D) ∈ {a 1 , ..., a m }, and A D-1 = (a j (D) a j (D + 1) ... a j (m) ). , X'D-1 = (X j (D) , X j (D + 1) , ..., X j (m) ) T ,
Figure 0007101355000209
And
The first classical calculation unit is a matrix defined by {a j (D + 1) T a j (D + 2) T ... a j (m) T1 T ... Nε n T } in the process corresponding to the depth D. The base matrix β D of the LLL irreducible base BD is obtained, and the matrix β D '= (α D β D ) in which the matrix α D consisting of n columns of integer elements and the base matrix β D are arranged in the row direction. Select the matrix α D in which the Elmeet standard form of the transposed matrix β D' T is a matrix with diagonal component 1, and satisfy β D −'β D' T = H'with respect to the Elmeat standard form matrix H'. A unimodular matrix β D - 'is obtained, and the row vector b D, 1 ', ..., b D, n' ' of the matrix β D '= (b D, 1 ', ..., b D, n' ') T is obtained. Let BD'be the base consisting of, and the row vector b D , 1- ' , ..., b of the unimodular matrix β D - '= (b D, 1- ' , ..., b D, n'- ' ) T. The base consisting of D , n' - ' is BD- ' , and the target vector t (d) consisting of n'integer elements t'D, i'belonging to the space span ( BD ' ) stretched by the base BD '. D)'= (t'D , 1 , ..., t'D , n' ) T ∈ span ( BD ') is obtained.
Proj (t'D -1, j' ) = (0, g D- 1'T -j' · a j (D) T ), and Proj (μ) is the first n'-n of μ. Represents a projection onto an n'dimensional vector space whose elements are 0 , where L (B-') is a lattice L (B-' ) = {Σ i '= 1, ..., n'x i'b - 'i ' | X i'∈ Z, b - 'i' B- ' }, x i'is an integer, and R ⊆ Z n'is a subregion belonging to the n'th order space consisting of integer elements.
The first quantum state generator is in the process corresponding to the depth D.
Figure 0007101355000210
Generate multiple registers consisting of quantum states of
In the process corresponding to the depth D, the second quantum state generator performs a quantum operation on a register of a part of the quantum states | φ> D, 0 , and j'= 0, 1, 2, ..., N. For -1, the quantum state of the register subjected to the quantum operation
Figure 0007101355000211
To transition to
In the process corresponding to the depth D, the swap test unit has a quantum state | φ> D, 0 register and a quantum state | φ> t ( for j'= 0, 1, 2, ..., N-1. A swap test is executed for each pair with the register of D, j') , and a swap test for the pair of the quantum state | φ> D, 0 and the quantum state | φ> t (D, j') is performed. Determine if the result is acceptable or rejected,
In the process corresponding to the depth D, the selection unit uses the result of the swap test to swap the pair of the quantum state | φ> D, 0 and the quantum state | φ> t (D, j') . The probability p D, j'that the test result is accepted is calculated, and jmax corresponding to the highest probability p D, jmax among the probabilities p D, 0 , p D, 1 , ..., P D, N-1 . ∈ {0, 1, 2, ..., N-1} is output as α j (D) , and g D '= g D- 1'-α j (D) · a j (D) is output.
The second classical calculation unit outputs α j (1) , ..., α j (m) when the selection unit outputs α j (D) for all D = 1, ..., M. If T obtained in alignment (X 1 , ..., X m ) is output and the selection unit does not output α j (D) for any of D = 1, ..., M, the first 1 A calculation device that controls to re-execute each process of the classical calculation unit, the first quantum state generation unit, the second quantum state generation unit, the swap test unit, the selection unit, and the second classical calculation unit.
順伝播型ニューラルネットワークの教師あり学習を行う学習装置と請求項4または8の計算装置とを有する学習システムであって、
前記学習装置は、初期設定部とLWE問題処理部と活性化関数演算部とを有し、
n,m,s”,dが正の整数であり、i=1,2,3,…,nであり、D”が2以上の整数であり、a”i,1,…,a”i,mおよびg”が実数であり、Ψが活性化関数であり、
前記学習装置には、トレーニングデータであるn組のm次元データセット{a”i,1,…,a”i,m}からなる行列
Figure 0007101355000212
および各データセット{a”i,1,…,a”i,m}に対するクラスラベルg”からなるベクトル
Figure 0007101355000213
と、順伝播型ニューラルネットワークの深さD”とが入力され、
前記初期設定部は、行列Aを用いて
Figure 0007101355000214
に設定し、
L”=1,2,…,D”-2の順序で、
(a)前記LWE問題処理部は、第1LWE問題
Figure 0007101355000215
を前記計算装置に送り、
(b)前記計算装置は前記第1LWE問題の解X=(X,X,…,Xの候補値を生成して出力し、
(c)前記LWE問題処理部は、長さ||d||が短い順で1番目からm番目までである差分ベクトルd=(d,…,dに対応するm組の前記第1LWE問題の解Xの候補値を選択し、κ”(1≦κ”≦m)番目の解Xの候補値を(W0,κ” (L”),W1,κ” (L”),…,Wm,κ” (L”)とし、
Figure 0007101355000216
に設定し、
(d)前記活性化関数演算部は、
Figure 0007101355000217
を満たすa”j,κ” (L”+1)(1≦j,κ”≦m)を設定し、
L”=1,2,…,D”-2の順序で上記(a),(b),(c),(d)の処理が行われた後、
前記LWE問題処理部は、第2LWE問題
Figure 0007101355000218
を前記計算装置に送り、
前記計算装置は前記第2LWE問題の解X=(X,X,…,Xを生成して出力し、
前記LWE問題処理部は、前記第2LWE問題の解X=(X,X,…,Xを(W0,1 (D”-1),W1,1 (D”-1),…,Wm,1 (D”-1)とし、
Figure 0007101355000219
を設定し、
(1),…,W(D”-1)が前記ニューラルネットワークの重みとして出力される、学習システム。
A learning system having a learning device for supervised learning of a feedforward neural network and a computing device according to claim 4 or 8.
The learning device has an initial setting unit, an LWE problem processing unit, and an activation function calculation unit.
n, m, s ", di are positive integers, i = 1,2,3, ..., n, D" is an integer of 2 or more, and a " i, 1 , ..., a" i, m and g ” i are real numbers, Ψ is the activation function,
The learning device is a matrix consisting of n sets of m-dimensional data sets {a " i, 1 , ..., a" i, m } which are training data.
Figure 0007101355000212
And a vector consisting of the class label g " i for each dataset {a" i, 1 , ..., a " i, m }"
Figure 0007101355000213
And the depth D of the feedforward neural network are input.
The initial setting unit uses a matrix At .
Figure 0007101355000214
Set to
In the order of L "= 1, 2, ..., D" -2,
(A) The LWE problem processing unit is the first LWE problem.
Figure 0007101355000215
To the arithmetic unit
(B) The calculation device generates and outputs a candidate value of the solution X = (X 0 , X 1 , ..., X m ) T of the first LWE problem, and outputs the result.
(C) The LWE problem processing unit is the m set corresponding to the difference vector d = (d 1 , ..., d n ) T whose length || d || is from the first to the mth in ascending order. Select the candidate value of the solution X of the first LWE problem, and set the candidate value of the κ "(1 ≤ κ" ≤ m) th solution X to (W 0, κ " (L") , W 1, κ " (L". ) , ..., W m, κ " (L") ) T
Figure 0007101355000216
Set to
(D) The activation function calculation unit is
Figure 0007101355000217
Satisfy a ” j, κ” (L ”+1) (1 ≦ j, κ” ≦ m), and set
After the processing of (a), (b), (c), (d) is performed in the order of L "= 1, 2, ..., D" -2,
The LWE problem processing unit is the second LWE problem.
Figure 0007101355000218
To the arithmetic unit
The calculation device generates and outputs a solution X = (X 0 , X 1 , ..., X m ) T of the second LWE problem, and outputs the solution.
The LWE problem processing unit sets the solution X = (X 0 , X 1 , ..., X m ) T of the second LWE problem to (W 0 , 1 (D "-1) , W 1 , 1 ( D" -1). ) , ..., W m, 1 (D "-1) ) T
Figure 0007101355000219
Set and
A learning system in which W (1) , ..., W (D "-1) are output as weights of the neural network.
JP2019047931A 2019-03-15 2019-03-15 Judgment device, calculation device, and learning system Active JP7101355B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019047931A JP7101355B2 (en) 2019-03-15 2019-03-15 Judgment device, calculation device, and learning system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019047931A JP7101355B2 (en) 2019-03-15 2019-03-15 Judgment device, calculation device, and learning system

Publications (2)

Publication Number Publication Date
JP2020149523A JP2020149523A (en) 2020-09-17
JP7101355B2 true JP7101355B2 (en) 2022-07-15

Family

ID=72430635

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019047931A Active JP7101355B2 (en) 2019-03-15 2019-03-15 Judgment device, calculation device, and learning system

Country Status (1)

Country Link
JP (1) JP7101355B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7563228B2 (en) 2021-02-24 2024-10-08 富士通株式会社 Information processing program, information processing method, and information processing device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060056631A1 (en) 2004-09-13 2006-03-16 Beausoleil Raymond G Tests of quantum information
JP2008048102A (en) 2006-08-14 2008-02-28 Nippon Telegr & Teleph Corp <Ntt> Quantum electronic signature system disabling reauthentication, its processing method, its signer device, and its verfier device
JP2016057900A (en) 2014-09-10 2016-04-21 日本電信電話株式会社 Quantum calculation method
JP2017059071A (en) 2015-09-18 2017-03-23 ヤフー株式会社 Optimization device, optimization method and optimization program

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060056631A1 (en) 2004-09-13 2006-03-16 Beausoleil Raymond G Tests of quantum information
JP2008514056A (en) 2004-09-13 2008-05-01 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. Quantum information inspection
JP2008048102A (en) 2006-08-14 2008-02-28 Nippon Telegr & Teleph Corp <Ntt> Quantum electronic signature system disabling reauthentication, its processing method, its signer device, and its verfier device
JP2016057900A (en) 2014-09-10 2016-04-21 日本電信電話株式会社 Quantum calculation method
JP2017059071A (en) 2015-09-18 2017-03-23 ヤフー株式会社 Optimization device, optimization method and optimization program

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
築地 立家, 上山 弘哲,量子オラクルを用いた唯一最短格子ベクトル問題の効率的解法,電子情報通信学会技術研究報告,Vol.101 No.44,2001年05月10日,pp.9-16

Also Published As

Publication number Publication date
JP2020149523A (en) 2020-09-17

Similar Documents

Publication Publication Date Title
US11521102B2 (en) Transformation apparatus, decision apparatus, quantum computation apparatus, and quantum machine learning system
Oh et al. A tutorial on quantum convolutional neural networks (QCNN)
Mishra et al. Quantum machine learning: A review and current status
US11250341B2 (en) System, method and computer readable medium for quassical computing
Osborne Hamiltonian complexity
Bravyi et al. On complexity of the quantum Ising model
Wang et al. A hybrid quantum-inspired genetic algorithm for flow shop scheduling
Wu et al. wpScalable quantum neural networks for classification
Neumann et al. Quantum computing for military applications
Fiasché A quantum-inspired evolutionary algorithm for optimization numerical problems
Bar et al. An approach based on quantum reinforcement learning for navigation problems
JP7101355B2 (en) Judgment device, calculation device, and learning system
CN114550849A (en) Method for solving chemical molecular property prediction based on quantum graph neural network
Nunes et al. An extension to basis-hypervectors for learning from circular data in hyperdimensional computing
Tchapet Njafa et al. Quantum associative memory with improved distributed queries
Wu et al. Multi-population based univariate marginal distribution algorithm for dynamic optimization problems
Sharma The Development of an Automated Approach for Designing Quantum Algorithms Using Circuits Generated By Generative Adversarial Networks (Gans)
Ballinas et al. Hybrid quantum genetic algorithm for the 0-1 knapsack problem in the IBM qiskit simulator
Coyle Machine learning applications for noisy intermediate-scale quantum computers
Zuev Geometric properties of quantum entanglement and machine learning
Dendukuri et al. Defining quantum neural networks via quantum time evolution
Bosch et al. Neural Networks for Programming Quantum Annealers
Hasan et al. Solving maximum clique problem using chemical reaction optimization
Bhabhatsatam et al. Hybrid Quantum Encoding: Combining Amplitude and Basis Encoding for Enhanced Data Storage and Processing in Quantum Computing
Ahsan AutoQP: Genetic Programming for Quantum Programming

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190318

A80 Written request to apply exceptions to lack of novelty of invention

Free format text: JAPANESE INTERMEDIATE CODE: A80

Effective date: 20190412

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210521

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220524

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220621

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220623

R150 Certificate of patent or registration of utility model

Ref document number: 7101355

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150