(57)【要約】【課題】Ｏ(ｎ)個の計算ステップ数でありながら、従来よりも少ないオーダの基本演算の個数で近似量子フーリエ変換を実現する。【解決手段】自己相似的に分解構成された、近傍２量子ビット演算を用いた近似でない量子フーリエ変換の量子回路と、近傍２量子ビット演算を用いた近似でない量子フーリエ変換の従来的量子回路に基づいて、２ｎを法とする近似量子フーリエ変換を行う量子回路を構成する。この量子回路は、２ｍ〔ｍは近似の閾値〕以下の数を法とする量子フーリエ変換を行う量子回路から構成されるようになるまで自己相似的に分解して構成される。２ｍ以下の数を法とする量子フーリエ変換を行う量子回路は、近傍２量子ビット演算を用いた近似でない量子フーリエ変換を行う従来的な量子回路として構成される。【選択図】図２２
2008052365.tif 000002
【特許請求の範囲】
【請求項１】
近似の閾値を正整数ｎよりも小さい正整数ｍとし、２ｎを法とする近似量子フーリエ変換を行う量子回路であって、
ｎ個のｑビットである第１-ｑビット、…、第ｎ-ｑビットに対して、
ｎが偶数の場合、
《１》第１-ｑビットから第(ｎ／２)-ｑビットまでについて、近傍２量子ビット演算で構成した２ｎ／２を法とする量子フーリエ変換を行う量子回路を構成し、
《２》ｇ＝２，…，ｎ／２＋１について、順に、第(ｎ／２−ｇ＋２ｊ)-ｑビットと第(ｎ／２−ｇ＋２ｊ＋１)-ｑビットに角度２π／２ｇの制御フェイズシフトを適用し、さらにこれらのｑビットにＳＷＡＰを適用する演算を行う量子回路を構成し〔ただし、ｊ＝１，…，ｇ−１とし、ｇごとに全てのｊについての演算を並列に行う量子回路とする。〕、
《３》ｇ＝ｎ／２＋２，…，ｎについて、順に、第(ｇ−ｎ／２＋２ｊ−２)-ｑビットと第(ｇ−ｎ／２＋２ｊ−１)-ｑビットに角度２π／２ｇの制御フェイズシフトを適用し、さらにこれらのｑビットにＳＷＡＰを適用する演算を行う量子回路を構成し〔ただし、ｊ＝１，…，ｎ＋１−ｇとし、ｇごとに全てのｊについての演算を並列に行う量子回路とする。〕、
《４》ｇ＝ｎ，…，ｎ／２＋２について、順に、第(ｇ−ｎ／２＋２ｊ−２)-ｑビットと第(ｇ−ｎ／２＋２ｊ−１)-ｑビットにＳＷＡＰを適用する演算を行うＳＷＡＰ量子回路を構成し〔ただし、ｊ＝１，…，ｎ＋１−ｇとし、ｇごとに全てのｊについての演算を並列に行う量子回路とする。〕、
《５》ｇ＝ｎ／２＋１，…，２について、順に、第(ｎ／２−ｇ＋２ｊ)-ｑビットと第(ｎ／２−ｇ＋２ｊ＋１)-ｑビットにＳＷＡＰを適用する演算を行うＳＷＡＰ量子回路を構成し〔ただし、ｊ＝１，…，ｇ−１とし、ｇごとに全てのｊについての演算を並列に行う量子回路とする。〕、
《６》第(ｎ／２＋１)-ｑビットから第ｎ-ｑビットまでについて、近傍２量子ビット演算で構成した２ｎ／２を法とする量子フーリエ変換を行う量子回路を構成し、
ｎが奇数の場合、
パターン１またはパターン２のいずれかで、
（パターン１）
《１》第１-ｑビットから第((ｎ＋１)／２)-ｑビットまでについて、近傍２量子ビット演算で構成した２(ｎ＋１)／２を法とする量子フーリエ変換を行う量子回路を構成し、
《２》ｇ＝２，…，(ｎ＋１)／２について、順に、第((ｎ＋１)／２−ｇ＋２ｊ)-ｑビットと第((ｎ＋１)／２−ｇ＋２ｊ＋１)-ｑビットに角度２π／２ｇの制御フェイズシフトを適用し、さらにこれらのｑビットにＳＷＡＰを適用する演算を行う量子回路を構成し〔ただし、ｊ＝１，…，ｇ−１とし、ｇごとに全てのｊについての演算を並列に行う量子回路とする。〕、
《３》ｇ＝(ｎ＋１)／２＋１，…，ｎについて、順に、第(ｇ−(ｎ＋１)／２＋２ｊ−２)-ｑビットと第(ｇ−(ｎ＋１)／２＋２ｊ−１)ビットに角度２π／２ｇの制御フェイズシフトを適用し、さらにこれらのｑビットにＳＷＡＰを適用する演算を行う量子回路を構成し〔ただし、ｊ＝１，…，ｎ＋１−ｇとし、ｇごとに全てのｊについての演算を並列に行う量子回路とする。〕、
《４》ｇ＝ｎ，…，(ｎ＋１)／２＋１について、順に、第(ｇ−(ｎ＋１)／２＋２ｊ−２)-ｑビットと第(ｇ−(ｎ＋１)／２＋２ｊ−１)-ｑビットにＳＷＡＰを適用する演算を行うＳＷＡＰ量子回路を構成し〔ただし、ｊ＝１，…，ｎ＋１−ｇとし、ｇごとに全てのｊについての演算を並列に行う量子回路とする。〕、
《５》ｇ＝(ｎ＋１)／２，…，２について、順に、第((ｎ＋１)／２−ｇ＋２ｊ)-ｑビットと第((ｎ＋１)／２−ｇ＋２ｊ＋１)-ｑビットにＳＷＡＰを適用する演算を行うＳＷＡＰ量子回路を構成し〔ただし、ｊ＝１，…，ｇ−１とし、ｇごとに全てのｊについての演算を並列に行う量子回路とする。〕、
《６》第((ｎ＋１)／２＋１)-ｑビットから第ｎ-ｑビットまでについて、近傍２量子ビット演算で構成した２ (ｎ−１)／２を法とする量子フーリエ変換を行う量子回路を構成し、
（パターン２）
《１》第１-ｑビットから第((ｎ−１)／２)-ｑビットまでについて、近傍２量子ビット演算で構成した２(ｎ−１)／２を法とする量子フーリエ変換を行う量子回路を構成し、
《２》ｇ＝２，…，(ｎ＋１)／２について、順に、第((ｎ＋１)／２−ｇ＋２ｊ−１)-ｑビットと第((ｎ＋１)／２−ｇ＋２ｊ)-ｑビットに角度２π／２ｇの制御フェイズシフトを適用し、さらにこれらのｑビットにＳＷＡＰを適用する演算を行う量子回路を構成し〔ただし、ｊ＝１，…，ｇ−１とし、ｇごとに全てのｊについての演算を並列に行う量子回路とする。〕、
《３》ｇ＝(ｎ＋１)／２＋１，…，ｎについて、順に、第(ｇ−(ｎ＋１)／２＋２ｊ−１)-ｑビットと第(ｇ−(ｎ＋１)／２＋２ｊ)ビットに角度２π／２ｇの制御フェイズシフトを適用し、さらにこれらのｑビットにＳＷＡＰを適用する演算を行う量子回路を構成し〔ただし、ｊ＝１，…，ｎ＋１−ｇとし、ｇごとに全てのｊについての演算を並列に行う量子回路とする。〕、
《４》ｇ＝ｎ，…，(ｎ＋１)／２＋１について、順に、第(ｇ−(ｎ＋１)／２＋２ｊ−１)-ｑビットと第(ｇ−(ｎ＋１)／２＋２ｊ)-ｑビットにＳＷＡＰを適用する演算を行うＳＷＡＰ量子回路を構成し〔ただし、ｊ＝１，…，ｎ＋１−ｇとし、ｇごとに全てのｊについての演算を並列に行う量子回路とする。〕、
《５》ｇ＝(ｎ＋１)／２，…，２について、順に、第((ｎ＋１)／２−ｇ＋２ｊ−１)-ｑビットと第((ｎ＋１)／２−ｇ＋２ｊ)-ｑビットにＳＷＡＰを適用する演算を行うＳＷＡＰ量子回路を構成し〔ただし、ｊ＝１，…，ｇ−１とし、ｇごとに全てのｊについての演算を並列に行う量子回路とする。〕、
《６》第((ｎ−１)／２＋１)-ｑビットから第ｎ-ｑビットまでについて、近傍２量子ビット演算で構成した２ (ｎ＋１)／２を法とする量子フーリエ変換を行う量子回路を構成し、
ｎ＝１の場合、
第１-ｑビットにアダマール変換を適用する量子回路を構成し、
上記の手順で構成された量子回路において、２ｎより小さく２ｍより大きい数２Ｂを法とする量子フーリエ変換の量子回路については、このＢを新たなｎと看做して、上記の場合分けに従った手順で量子回路を構成し、
２ｍ以下の数を法とする量子フーリエ変換を行う量子回路Ａについては、
量子回路Ａへ入力されるＮ個のｑビットである第１-ｑビット、…、第Ｎ-ｑビットに対して、
《１》ｇ＝１，…，Ｎについて、順に、
ｇ＝１の場合、
第１-ｑビットにアダマール変換を適用する演算を行う量子回路を構成し、
ｇが３以上の奇数の場合、
第１-ｑビットにアダマール変換を適用する演算を行う量子回路を構成し、
第(ｊ−１)-ｑビットと第ｊ-ｑビットに角度２π／２ｊの制御フェイズシフトを適用し、さらにこれらのｑビットにＳＷＡＰを適用する演算を行う量子回路を構成し〔ただし、ｊは３からｇまでの奇数とし、ｇごとに第１-ｑビットに対するアダマール変換および全てのｊについての演算を並列に行う量子回路とする。〕、
ｇが偶数の場合、
第(ｊ−１)-ｑビットと第ｊ-ｑビットに角度２π／２ｊの制御フェイズシフトを適用し、さらにこれらのｑビットにＳＷＡＰを適用する演算を行う量子回路を構成し〔ただし、ｊは２からｇまでの偶数とし、ｇごとに全てのｊについての演算を並列に行う量子回路とする。〕、
《２》ｇ＝Ｎ−１，…，１について、順に、
ｇ＝１の場合、
第１-ｑビットにアダマール変換を適用する演算を行う量子回路を構成し、
ｇが３以上の奇数の場合、
第１-ｑビットにアダマール変換を適用する演算を行う量子回路を構成し、
第(ｊ−１)-ｑビットと第ｊ-ｑビットに角度２π／２ｊの制御フェイズシフトを適用し、さらにこれらのｑビットにＳＷＡＰを適用する演算を行う量子回路を構成し〔ただし、ｊは３からｇまでの奇数とし、ｇごとに第１-ｑビットに対するアダマール変換および全てのｊについての演算を並列に行う量子回路とする。〕、
ｇが偶数の場合、
第(ｊ−１)-ｑビットと第ｊ-ｑビットに角度２π／２ｊの制御フェイズシフトを適用し、さらにこれらのｑビットにＳＷＡＰを適用する演算を行う量子回路を構成し〔ただし、ｊは２からｇまでの偶数とし、ｇごとに全てのｊについての演算を並列に行う量子回路とする。〕、
《３》ｇ＝１，…，Ｎ−１について、順に、
ｇが奇数の場合、
第ｊ-ｑビットと第(ｊ＋１)-ｑビットにＳＷＡＰを適用する演算を行う量子回路を構成し〔ただし、ｊは１からｇまでの奇数とし、ｇごとに全てのｊについてのＳＷＡＰを並列に行う量子回路とする。〕、
ｇが偶数の場合、
第ｊ-ｑビットと第(ｊ＋１)-ｑビットにＳＷＡＰを適用する演算を行う量子回路を構成し〔ただし、ｊは２からｇまでの偶数とし、ｇごとに全てのｊについてのＳＷＡＰを並列に行う量子回路とする。〕、
《４》ｇ＝Ｎ−２，…，１について、順に、
ｇが奇数の場合、
第ｊ-ｑビットと第(ｊ＋１)-ｑビットにＳＷＡＰを適用する演算を行う量子回路を構成し〔ただし、ｊは１からｇまでの奇数とし、ｇごとに全てのｊについてのＳＷＡＰを並列に行う量子回路とする。〕、
ｇが偶数の場合、
第ｊ-ｑビットと第(ｊ＋１)-ｑビットにＳＷＡＰを適用する演算を行う量子回路を構成し〔ただし、ｊは２からｇまでの偶数とし、ｇごとに全てのｊについてのＳＷＡＰを並列に行う量子回路とする。〕、
これまでの手順で構成された量子回路において、角度２π／２ｔ（ｔ＞ｍ）の制御フェイズシフトを恒等変換に置換し、
角度２π／２ｔ（ｔ＝ｍ）の制御フェイズシフトの直後のＳＷＡＰおよび恒等変換とされた制御フェイズシフトの直後のＳＷＡＰの各演算を行う量子回路Ｃと、上記ＳＷＡＰ量子回路において量子回路Ｃの鏡像対称の量子回路部分とを相殺して構成された
ことを特徴とする近似量子フーリエ変換を行う量子回路。
【請求項２】
請求項１に記載の近似量子フーリエ変換を行う量子回路に則り、
入力された第１-ｑビットの状態|ｂｎ−１〉，…，第ｎ-ｑビットの状態|ｂ０〉に対して近似量子フーリエ変換を行う
ことを特徴とする近似量子フーリエ変換演算方法。
【請求項３】
近似の閾値を正整数ｎよりも小さい正整数ｍとし、２ｎを法とする近似量子フーリエ変換を行う近似量子フーリエ変換演算装置が演算対象とするｎ個のｑビットである第１-ｑビット、…、第ｎ-ｑビットに対して、
ｎが偶数の場合、
《１》第１-ｑビットから第(ｎ／２)-ｑビットまでについて、近傍２量子ビット演算で構成した２ｎ／２を法とする量子フーリエ変換を行う量子演算部を備え、
《２》ｇ＝２，…，ｎ／２＋１について、順に、第(ｎ／２−ｇ＋２ｊ)-ｑビットと第(ｎ／２−ｇ＋２ｊ＋１)-ｑビットに角度２π／２ｇの制御フェイズシフトを適用し、さらにこれらのｑビットにＳＷＡＰを適用する演算を行う量子演算部を備え〔ただし、ｊ＝１，…，ｇ−１とし、ｇごとに全てのｊについての演算を並列に行うものとする。〕、
《３》ｇ＝ｎ／２＋２，…，ｎについて、順に、第(ｇ−ｎ／２＋２ｊ−２)-ｑビットと第(ｇ−ｎ／２＋２ｊ−１)-ｑビットに角度２π／２ｇの制御フェイズシフトを適用し、さらにこれらのｑビットにＳＷＡＰを適用する演算を行う量子演算部を備え〔ただし、ｊ＝１，…，ｎ＋１−ｇとし、ｇごとに全てのｊについての演算を並列に行うものとする。〕、
《４》ｇ＝ｎ，…，ｎ／２＋２について、順に、第(ｇ−ｎ／２＋２ｊ−２)-ｑビットと第(ｇ−ｎ／２＋２ｊ−１)-ｑビットにＳＷＡＰを適用する演算を行うＳＷＡＰ演算部を備え〔ただし、ｊ＝１，…，ｎ＋１−ｇとし、ｇごとに全てのｊについての演算を並列に行うものとする。〕、
《５》ｇ＝ｎ／２＋１，…，２について、順に、第(ｎ／２−ｇ＋２ｊ)-ｑビットと第(ｎ／２−ｇ＋２ｊ＋１)-ｑビットにＳＷＡＰを適用する演算を行うＳＷＡＰ演算部を備え〔ただし、ｊ＝１，…，ｇ−１とし、ｇごとに全てのｊについての演算を並列に行うものとする。〕、
《６》第(ｎ／２＋１)-ｑビットから第ｎ-ｑビットまでについて、近傍２量子ビット演算で構成した２ｎ／２を法とする量子フーリエ変換を行う量子演算部を備え、
ｎが奇数の場合、
パターン１またはパターン２のいずれかで、
（パターン１）
《１》第１-ｑビットから第((ｎ＋１)／２)-ｑビットまでについて、近傍２量子ビット演算で構成した２(ｎ＋１)／２を法とする量子フーリエ変換を行う量子演算部を備え、
《２》ｇ＝２，…，(ｎ＋１)／２について、順に、第((ｎ＋１)／２−ｇ＋２ｊ)-ｑビットと第((ｎ＋１)／２−ｇ＋２ｊ＋１)-ｑビットに角度２π／２ｇの制御フェイズシフトを適用し、さらにこれらのｑビットにＳＷＡＰを適用する演算を行う量子演算部を備え〔ただし、ｊ＝１，…，ｇ−１とし、ｇごとに全てのｊについての演算を並列に行うものとする。〕、
《３》ｇ＝(ｎ＋１)／２＋１，…，ｎについて、順に、第(ｇ−(ｎ＋１)／２＋２ｊ−２)-ｑビットと第(ｇ−(ｎ＋１)／２＋２ｊ−１)ビットに角度２π／２ｇの制御フェイズシフトを適用し、さらにこれらのｑビットにＳＷＡＰを適用する演算を行う量子演算部を備え〔ただし、ｊ＝１，…，ｎ＋１−ｇとし、ｇごとに全てのｊについての演算を並列に行うものとする。〕、
《４》ｇ＝ｎ，…，(ｎ＋１)／２＋１について、順に、第(ｇ−(ｎ＋１)／２＋２ｊ−２)-ｑビットと第(ｇ−(ｎ＋１)／２＋２ｊ−１)-ｑビットにＳＷＡＰを適用する演算を行うＳＷＡＰ演算部を備え〔ただし、ｊ＝１，…，ｎ＋１−ｇとし、ｇごとに全てのｊについての演算を並列に行うものとする。〕、
《５》ｇ＝(ｎ＋１)／２，…，２について、順に、第((ｎ＋１)／２−ｇ＋２ｊ)-ｑビットと第((ｎ＋１)／２−ｇ＋２ｊ＋１)-ｑビットにＳＷＡＰを適用する演算を行うＳＷＡＰ演算部を備え〔ただし、ｊ＝１，…，ｇ−１とし、ｇごとに全てのｊについての演算を並列に行うものとする。〕、
《６》第((ｎ＋１)／２＋１)-ｑビットから第ｎ-ｑビットまでについて、近傍２量子ビット演算で構成した２ (ｎ−１)／２を法とする量子フーリエ変換を行う量子演算部を備え、
（パターン２）
《１》第１-ｑビットから第((ｎ−１)／２)-ｑビットまでについて、近傍２量子ビット演算で構成した２(ｎ−１)／２を法とする量子フーリエ変換を行う量子演算部を備え、
《２》ｇ＝２，…，(ｎ＋１)／２について、順に、第((ｎ＋１)／２−ｇ＋２ｊ−１)-ｑビットと第((ｎ＋１)／２−ｇ＋２ｊ)-ｑビットに角度２π／２ｇの制御フェイズシフトを適用し、さらにこれらのｑビットにＳＷＡＰを適用する演算を行う量子演算部を備え〔ただし、ｊ＝１，…，ｇ−１とし、ｇごとに全てのｊについての演算を並列に行うものとする。〕、
《３》ｇ＝(ｎ＋１)／２＋１，…，ｎについて、順に、第(ｇ−(ｎ＋１)／２＋２ｊ−１)-ｑビットと第(ｇ−(ｎ＋１)／２＋２ｊ)ビットに角度２π／２ｇの制御フェイズシフトを適用し、さらにこれらのｑビットにＳＷＡＰを適用する演算を行う量子演算部を備え〔ただし、ｊ＝１，…，ｎ＋１−ｇとし、ｇごとに全てのｊについての演算を並列に行うものとする。〕、
《４》ｇ＝ｎ，…，(ｎ＋１)／２＋１について、順に、第(ｇ−(ｎ＋１)／２＋２ｊ−１)-ｑビットと第(ｇ−(ｎ＋１)／２＋２ｊ)-ｑビットにＳＷＡＰを適用する演算を行うＳＷＡＰ演算部を備え〔ただし、ｊ＝１，…，ｎ＋１−ｇとし、ｇごとに全てのｊについての演算を並列に行うものとする。〕、
《５》ｇ＝(ｎ＋１)／２，…，２について、順に、第((ｎ＋１)／２−ｇ＋２ｊ−１)-ｑビットと第((ｎ＋１)／２−ｇ＋２ｊ)-ｑビットにＳＷＡＰを適用する演算を行うＳＷＡＰ演算部を備え〔ただし、ｊ＝１，…，ｇ−１とし、ｇごとに全てのｊについての演算を並列に行うものとする。〕、
《６》第((ｎ−１)／２＋１)-ｑビットから第ｎ-ｑビットまでについて、近傍２量子ビット演算で構成した２ (ｎ＋１)／２を法とする量子フーリエ変換を行う量子演算部を備え、
ｎ＝１の場合、
第１-ｑビットにアダマール変換を適用する量子演算部を備え、
上記の手順で構成された量子演算装置において、２ｎより小さく２ｍより大きい数２Ｂを法とする量子フーリエ変換の量子演算部については、このＢを新たなｎと看做して、上記の場合分けに従った手順で量子演算部を構成し、
２ｍ以下の数を法とする量子フーリエ変換を行う量子演算部Ｄについては、
量子演算部Ｄへ入力されるＮ個のｑビットである第１-ｑビット、…、第Ｎ-ｑビットに対して、
《１》ｇ＝１，…，Ｎについて、順に、
ｇ＝１の場合、
第１-ｑビットにアダマール変換を適用する演算を行う量子演算部を備え、
ｇが３以上の奇数の場合、
第１-ｑビットにアダマール変換を適用する演算を行う量子演算部を備え、
第(ｊ−１)-ｑビットと第ｊ-ｑビットに角度２π／２ｊの制御フェイズシフトを適用し、さらにこれらのｑビットにＳＷＡＰを適用する演算を行う量子演算部を備え〔ただし、ｊは３からｇまでの奇数とし、ｇごとに第１-ｑビットに対するアダマール変換および全てのｊについての演算を並列に行うものとする。〕、
ｇが偶数の場合、
第(ｊ−１)-ｑビットと第ｊ-ｑビットに角度２π／２ｊの制御フェイズシフトを適用し、さらにこれらのｑビットにＳＷＡＰを適用する演算を行う量子演算部を備え〔ただし、ｊは２からｇまでの偶数とし、ｇごとに全てのｊについての演算を並列に行うものとする。〕、
《２》ｇ＝Ｎ−１，…，１について、順に、
ｇ＝１の場合、
第１-ｑビットにアダマール変換を適用する演算を行う量子演算部を備え、
ｇが３以上の奇数の場合、
第１-ｑビットにアダマール変換を適用する演算を行う量子演算部を備え、
第(ｊ−１)-ｑビットと第ｊ-ｑビットに角度２π／２ｊの制御フェイズシフトを適用し、さらにこれらのｑビットにＳＷＡＰを適用する演算を行う量子演算部を備え〔ただし、ｊは３からｇまでの奇数とし、ｇごとに第１-ｑビットに対するアダマール変換および全てのｊについての演算を並列に行うものとする。〕、
ｇが偶数の場合、
第(ｊ−１)-ｑビットと第ｊ-ｑビットに角度２π／２ｊの制御フェイズシフトを適用し、さらにこれらのｑビットにＳＷＡＰを適用する演算を行う量子演算部を備え〔ただし、ｊは２からｇまでの偶数とし、ｇごとに全てのｊについての演算を並列に行うものとする。〕、
《３》ｇ＝１，…，Ｎ−１について、順に、
ｇが奇数の場合、
第ｊ-ｑビットと第(ｊ＋１)-ｑビットにＳＷＡＰを適用する演算を行うＳＷＡＰ演算部を備え〔ただし、ｊは１からｇまでの奇数とし、ｇごとに全てのｊについてのＳＷＡＰを並列に行うものとする。〕、
ｇが偶数の場合、
第ｊ-ｑビットと第(ｊ＋１)-ｑビットにＳＷＡＰを適用する演算を行うＳＷＡＰ演算部を備え〔ただし、ｊは２からｇまでの偶数とし、ｇごとに全てのｊについてのＳＷＡＰを並列に行うものとする。〕、
《４》ｇ＝Ｎ−２，…，１について、順に、
ｇが奇数の場合、
第ｊ-ｑビットと第(ｊ＋１)-ｑビットにＳＷＡＰを適用する演算を行うＳＷＡＰ演算部を備え〔ただし、ｊは１からｇまでの奇数とし、ｇごとに全てのｊについてのＳＷＡＰを並列に行うものとする。〕、
ｇが偶数の場合、
第ｊ-ｑビットと第(ｊ＋１)-ｑビットにＳＷＡＰを適用する演算を行うＳＷＡＰ演算部を備え〔ただし、ｊは２からｇまでの偶数とし、ｇごとに全てのｊについてのＳＷＡＰを並列に行うものとする。〕、
以上に従って構成された近似量子フーリエ変換演算装置において、角度２π／２ｔ（ｔ＞ｍ）の制御フェイズシフトを行う量子演算部を、恒等変換を行う量子演算部に置換し、
角度２π／２ｔ（ｔ＝ｍ）の制御フェイズシフトの直後のＳＷＡＰおよび恒等変換とされた制御フェイズシフトの直後のＳＷＡＰの各演算を行う量子演算部Ｅと、上記ＳＷＡＰ演算部において量子演算部Ｅの鏡像対称の量子演算部とを備えずに構成された
ことを特徴とする近似量子フーリエ変換演算装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、近似量子フーリエ変換を行う量子回路、近似量子フーリエ変換の演算方法と演算装置に関する。より詳しくは、１量子ビット演算および近傍２量子ビット演算だけで構成された近似量子フーリエ変換を行う量子回路、演算方法、演算装置に関する。
【背景技術】
【０００２】
まず、量子フーリエ変換（quantum Fourier transform）について説明し、ついで、近傍２量子ビット演算（linear nearest neighbor quantum bit operation）で構成された近似でない量子フーリエ変換の量子回路について説明し、さらに、単一量子ビットに対する１量子ビット演算および隣り合う量子ビット間の量子ビット演算である近傍２量子ビット演算だけで構成された近似量子フーリエ変換（approximate quantum Fourier transform）の量子回路について説明する。
なお、本明細書では、計算量の評価をＯ記法に従って記す。
【０００３】
＜量子フーリエ変換ＱＦＴ＞
量子フーリエ変換については例えば非特許文献１に詳しい。ここでは、量子フーリエ変換について概説する。
量子ビット〔quantum bit;以下、ｑビット（qubit）とも云う。〕の正規直交系をなす基底状態である正規直交基底|０〉，|１〉，…，|Ｎ−１〉上の量子フーリエ変換は、基底状態に式（１）の作用をする線形オペレータとして定義される。ここでｑビットの状態は、複素ベクトル空間のベクトルであり、計算基底状態（computational basis state）である。式（１）においてｉは虚数単位（imaginary unit）であり、ｅはネピア数（Napier's constant;自然対数の底）である。なお、本明細書では、ネピア数ｅのｐ乗をexp(ｐ)の如く表す場合がある。
【数１】
2008052365.tif 000003
【０００４】
ここでＮ＝２ｎ、ｎは１以上の整数〔正整数〕とし、基底|０〉，|１〉，…，|２ｎ−１〉はｎ個のｑビットの量子コンピュータに対する計算基底状態とする。状態|ｂ〉を２進数表現でｂ＝ｂｎ−１ｂｎ−２…ｂ１ｂ０と書くとする。１０進数表現では、ｂ＝ｂｎ−１２ｎ−１＋ｂｎ−２２ｎ−２＋…＋ｂ１２１＋ｂ０２０となる。２進少数表現を式（２）で定義する。なお、状態|ｖ〉，|ｗ〉のテンソル積を|ｖ〉|ｗ〉、|ｖ，ｗ〉、|ｖｗ〉などと表記する。
【数２】
2008052365.tif 000004
【０００５】
このとき、式（１）と式（３）は等価である。式（３）は、２ｎを法とする量子フーリエ変換の積表現である。以下、断りのない限り、量子フーリエ変換は、近似量子フーリエ変換または近似でない量子フーリエ変換を問わず、２の冪乗の数を法とする量子フーリエ変換であるとする。
【数３】
2008052365.tif 000005
【０００６】
式（３）で表される効率的な量子フーリエ変換を行う量子回路を、ｎ＝８の場合を例として図１に示す。一般的に量子回路では単一ｑビットに対する１量子ビット演算とＣＮＯＴ（controlled-NOT）を基本演算とするが、量子回路が複雑になるのを避けるため、本明細書ではこれらの演算以外の演算も用いて量子回路を構成するものとして説明する。量子回路に使われる全ての演算は、単一ｑビットに対する１量子ビット演算とＣＮＯＴに分解できることに注意しなければならない〔非特許文献１参照〕。ＣＮＯＴは、２つの入力ｑビットに対する２量子ビット演算である。
なお、非特許文献１では、図１に示される量子回路の最後の状態に対して交換操作を行ってｑビットの状態を反転させたものを、量子フーリエ変換を行う量子回路として説明しているが、本明細書では、上記交換操作を行わない図１に示される量子回路をもって量子フーリエ変換の量子回路とする。これは、テンソル積で表される式（３）の表現の違いに基づくに過ぎない。
【０００７】
ｎ＝８の場合の量子フーリエ変換ＱＦＴ８は、入力状態|ｂ７ｂ６…ｂ１ｂ０〉に対して、出力状態(|０〉＋exp(２πｉ０．ｂ７ｂ６…ｂ１ｂ０)|１〉)( |０〉＋exp(２πｉ０．ｂ６…ｂ１ｂ０)|１〉)…(|０〉＋exp(２πｉ０．ｂ０)|１〉)／２ｎ／２を得る。図１は、入力状態と出力状態とを単一ｑビットごとの配線（wire）に分解して表したＱＦＴ８の量子回路を示している。図１において出力状態|φｋ(ｂ)〉は、|φｋ(ｂ)〉＝(|０〉＋exp(２πｉΣｍ＝０ｋ(ｂｋ−ｍ／２ｍ＋１))|１〉)／２１／２で表せる。但し、ｋ＝０，１，２，３，４，５，６，７である。
【０００８】
図１に現われる量子ゲートについて概説する。図１において、記号Ｈで表される量子ゲートはアダマールゲート（Hadamard gate）であり、アダマール変換が行われる。ｑビットの入力状態|ｘ〉をアダマールゲートに通すと、出力状態(|０〉＋（−１）ｘ|１〉)／２１／２が得られる〔図２参照〕。出力状態は、(|０〉＋ｅ２πｉ０．ｘ|１〉)／２１／２とも表せる。
【０００９】
図１において、数字ｔ＝２，３，４，５，６，７，８で表される量子ゲートは制御フェイズシフトゲート（controlled phase shift gate）であり、式（４）で示す行列で表されるユニタリー変換が行われる。２つのｑビットの入力状態|ｘ〉および|ｙ〉を制御フェイズシフトゲートに通すと、出力状態exp(２πｉｘｙ／２ｔ)|ｘ〉|ｙ〉が得られる〔図３参照〕。制御フェイズシフトゲートは、角度２π／２ｔの回転ゲートであり、以下では、数字ｔで表される制御フェイズシフトゲートの作用を、角度２π／２ｔの制御フェイズシフトと云うこともある。図３は、入力状態と出力状態とを単一ｑビットごとの配線に分解して表した量子回路を示している。なお、図３に示される制御フェイズシフトゲートは、図４に示される制御フェイズシフトゲートと等価であることに注意しなければならない。
【数４】
2008052365.tif 000006
【００１０】
＜近傍２量子ビット演算で構成された近似でない量子フーリエ変換ＬＮＮ−ＱＦＴの量子回路＞
図１に示したＱＦＴ８の量子回路では、例えば最初の８個の計算ステップをみると、入力状態|ｂ７ｂ６…ｂ１ｂ０〉に対して、まず、最初の計算ステップで状態|ｂ７〉にアダマール変換を作用させ、この作用で得られた中間状態(|０〉＋exp(２πｉ０．ｂ７)|１〉)／２１／２|ｂ６…ｂ１ｂ０〉に次の計算ステップで状態|ｂ６〉に基づく制御フェイズシフトを作用させ、この作用で得られた中間状態(|０〉＋exp(２πｉ０．ｂ７ｂ６)|１〉)／２１／２|ｂ６…ｂ１ｂ０〉に次の計算ステップで状態|ｂ５〉に基づく制御フェイズシフトを作用させ、この作用で得られた中間状態(|０〉＋exp(２πｉ０．ｂ７ｂ６ｂ５)|１〉)／２１／２|ｂ６…ｂ１ｂ０〉に次の計算ステップで状態|ｂ４〉に基づく制御フェイズシフトを作用させ、・・・中略・・・、この作用で得られた中間状態(|０〉＋exp(２πｉ０．ｂ７ｂ６ｂ５ｂ４ｂ３ｂ２ｂ１)|１〉)／２１／２|ｂ６…ｂ１ｂ０〉に次の計算ステップで状態|ｂ０〉に基づく制御フェイズシフトを作用させる、といった処理が行われる。
【００１１】
ここに明らかなように、直前の中間状態に制御フェイズシフトを作用させると、例えば最初の８個の計算ステップでは、その度に、状態|ｂ７〉に基づいた状態|１〉の係数の位相に、制御フェイズシフトの標的ｑビット〔あるいは、制御ｑビットと言っても同様である（図４参照）。〕に相当する追加ビットが加わる。より一般的に、計算理論上は、このような演算に格別の問題は無いが、ｑビットの状態が物理的な状態であるところ、隣り合うｑビットよりも離れたｑビットに基づく作用を受けるとすると、一般的に演算誤りのリスクが高まる。そこで、隣り合う量子ビット間の量子ビット演算である近傍２量子ビット演算で量子フーリエ変換を行う量子回路を構成することが提案されている〔非特許文献２参照〕。
【００１２】
ここでは、近傍２量子ビット演算で構成された近似でない量子フーリエ変換の量子回路について概説する。
近傍２量子ビット演算で構成された近似でない量子フーリエ変換の量子回路は、式（３）で表される効率的な量子フーリエ変換を行う量子回路に適宜にＳＷＡＰ（swap operation; 交換演算）を施すことで得られる。ｎ＝８の場合を例として、図１に示したＱＦＴ８の量子回路を基にした、近傍２量子ビット演算で構成した近似でない量子フーリエ変換ＬＮＮ−ＱＦＴ８の量子回路を図５に示す。図５で使われているＳＷＡＰの量子回路を、図６に示す。ＳＷＡＰの量子回路は、入力された２つのｑビットの状態を交換する。図６に示したＳＷＡＰの量子回路には、３個のＣＮＯＴが使われている。ＣＮＯＴの量子回路を、図７に示す。ＣＮＯＴの量子回路は、最も基本的な２量子ビット演算を行ない、この意味でＣＮＯＴゲートと呼ばれる。ＣＮＯＴゲートは、古典的ＸＯＲゲートに対応しており、制御ｑビットの状態|ｘ〉に応じて、標的ｑビットの状態|ｙ〉に変更をもたらす。２準位系で簡潔に説明すれば、制御ｑビットの状態が|０〉であれば、標的ｑビットの状態|ｙ〉に変更をもたらさず、制御ｑビットの状態が|１〉であれば、標的ｑビットの状態|ｙ〉を反転させる。
【００１３】
図５に示すＬＮＮ−ＱＦＴ８の量子回路では、ＩＮＶ（inverse operation; 交換操作）が各ｑビットの状態に対して施される。ＩＮＶの量子回路を、図８に示す。図８では、ｑビットの入力状態|ｂｓ＝７，６，…，０〉と混同しないように、状態を記号|ａｓ＝７，６，…，０〉で表している。以下、入力状態|ｂｓ〉と区別して状態を一般的に表したい場合には、記号|ａｓ〉を用いる。
ＩＮＶの量子回路は、入力ｑビットの状態の並びを逆順で並び替えて出力するものであり、この意味でＩＮＶゲートと呼ぶことにする。なお、近傍２量子ビット間でのＳＷＡＰだけで構成しないものとすれば、Ｏ(ｎ／２)程度のＳＷＡＰ回数となるようにＩＮＶの量子回路を構成できるが、図８では、近傍２量子ビット間でのＳＷＡＰだけで構成したＩＮＶの量子回路を示している。出力状態の順序を図１に示す量子回路の出力状態と同じにするために、図５に示すＬＮＮ−ＱＦＴ８の量子回路ではＩＮＶゲートを使っている。ＩＮＶゲートを用いたＬＮＮ−ＱＦＴ８の量子回路における計算ステップ数と基本演算の個数は、ＩＮＶゲートを用いないＱＦＴ８の量子回路のそれらと比較して、同じ程度のオーダで済む。一般に、ＩＮＶゲートを用いたことによっても、ＬＮＮ−ＱＦＴの量子回路が、ＱＦＴの量子回路に比して非効率的になっているのではないことに注意しなければならない。
【００１４】
近傍２量子ビット演算で構成された近似でない量子フーリエ変換ＬＮＮ−ＱＦＴの量子回路（３）の構成方法を示しておく。
量子回路（３）へ入力されるｎ個のｑビットの状態を|ｂｎ−１〉，…，|ｂ０〉とし、それぞれのｑビットを順に第１-ｑビット、…、第ｎ-ｑビットと云うことにする。つまり、最上位の配線に相当するｑビットを第１-ｑビットとし、最下位の配線に相当するｑビットを第ｎ-ｑビットとする。また、記載の便宜から、第(・)-ｑビットなどとも記載する。
【００１５】
《１》  ｇ＝１，…，ｎについて、順に、次の演算を行う量子回路とする。
[ｇ＝１の場合]
第１-ｑビットにアダマール変換を適用する。
[ｇが３以上の奇数の場合]
第１-ｑビットにアダマール変換を適用する。第(ｊ−１)-ｑビットと第ｊ-ｑビットに角度２π／２ｊの制御フェイズシフトを適用し、さらにこれらのｑビットにＳＷＡＰを適用する。ただし、ｊは３からｇまでの奇数とし、ｇごとにアダマール変換および全てのｊについての演算を並列に行う。
[ｇが偶数の場合]
第(ｊ−１)-ｑビットと第ｊ-ｑビットに角度２π／２ｊの制御フェイズシフトを適用し、さらにこれらのｑビットにＳＷＡＰを適用する。ただし、ｊは２からｇまでの偶数とし、ｇごとに全てのｊについての演算を並列に行う。
《２》  ｇ＝ｎ−１，…，１について、順に、次の演算を行う量子回路とする。
[ｇ＝１の場合]
第１-ｑビットにアダマール変換を適用する。
[ｇが３以上の奇数の場合]
第１-ｑビットにアダマール変換を適用する。第(ｊ−１)-ｑビットと第ｊ-ｑビットに角度２π／２ｊの制御フェイズシフトを適用し、さらにこれらのｑビットにＳＷＡＰを適用する。ただし、ｊは３からｇまでの奇数とし、ｇごとにアダマール変換および全てのｊについての演算を並列に行う。
[ｇが偶数の場合]
第(ｊ−１)-ｑビットと第ｊ-ｑビットに角度２π／２ｊの制御フェイズシフトを適用し、さらにこれらのｑビットにＳＷＡＰを適用する。ただし、ｊは２からｇまでの偶数とし、ｇごとに全てのｊについての演算を並列に行う。
《３》  ｇ＝１，…，ｎ−１について、順に、次の演算を行う量子回路とする。
[ｇが奇数の場合]
第ｊ-ｑビットと第(ｊ＋１)-ｑビットにＳＷＡＰを適用する。ただし、ｊは１からｇまでの奇数とし、ｇごとに全てのｊについてのＳＷＡＰを並列に行う。
[ｇが偶数の場合]
第ｊ-ｑビットと第(ｊ＋１)-ｑビットにＳＷＡＰを適用する。ただし、ｊは２からｇまでの偶数とし、ｇごとに全てのｊについてのＳＷＡＰを並列に行う。
《４》  ｇ＝ｎ−２，…，１について、順に、次の演算を行う量子回路とする。
[ｇが奇数の場合]
第ｊ-ｑビットと第(ｊ＋１)-ｑビットにＳＷＡＰを適用する。ただし、ｊは１からｇまでの奇数とし、ｇごとに全てのｊについてのＳＷＡＰを並列に行う。
[ｇが偶数の場合]
第ｊ-ｑビットと第(ｊ＋１)-ｑビットにＳＷＡＰを適用する。ただし、ｊは２からｇまでの偶数とし、ｇごとに全てのｊについてのＳＷＡＰを並列に行う。
【００１６】
＜１量子ビット演算および近傍２量子ビット演算だけで構成された近似量子フーリエ変換ＬＮＮ−ＡＱＦＴの量子回路＞
近似の閾値がｍである近似量子フーリエ変換を行う量子回路は、２ｎを法とする近似でない量子フーリエ変換を行う量子回路において、ｔ＞ｍを満たす制御フェイズシフトを恒等変換とみなした量子回路である〔ここでｔは、制御フェイズシフトゲートの数字に対応する。〕。なお、ｍはｎよりも小さい正整数である。
近傍２量子ビット演算で構成された近似でない量子フーリエ変換の量子回路でも同様であり、近似の閾値より大きい数字ｔで表される制御フェイズシフトを恒等変換とみなす。これによって得られた量子回路が、１量子ビット演算および近傍２量子ビット演算だけで構成された近似量子フーリエ変換の量子回路である〔非特許文献３参照〕。ｎ＝８の場合を例として、図５に示したＬＮＮ−ＱＦＴ８の量子回路を基にした、１量子ビット演算および近傍２量子ビット演算だけで構成された近似量子フーリエ変換ＬＮＮ−ＡＱＦＴ８の量子回路を図９に示す。図９に示したＬＮＮ−ＡＱＦＴ８の量子回路は、近似の閾値ｍが５の場合を示している。量子フーリエ変換の近似の閾値は、下限がＯ(logｎ)とされる〔非特許文献３参照〕。なお、図９において出力状態|φｋ(ｂ)〉は、|φｋ(ｂ)〉＝(|０〉＋exp(２πｉΣｍ＝０４(ｂｋ−ｍ／２ｍ＋１))|１〉)／２１／２〔但し、ｋ＝５，６，７〕、|φｋ(ｂ)〉＝(|０〉＋exp(２πｉΣｍ＝０ｋ(ｂｋ−ｍ／２ｍ＋１))|１〉)／２１／２〔但し、ｋ＝０，１，２，３，４〕で表せる。
このような近似量子フーリエ変換を行う量子回路における計算ステップ数と基本演算の個数は、ＬＮＮ−ＱＦＴの量子回路やＱＦＴの量子回路におけるそれらと比較して、同じ程度のオーダとなっている。
【００１７】
ここでの説明は、ｎ＝８の場合、つまり８ｑビットの場合で説明したが、一般のｎ-ｑビットの場合に拡張できる〔８ｑビット未満の場合は、８ｑビットの場合に内包されている。〕。
【非特許文献１】M. A. Nielsen and I. L. Chuang, "Quantum Computation and Quantum Information", Cambridge University Press, 2000.
【非特許文献２】A. G. Fowler, S. J. Devitt, and L. C. L. Hollenberg, "Implementation of Shor’s algorithm on a linear nearest neighbour qubit array", Quantum Information and Computation, Vol.4, No.4, pp.237-251, 2004.
【非特許文献３】D. Coppersmith, "An approximate Fourier transform useful in quantum factoring", Technical Report RC19642, IBM, 1994.
【発明の開示】
【発明が解決しようとする課題】
【００１８】
以上に説明した近似量子フーリエ変換の従来の量子回路は、近似の閾値をＯ(logｎ)とし、単一量子ビットに対する１量子ビット演算と近傍２量子ビット演算だけを使うとき、Ｏ(ｎ)個の計算ステップ数（depth）およびＯ(ｎ２)個の基本演算（size）を用いて近似量子フーリエ変換を実現する。
【００１９】
ところで、基本演算の個数が多いほど演算誤りが発生する可能性が大きくなるため、基本演算の個数はできるだけ少ないほうが良い。また、少ない計算時間のためには計算ステップ数は少ない方がよい。
【００２０】
そこで本発明は、Ｏ(ｎ)個の計算ステップ数でありながら、従来よりも少ないオーダの基本演算の個数で実現する、１量子ビット演算および近傍２量子ビット演算だけで構成された近似量子フーリエ変換を行う量子回路、近似量子フーリエ変換演算方法と演算装置を提供することを目的とする。
【課題を解決するための手段】
【００２１】
上記課題を解決するために、本発明の量子回路は、次のような構成とされる。即ち、近似の閾値を正整数ｎよりも小さい正整数ｍとし、２ｎを法とする近似量子フーリエ変換を行う量子回路であって、ｎ個のｑビットである第１-ｑビット、…、第ｎ-ｑビットに対して、ｎが偶数の場合、《１》第１-ｑビットから第(ｎ／２)-ｑビットまでについて、近傍２量子ビット演算で構成した２ｎ／２を法とする量子フーリエ変換を行う量子回路を構成し、《２》ｇ＝２，…，ｎ／２＋１について、順に、第(ｎ／２−ｇ＋２ｊ)-ｑビットと第(ｎ／２−ｇ＋２ｊ＋１)-ｑビットに角度２π／２ｇの制御フェイズシフトを適用し、さらにこれらのｑビットにＳＷＡＰを適用する演算を行う量子回路を構成し〔ただし、ｊ＝１，…，ｇ−１とし、ｇごとに全てのｊについての演算を並列に行う量子回路とする。〕、《３》ｇ＝ｎ／２＋２，…，ｎについて、順に、第(ｇ−ｎ／２＋２ｊ−２)-ｑビットと第(ｇ−ｎ／２＋２ｊ−１)-ｑビットに角度２π／２ｇの制御フェイズシフトを適用し、さらにこれらのｑビットにＳＷＡＰを適用する演算を行う量子回路を構成し〔ただし、ｊ＝１，…，ｎ＋１−ｇとし、ｇごとに全てのｊについての演算を並列に行う量子回路とする。〕、《４》ｇ＝ｎ，…，ｎ／２＋２について、順に、第(ｇ−ｎ／２＋２ｊ−２)-ｑビットと第(ｇ−ｎ／２＋２ｊ−１)-ｑビットにＳＷＡＰを適用する演算を行うＳＷＡＰ量子回路を構成し〔ただし、ｊ＝１，…，ｎ＋１−ｇとし、ｇごとに全てのｊについての演算を並列に行う量子回路とする。〕、《５》ｇ＝ｎ／２＋１，…，２について、順に、第(ｎ／２−ｇ＋２ｊ)-ｑビットと第(ｎ／２−ｇ＋２ｊ＋１)-ｑビットにＳＷＡＰを適用する演算を行うＳＷＡＰ量子回路を構成し〔ただし、ｊ＝１，…，ｇ−１とし、ｇごとに全てのｊについての演算を並列に行う量子回路とする。〕、《６》第(ｎ／２＋１)-ｑビットから第ｎ-ｑビットまでについて、近傍２量子ビット演算で構成した２ｎ／２を法とする量子フーリエ変換を行う量子回路を構成し、ｎが奇数の場合、パターン１またはパターン２のいずれかで、（パターン１）《１》第１-ｑビットから第((ｎ＋１)／２)-ｑビットまでについて、近傍２量子ビット演算で構成した２(ｎ＋１)／２を法とする量子フーリエ変換を行う量子回路を構成し、《２》ｇ＝２，…，(ｎ＋１)／２について、順に、第((ｎ＋１)／２−ｇ＋２ｊ)-ｑビットと第((ｎ＋１)／２−ｇ＋２ｊ＋１)-ｑビットに角度２π／２ｇの制御フェイズシフトを適用し、さらにこれらのｑビットにＳＷＡＰを適用する演算を行う量子回路を構成し〔ただし、ｊ＝１，…，ｇ−１とし、ｇごとに全てのｊについての演算を並列に行う量子回路とする。〕、《３》ｇ＝(ｎ＋１)／２＋１，…，ｎについて、順に、第(ｇ−(ｎ＋１)／２＋２ｊ−２)-ｑビットと第(ｇ−(ｎ＋１)／２＋２ｊ−１)ビットに角度２π／２ｇの制御フェイズシフトを適用し、さらにこれらのｑビットにＳＷＡＰを適用する演算を行う量子回路を構成し〔ただし、ｊ＝１，…，ｎ＋１−ｇとし、ｇごとに全てのｊについての演算を並列に行う量子回路とする。〕、《４》ｇ＝ｎ，…，(ｎ＋１)／２＋１について、順に、第(ｇ−(ｎ＋１)／２＋２ｊ−２)-ｑビットと第(ｇ−(ｎ＋１)／２＋２ｊ−１)-ｑビットにＳＷＡＰ��適用する演算を行うＳＷＡＰ量子回路を構成し〔ただし、ｊ＝１，…，ｎ＋１−ｇとし、ｇごとに全てのｊについての演算を並列に行う量子回路とする。〕、
《５》ｇ＝(ｎ＋１)／２，…，２について、順に、第((ｎ＋１)／２−ｇ＋２ｊ)-ｑビットと第((ｎ＋１)／２−ｇ＋２ｊ＋１)-ｑビットにＳＷＡＰを適用する演算を行うＳＷＡＰ量子回路を構成し〔ただし、ｊ＝１，…，ｇ−１とし、ｇごとに全てのｊについての演算を並列に行う量子回路とする。〕、《６》第((ｎ＋１)／２＋１)-ｑビットから第ｎ-ｑビットまでについて、近傍２量子ビット演算で構成した２ (ｎ−１)／２を法とする量子フーリエ変換を行う量子回路を構成し、（パターン２）《１》第１-ｑビットから第((ｎ−１)／２)-ｑビットまでについて、近傍２量子ビット演算で構成した２(ｎ−１)／２を法とする量子フーリエ変換を行う量子回路を構成し、《２》ｇ＝２，…，(ｎ＋１)／２について、順に、第((ｎ＋１)／２−ｇ＋２ｊ−１)-ｑビットと第((ｎ＋１)／２−ｇ＋２ｊ)-ｑビットに角度２π／２ｇの制御フェイズシフトを適用し、さらにこれらのｑビットにＳＷＡＰを適用する演算を行う量子回路を構成し〔ただし、ｊ＝１，…，ｇ−１とし、ｇごとに全てのｊについての演算を並列に行う量子回路とする。〕、《３》ｇ＝(ｎ＋１)／２＋１，…，ｎについて、順に、第(ｇ−(ｎ＋１)／２＋２ｊ−１)-ｑビットと第(ｇ−(ｎ＋１)／２＋２ｊ)ビットに角度２π／２ｇの制御フェイズシフトを適用し、さらにこれらのｑビットにＳＷＡＰを適用する演算を行う量子回路を構成し〔ただし、ｊ＝１，…，ｎ＋１−ｇとし、ｇごとに全てのｊについての演算を並列に行う量子回路とする。〕、《４》ｇ＝ｎ，…，(ｎ＋１)／２＋１について、順に、第(ｇ−(ｎ＋１)／２＋２ｊ−１)-ｑビットと第(ｇ−(ｎ＋１)／２＋２ｊ)-ｑビットにＳＷＡＰを適用する演算を行うＳＷＡＰ量子回路を構成し〔ただし、ｊ＝１，…，ｎ＋１−ｇとし、ｇごとに全てのｊについての演算を並列に行う量子回路とする。〕、《５》ｇ＝(ｎ＋１)／２，…，２について、順に、第((ｎ＋１)／２−ｇ＋２ｊ−１)-ｑビットと第((ｎ＋１)／２−ｇ＋２ｊ)-ｑビットにＳＷＡＰを適用する演算を行うＳＷＡＰ量子回路を構成し〔ただし、ｊ＝１，…，ｇ−１とし、ｇごとに全てのｊについての演算を並列に行う量子回路とする。〕、《６》第((ｎ−１)／２＋１)-ｑビットから第ｎ-ｑビットまでについて、近傍２量子ビット演算で構成した２ (ｎ＋１)／２を法とする量子フーリエ変換を行う量子回路を構成し、ｎ＝１の場合、第１-ｑビットにアダマール変換を適用する量子回路を構成し、上記の手順で構成された量子回路において、２ｎより小さく２ｍより大きい数２Ｂを法とする量子フーリエ変換の量子回路については、このＢを新たなｎと看做して、上記の場合分けに従った手順で量子回路を構成し、２ｍ以下の数を法とする量子フーリエ変換を行う量子回路Ａについては、量子回路Ａへ入力されるＮ個のｑビットである第１-ｑビット、…、第Ｎ-ｑビットに対して、《１》ｇ＝１，…，Ｎについて、順に、ｇ＝１の場合、第１-ｑビットにアダマール変換を適用する演算を行う量子回路を構成し、ｇが３以上の奇数の場合、第１-ｑビットにアダマール変換を適用する演算を行う量子回路を構成し、第(ｊ−１)-ｑビットと第ｊ-ｑビットに角度２π／２ｊの制御フェイズシフトを適用し、さらにこれらのｑビットにＳＷＡＰを適用する演算を行う量子回路を構成し〔た��し、ｊは３からｇまでの奇数とし、ｇごとに第１-ｑビットに対するアダマール変換および全てのｊについての演算を並列に行う量子回路とする。〕、ｇが偶数の場合、第(ｊ−１)-ｑビットと第ｊ-ｑビットに角度２π／２ｊの制御フェイズシフトを適用し、さらにこれらのｑビットにＳＷＡＰを適用する演算を行う量子回路を構成し〔ただし、ｊは２からｇまでの偶数とし、ｇごとに全てのｊについての演算を並列に行う量子回路とする。〕、《２》ｇ＝Ｎ−１，…，１について、順に、ｇ＝１の場合、第１-ｑビットにアダマール変換を適用する演算を行う量子回路を構成し、ｇが３以上の奇数の場合、第１-ｑビットにアダマール変換を適用する演算を行う量子回路を構成し、第(ｊ−１)-ｑビットと第ｊ-ｑビットに角度２π／２ｊの制御フェイズシフトを適用し、さらにこれらのｑビットにＳＷＡＰを適用する演算を行う量子回路を構成し〔ただし、ｊは３からｇまでの奇数とし、ｇごとに第１-ｑビットに対するアダマール変換および全てのｊについての演算を並列に行う量子回路とする。〕、ｇが偶数の場合、第(ｊ−１)-ｑビットと第ｊ-ｑビットに角度２π／２ｊの制御フェイズシフトを適用し、さらにこれらのｑビットにＳＷＡＰを適用する演算を行う量子回路を構成し〔ただし、ｊは２からｇまでの偶数とし、ｇごとに全てのｊについての演算を並列に行う量子回路とする。〕、《３》ｇ＝１，…，Ｎ−１について、順に、ｇが奇数の場合、第ｊ-ｑビットと第(ｊ＋１)-ｑビットにＳＷＡＰを適用する演算を行う量子回路を構成し〔ただし、ｊは１からｇまでの奇数とし、ｇごとに全てのｊについてのＳＷＡＰを並列に行う量子回路とする。〕、ｇが偶数の場合、第ｊ-ｑビットと第(ｊ＋１)-ｑビットにＳＷＡＰを適用する演算を行う量子回路を構成し〔ただし、ｊは２からｇまでの偶数とし、ｇごとに全てのｊについてのＳＷＡＰを並列に行う量子回路とする。〕、《４》ｇ＝Ｎ−２，…，１について、順に、ｇが奇数の場合、第ｊ-ｑビットと第(ｊ＋１)-ｑビットにＳＷＡＰを適用する演算を行う量子回路を構成し〔ただし、ｊは１からｇまでの奇数とし、ｇごとに全てのｊについてのＳＷＡＰを並列に行う量子回路とする。〕、ｇが偶数の場合、第ｊ-ｑビットと第(ｊ＋１)-ｑビットにＳＷＡＰを適用する演算を行う量子回路を構成し〔ただし、ｊは２からｇまでの偶数とし、ｇごとに全てのｊについてのＳＷＡＰを並列に行う量子回路とする。〕、これまでの手順で構成された量子回路において、角度２π／２ｔ（ｔ＞ｍ）の制御フェイズシフトを恒等変換に置換し、角度２π／２ｔ（ｔ＝ｍ）の制御フェイズシフトの直後のＳＷＡＰおよび恒等変換とされた制御フェイズシフトの直後のＳＷＡＰの各演算を行う量子回路Ｃと、上記ＳＷＡＰ量子回路において量子回路Ｃの鏡像対称の量子回路部分とを相殺して構成された近似量子フーリエ変換を行う量子回路とする。
【００２２】
上記課題を解決するために、本発明の近似量子フーリエ変換演算方法は、次のような方法とされる。即ち、上記記載の近似量子フーリエ変換を行う量子回路に則り、入力された第１-ｑビットの状態|ｂｎ−１〉，…，第ｎ-ｑビットの状態|ｂ０〉に対して近似量子フーリエ変換を行う近似量子フーリエ変換演算方法とする。
【００２３】
上記課題を解決するために、本発明の近似量子フーリエ変換演算装置は、次のような構成とされる。即ち、近似の閾値を正整数ｎよりも小さい正整数ｍとし、２ｎを法とする近似量子フーリエ変換を行う近似量子フーリエ変換演算装置が演算対象とするｎ個のｑビットである第１-ｑビット、…、第ｎ-ｑビットに対して、ｎが偶数の場合、《１》第１-ｑビットから第(ｎ／２)-ｑビットまでについて、近傍２量子ビット演算で構成した２ｎ／２を法とする量子フーリエ変換を行う量子演算部を備え、《２》ｇ＝２，…，ｎ／２＋１について、順に、第(ｎ／２−ｇ＋２ｊ)-ｑビットと第(ｎ／２−ｇ＋２ｊ＋１)-ｑビットに角度２π／２ｇの制御フェイズシフトを適用し、さらにこれらのｑビットにＳＷＡＰを適用する演算を行う量子演算部を備え〔ただし、ｊ＝１，…，ｇ−１とし、ｇごとに全てのｊについての演算を並列に行うものとする。〕、《３》ｇ＝ｎ／２＋２，…，ｎについて、順に、第(ｇ−ｎ／２＋２ｊ−２)-ｑビットと第(ｇ−ｎ／２＋２ｊ−１)-ｑビットに角度２π／２ｇの制御フェイズシフトを適用し、さらにこれらのｑビットにＳＷＡＰを適用する演算を行う量子演算部を備え〔ただし、ｊ＝１，…，ｎ＋１−ｇとし、ｇごとに全てのｊについての演算を並列に行うものとする。〕、《４》ｇ＝ｎ，…，ｎ／２＋２について、順に、第(ｇ−ｎ／２＋２ｊ−２)-ｑビットと第(ｇ−ｎ／２＋２ｊ−１)-ｑビットにＳＷＡＰを適用する演算を行うＳＷＡＰ演算部を備え〔ただし、ｊ＝１，…，ｎ＋１−ｇとし、ｇごとに全てのｊについての演算を並列に行うものとする。〕、《５》ｇ＝ｎ／２＋１，…，２について、順に、第(ｎ／２−ｇ＋２ｊ)-ｑビットと第(ｎ／２−ｇ＋２ｊ＋１)-ｑビットにＳＷＡＰを適用する演算を行うＳＷＡＰ演算部を備え〔ただし、ｊ＝１，…，ｇ−１とし、ｇごとに全てのｊについての演算を並列に行うものとする。〕、《６》第(ｎ／２＋１)-ｑビットから第ｎ-ｑビットまでについて、近傍２量子ビット演算で構成した２ｎ／２を法とする量子フーリエ変換を行う量子演算部を備え、ｎが奇数の場合、パターン１またはパターン２のいずれかで、（パターン１）《１》第１-ｑビットから第((ｎ＋１)／２)-ｑビットまでについて、近傍２量子ビット演算で構成した２(ｎ＋１)／２を法とする量子フーリエ変換を行う量子演算部を備え、《２》ｇ＝２，…，(ｎ＋１)／２について、順に、第((ｎ＋１)／２−ｇ＋２ｊ)-ｑビットと第((ｎ＋１)／２−ｇ＋２ｊ＋１)-ｑビットに角度２π／２ｇの制御フェイズシフトを適用し、さらにこれらのｑビットにＳＷＡＰを適用する演算を行う量子演算部を備え〔ただし、ｊ＝１，…，ｇ−１とし、ｇごとに全てのｊについての演算を並列に行うものとする。〕、《３》ｇ＝(ｎ＋１)／２＋１，…，ｎについて、順に、第(ｇ−(ｎ＋１)／２＋２ｊ−２)-ｑビットと第(ｇ−(ｎ＋１)／２＋２ｊ−１)ビットに角度２π／２ｇの制御フェイズシフトを適用し、さらにこれらのｑビットにＳＷＡＰを適用する演算を行う量子演算部を備え〔ただし、ｊ＝１，…，ｎ＋１−ｇとし、ｇごとに全てのｊについての演算を並列に行うものとする。〕、《４》ｇ＝ｎ，…，(ｎ＋１)／２＋１について、順に、第(ｇ−(ｎ＋１)／２＋２ｊ−２)-ｑビットと第(ｇ−(ｎ＋１)／２＋２ｊ−１)-ｑビ��トにＳＷＡＰを適用する演算を行うＳＷＡＰ演算部を備え〔ただし、ｊ＝１，…，ｎ＋１−ｇとし、ｇごとに全てのｊについての演算を並列に行うものとする。〕、《５》ｇ＝(ｎ＋１)／２，…，２について、順に、第((ｎ＋１)／２−ｇ＋２ｊ)-ｑビットと第((ｎ＋１)／２−ｇ＋２ｊ＋１)-ｑビットにＳＷＡＰを適用する演算を行うＳＷＡＰ演算部を備え〔ただし、ｊ＝１，…，ｇ−１とし、ｇごとに全てのｊについての演算を並列に行うものとする。〕、《６》第((ｎ＋１)／２＋１)-ｑビットから第ｎ-ｑビットまでについて、近傍２量子ビット演算で構成した２ (ｎ−１)／２を法とする量子フーリエ変換を行う量子演算部を備え、（パターン２）《１》第１-ｑビットから第((ｎ−１)／２)-ｑビットまでについて、近傍２量子ビット演算で構成した２(ｎ−１)／２を法とする量子フーリエ変換を行う量子演算部を備え、《２》ｇ＝２，…，(ｎ＋１)／２について、順に、第((ｎ＋１)／２−ｇ＋２ｊ−１)-ｑビットと第((ｎ＋１)／２−ｇ＋２ｊ)-ｑビットに角度２π／２ｇの制御フェイズシフトを適用し、さらにこれらのｑビットにＳＷＡＰを適用する演算を行う量子演算部を備え〔ただし、ｊ＝１，…，ｇ−１とし、ｇごとに全てのｊについての演算を並列に行うものとする。〕、《３》ｇ＝(ｎ＋１)／２＋１，…，ｎについて、順に、第(ｇ−(ｎ＋１)／２＋２ｊ−１)-ｑビットと第(ｇ−(ｎ＋１)／２＋２ｊ)ビットに角度２π／２ｇの制御フェイズシフトを適用し、さらにこれらのｑビットにＳＷＡＰを適用する演算を行う量子演算部を備え〔ただし、ｊ＝１，…，ｎ＋１−ｇとし、ｇごとに全てのｊについての演算を並列に行うものとする。〕、《４》ｇ＝ｎ，…，(ｎ＋１)／２＋１について、順に、第(ｇ−(ｎ＋１)／２＋２ｊ−１)-ｑビットと第(ｇ−(ｎ＋１)／２＋２ｊ)-ｑビットにＳＷＡＰを適用する演算を行うＳＷＡＰ演算部を備え〔ただし、ｊ＝１，…，ｎ＋１−ｇとし、ｇごとに全てのｊについての演算を並列に行うものとする。〕、《５》ｇ＝(ｎ＋１)／２，…，２について、順に、第((ｎ＋１)／２−ｇ＋２ｊ−１)-ｑビットと第((ｎ＋１)／２−ｇ＋２ｊ)-ｑビットにＳＷＡＰを適用する演算を行うＳＷＡＰ演算部を備え〔ただし、ｊ＝１，…，ｇ−１とし、ｇごとに全てのｊについての演算を並列に行うものとする。〕、《６》第((ｎ−１)／２＋１)-ｑビットから第ｎ-ｑビットまでについて、近傍２量子ビット演算で構成した２ (ｎ＋１)／２を法とする量子フーリエ変換を行う量子演算部を備え、ｎ＝１の場合、第１-ｑビットにアダマール変換を適用する量子演算部を備え、上記の手順で構成された量子演算装置において、２ｎより小さく２ｍより大きい数２Ｂを法とする量子フーリエ変換の量子演算部については、このＢを新たなｎと看做して、上記の場合分けに従った手順で量子演算部を構成し、２ｍ以下の数を法とする量子フーリエ変換を行う量子演算部Ｄについては、量子演算部Ｄへ入力されるＮ個のｑビットである第１-ｑビット、…、第Ｎ-ｑビットに対して、《１》ｇ＝１，…，Ｎについて、順に、ｇ＝１の場合、第１-ｑビットにアダマール変換を適用する演算を行う量子演算部を備え、ｇが３以上の奇数の場合、第１-ｑビットにアダマール変換を適用する演算を行う量子演算部を備え、第(ｊ−１)-ｑビットと第���-ｑビットに角度２π／２ｊの制御フェイズシフトを適用し、さらにこれらのｑビットにＳＷＡＰを適用する演算を行う量子演算部を備え〔ただし、ｊは３からｇまでの奇数とし、ｇごとに第１-ｑビットに対するアダマール変換および全てのｊについての演算を並列に行うものとする。〕、ｇが偶数の場合、第(ｊ−１)-ｑビットと第ｊ-ｑビットに角度２π／２ｊの制御フェイズシフトを適用し、さらにこれらのｑビットにＳＷＡＰを適用する演算を行う量子演算部を備え〔ただし、ｊは２からｇまでの偶数とし、ｇごとに全てのｊについての演算を並列に行うものとする。〕、《２》ｇ＝Ｎ−１，…，１について、順に、ｇ＝１の場合、第１-ｑビットにアダマール変換を適用する演算を行う量子演算部を備え、ｇが３以上の奇数の場合、第１-ｑビットにアダマール変換を適用する演算を行う量子演算部を備え、第(ｊ−１)-ｑビットと第ｊ-ｑビットに角度２π／２ｊの制御フェイズシフトを適用し、さらにこれらのｑビットにＳＷＡＰを適用する演算を行う量子演算部を備え〔ただし、ｊは３からｇまでの奇数とし、ｇごとに第１-ｑビットに対するアダマール変換および全てのｊについての演算を並列に行うものとする。〕、ｇが偶数の場合、第(ｊ−１)-ｑビットと第ｊ-ｑビットに角度２π／２ｊの制御フェイズシフトを適用し、さらにこれらのｑビットにＳＷＡＰを適用する演算を行う量子演算部を備え〔ただし、ｊは２からｇまでの偶数とし、ｇごとに全てのｊについての演算を並列に行うものとする。〕、《３》ｇ＝１，…，Ｎ−１について、順に、ｇが奇数の場合、第ｊ-ｑビットと第(ｊ＋１)-ｑビットにＳＷＡＰを適用する演算を行うＳＷＡＰ演算部を備え〔ただし、ｊは１からｇまでの奇数とし、ｇごとに全てのｊについてのＳＷＡＰを並列に行うものとする。〕、ｇが偶数の場合、第ｊ-ｑビットと第(ｊ＋１)-ｑビットにＳＷＡＰを適用する演算を行うＳＷＡＰ演算部を備え〔ただし、ｊは２からｇまでの偶数とし、ｇごとに全てのｊについてのＳＷＡＰを並列に行うものとする。〕、《４》ｇ＝Ｎ−２，…，１について、順に、ｇが奇数の場合、第ｊ-ｑビットと第(ｊ＋１)-ｑビットにＳＷＡＰを適用する演算を行うＳＷＡＰ演算部を備え〔ただし、ｊは１からｇまでの奇数とし、ｇごとに全てのｊについてのＳＷＡＰを並列に行うものとする。〕、ｇが偶数の場合、第ｊ-ｑビットと第(ｊ＋１)-ｑビットにＳＷＡＰを適用する演算を行うＳＷＡＰ演算部を備え〔ただし、ｊは２からｇまでの偶数とし、ｇごとに全てのｊについてのＳＷＡＰを並列に行うものとする。〕、以上に従って構成された近似量子フーリエ変換演算装置において、角度２π／２ｔ（ｔ＞ｍ）の制御フェイズシフトを行う量子演算部を、恒等変換を行う量子演算部に置換し、角度２π／２ｔ（ｔ＝ｍ）の制御フェイズシフトの直後のＳＷＡＰおよび恒等変換とされた制御フェイズシフトの直後のＳＷＡＰの各演算を行う量子演算部Ｅと、上記ＳＷＡＰ演算部において量子演算部Ｅの鏡像対称の量子演算部とを備えずに構成された近似量子フーリエ変換演算装置とする。
【発明の効果】
【００２４】
本発明に拠れば、近似の閾値をＯ(logｎ)とし、近傍２量子ビット演算を用いて、Ｏ(ｎ)個の計算ステップ数とＯ(ｎlogｎ)個の基本演算で近似量子フーリエ変換を行うことができる。また、基本演算の個数が従来よりも低減するから、演算誤りの発生する可能性を低減できる。
【発明を実施するための最良の形態】
【００２５】
〔量子回路〕
まず、近似量子フーリエ変換を行う本発明の量子回路（１）を説明する。
近似量子フーリエ変換を行う量子回路（１）は、単一量子ビットに対する１量子ビット演算とＣＮＯＴを基本演算とするが、量子回路が複雑になるのを避けるため、これらの演算以外の演算も使って量子回路を構成するものとして説明する。本発明の量子回路に使われる全ての演算は、単一量子ビットに対する１量子ビット演算とＣＮＯＴに分解できることに注意しなければならない〔上記非特許文献１参照〕。
【００２６】
近似量子フーリエ変換を行う量子回路（１）は、近傍２量子ビット演算で構成されていない、近似でない量子フーリエ変換の量子回路（２）〔下記参考文献参照〕と、上述した近傍２量子ビット演算で構成された近似でない量子フーリエ変換の量子回路（３）に基づいて構成される。
（参考文献）  R. Cleve and J. Watrous, "Fast parallel circuits for the quantum Fourier transform", Proc. of the 4lst Annual Symposium on Foundations of Computer Science, pp.526-536, 2000.
【００２７】
まず、近傍２量子ビット演算で構成されていない、近似でない量子フーリエ変換の量子回路（２）について説明する。量子回路（２）は自己相似的（self-similar）に構成される。即ち、或るＸを法とする近似でない量子フーリエ変換を行う量子回路を、Ｘより小さい数を法とする近似でない量子フーリエ変換を行う量子回路に分解することによって構成する。この構成の仕方は、正確には次のとおりである。
なお、量子回路（２）が行う近似でない量子フーリエ変換は、式（３）で表される量子フーリエ変換であるが、自己相似的に構成されることを考慮して、量子回路（２）が行う近似でない量子フーリエ変換をＱＦＴ−ＳＳと表記する。
【００２８】
[ｎが偶数の場合]
ｎ２／４個の制御フェイズシフトと２ｎ／２を法とする量子フーリエ変換を行う量子回路２つから構成する。
より具体的には、２ｎ／２を法とする量子フーリエ変換を行う２つの量子回路は、上位〔線形な量子フーリエ変換を行う量子回路における上半分の配線に対応する。〕のｎ／２個のｑビットに対する２ｎ／２を法とする量子フーリエ変換を行う量子回路と、下位〔線形な量子フーリエ変換を行う量子回路における下半分の配線に対応する。〕のｎ／２個のｑビットに対する２ｎ／２を法とする量子フーリエ変換を行う量子回路とであり、ｎ２／４個の制御フェイズシフトを含む量子回路は、２ｎ／２を法とする量子フーリエ変換を行う２つの量子回路に挟まれた構成である。
【００２９】
[ｎが奇数の場合]
(ｎ−１)(ｎ＋１)／４個の制御フェイズシフトと２(ｎ＋１)／２を法とする量子フーリエ変換を行う量子回路と２(ｎ−１)／２を法とする量子フーリエ変換を行う量子回路とから構成する。
より具体的には、２つの構成が可能である。
１つ目〔パターン１〕は、２(ｎ＋１)／２を法とする量子フーリエ変換を行う量子回路を、上位〔線形な量子フーリエ変換を行う量子回路における上側の配線に対応する。〕の(ｎ＋１)／２個のｑビットに対する２(ｎ＋１)／２を法とする量子フーリエ変換を行う量子回路とし、２(ｎ−１)／２を法とする量子フーリエ変換を行う量子回路を、下位〔線形な量子フーリエ変換を行う量子回路における下側の配線に対応する。〕の(ｎ−１)／２個のｑビットに対する２(ｎ−１)／２を法とする量子フーリエ変換を行う量子回路とし、(ｎ−１)(ｎ＋１)／４個の制御フェイズシフトを含む量子回路は、２(ｎ＋１)／２を法とする量子フーリエ変換を行う量子回路と２(ｎ−１)／２を法とする量子フーリエ変換を行う量子回路とに挟まれた構成である。
２つ目〔パターン２〕は、２(ｎ＋１)／２を法とする量子フーリエ変換を行う量子回路を、下位〔線形な量子フーリエ変換を行う量子回路における下側の配線に対応する。〕の(ｎ＋１)／２個のｑビットに対する２(ｎ＋１)／２を法とする量子フーリエ変換を行う量子回路とし、２(ｎ−１)／２を法とする量子フーリエ変換を行う量子回路を、上位〔線形な量子フーリエ変換を行う量子回路における上側の配線に対応する。〕の(ｎ−１)／２個のｑビットに対する２(ｎ−１)／２を法とする量子フーリエ変換を行う量子回路とし、(ｎ−１)(ｎ＋１)／４個の制御フェイズシフトを含む量子回路は、２(ｎ＋１)／２を法とする量子フーリエ変換を行う量子回路と２(ｎ−１)／２を法とする量子フーリエ変換を行う量子回路とに挟まれた構成である。
【００３０】
[ｎ＝１の場合]
アダマールゲートのみで構成する。つまり、１量子ビット演算を行う量子回路として構成される。
【００３１】
より小さい数２Ｂを法とする量子フーリエ変換の量子回路については、このＢを新たなｎと看做して、上記の場合分けに従って、自己相似的に分解して構成する。例えば、ｎが偶数の場合では、２ｎ／２を法とする量子フーリエ変換を行う量子回路について、ｎ／２を新たなｎと看做して上記の場合分けに従って、自己相似的に分解して構成する。
【００３２】
以下、量子回路（２）の３つの具体例を示す。
図１０に、ｎ＝８の場合であるＱＦＴ８−ＳＳの量子回路（２）を示す。ＱＦＴ８−ＳＳの量子回路（２）は、[ｎが偶数の場合]で説明した方法に従って、図１０に示すように、２８／２を法とする量子フーリエ変換ＱＦＴ４−ＳＳを行う量子回路２つと１６個の制御フェイズシフトゲートとから構成される。図１０に示す量子回路（２）は、図１に示すＱＦＴ８の量子回路と実質的に同じであることに注意しなければならない。
２８／２を法とする量子フーリエ変換ＱＦＴ４−ＳＳを行う量子回路は、[ｎが偶数の場合]で説明した方法に従って、図１１に示すように、２４／２を法とする量子フーリエ変換ＱＦＴ２−ＳＳを行う量子回路２つと４個の制御フェイズシフトゲートとから構成される。
２４／２を法とする量子フーリエ変換ＱＦＴ２−ＳＳを行う量子回路は、[ｎが偶数の場合]で説明した方法に従って、図１２に示すように、２２／２を法とする量子フーリエ変換ＱＦＴ１−ＳＳを行う量子回路２つと１個の制御フェイズシフトゲートとから構成される。
２２／２を法とする量子フーリエ変換ＱＦＴ１−ＳＳを行う量子回路は、[ｎ＝１の場合]で説明した方法に従って、図１３に示すように、アダマールゲート１個から構成される。
【００３３】
図１４に、ｎ＝７の場合であるＱＦＴ７−ＳＳの〔パターン１〕の量子回路（２）を示す。ＱＦＴ７−ＳＳの〔パターン１〕の量子回路（２）は、[ｎが奇数の場合]の〔パターン１〕で説明した方法に従って、図１４に示すように、２８／２を法とする量子フーリエ変換ＱＦＴ４−ＳＳを行う量子回路と、２６／２を法とする量子フーリエ変換ＱＦＴ３−ＳＳを行う量子回路と、１２個の制御フェイズシフトゲートとから構成される。
２８／２を法とする量子フーリエ変換ＱＦＴ４−ＳＳを行う量子回路は、[ｎが偶数の場合]で説明した方法に従って、図１１に示すように、２４／２を法とする量子フーリエ変換ＱＦＴ２−ＳＳを行う量子回路２つと４個の制御フェイズシフトゲートとから構成される。
２６／２を法とする量子フーリエ変換ＱＦＴ３−ＳＳを行う量子回路は、[ｎが奇数の場合]の〔パターン１〕で説明した方法に従って、図１５に示すように、２４／２を法とする量子フーリエ変換ＱＦＴ２−ＳＳを行う量子回路と、２２／２を法とする量子フーリエ変換ＱＦＴ１−ＳＳを行う量子回路と、２個の制御フェイズシフトゲートとから構成される。
２４／２を法とする量子フーリエ変換ＱＦＴ２−ＳＳを行う量子回路は、[ｎが偶数の場合]で説明した方法に従って、図１２に示すように、２２／２を法とする量子フーリエ変換ＱＦＴ１−ＳＳを行う量子回路２つと１個の制御フェイズシフトゲートとから構成される。
２２／２を法とする量子フーリエ変換ＱＦＴ１−ＳＳを行う量子回路は、[ｎ＝１の場合]で説明した方法に従って、図１３に示すように、アダマールゲート１個から構成される。
【００３４】
図１６に、ｎ＝７の場合であるＱＦＴ７−ＳＳの〔パターン２〕の量子回路（２）を示す。ＱＦＴ７−ＳＳの〔パターン２〕の量子回路（２）は、[ｎが奇数の場合]の〔パターン２〕で説明した方法に従って、図１６に示すように、２６／２を法とする量子フーリエ変換ＱＦＴ３−ＳＳを行う量子回路と、２８／２を法とする量子フーリエ変換ＱＦＴ４−ＳＳを行う量子回路と、１２個の制御フェイズシフトゲートとから構成される。
２８／２を法とする量子フーリエ変換ＱＦＴ４−ＳＳを行う量子回路は、[ｎが偶数の場合]で説明した方法に従って、図１１に示すように、２４／２を法とする量子フーリエ変換ＱＦＴ２−ＳＳを行う量子回路２つと４個の制御フェイズシフトゲートとから構成される。
２６／２を法とする量子フーリエ変換ＱＦＴ３−ＳＳを行う量子回路は、[ｎが奇数の場合]の〔パターン２〕で説明した方法に従って、図１７に示すように、２２／２を法とする量子フーリエ変換ＱＦＴ１−ＳＳを行う量子回路と、２４／２を法とする量子フーリエ変換ＱＦＴ２−ＳＳを行う量子回路と、２個の制御フェイズシフトゲートとから構成される。
２４／２を法とする量子フーリエ変換ＱＦＴ２−ＳＳを行う量子回路は、[ｎが偶数の場合]で説明した方法に従って、図１２に示すように、２２／２を法とする量子フーリエ変換ＱＦＴ１−ＳＳを行う量子回路２つと１個の制御フェイズシフトゲートとから構成される。
２２／２を法とする量子フーリエ変換ＱＦＴ１−ＳＳを行う量子回路は、[ｎ＝１の場合]で説明した方法に従って、図１３に示すように、アダマールゲート１個から構成される。
【００３５】
上記の例では、〔パターン１〕で構成する場合には、より小さい奇数を法とする量子フーリエ変換を行う量子回路も〔パターン１〕で構成するとし、〔パターン２〕で構成する場合には、より小さい奇数を法とする量子フーリエ変換を行う量子回路も〔パターン２〕で構成するとして説明したが、このような構成に限定する意味ではない。より大きい奇数を法とする量子フーリエ変換を行う量子回路の構成パターンに束縛されることなく、随意のパターンで、より小さい奇数を法とする量子フーリエ変換を行う量子回路を構成できる。
【００３６】
上記各例からも明らかなように、ＱＦＴ−ＳＳの量子回路は、１計算ステップに処理できる演算を分離していることから、ＬＮＮ−ＱＦＴの量子回路〔図５参照〕よりも計算ステップが増大したものとなっている。
【００３７】
さて、量子回路（２）の構成の仕方と同様に、近似でない量子フーリエ変換を行う量子回路（１ｐ）を構成するが、次の点で構成の仕方に違いがある。
１点目は、２ｍ〔ｍは近似の閾値である。〕以下の数を法とする量子フーリエ変換を行う量子回路から構成されるようになるまで自己相似的に分解して構成する。２ｍ以下の数を法とする量子フーリエ変換を行う量子回路については、さらなる自己相似的な分解をしない。２ｍ以下の数を法とする量子フーリエ変換を行う量子回路は、上述した近傍２量子ビット演算で構成された近似でない量子フーリエ変換ＬＮＮ−ＱＦＴの量子回路（３）として構成される。
２点目は、量子回路（２）は近傍２量子ビット演算を使う量子回路ではないため、近傍２量子ビット演算を使う量子回路とする。
なお、量子回路（１ｐ）が行う近似でない量子フーリエ変換は、式（３）で表される量子フーリエ変換であるが、自己相似的に構成されることと近傍２量子ビット演算を使うことを考慮して、量子回路（１ｐ）が行う近似でない量子フーリエ変換をＬＮＮ−ＱＦＴ−ＳＳと表記する。
【００３８】
量子回路（１ｐ）の構成を、図１８を参照して説明する。図１８は、説明の便宜から、ｎが２の冪乗数の場合を想定しており、近似でない量子フーリエ変換ＬＮＮ−ＱＦＴ−ＳＳを行う量子回路（１ｐ）を、自己相似的に分解して構成することを説明する模式図である。図１８の中央に示されたLNN controlled phase shift circuit は、ｎ個のｑビットの量子フーリエ変換ＬＮＮ−ＱＦＴｎ−ＳＳを行う量子回路において、量子回路（２）に表れたｎ２／４個の制御フェイズシフトを近傍２量子ビット演算となるように構成した量子回路を表しており、その詳細は後述する。図１８の中央に示されたLNN controlled phase shift circuit の両脇に、近傍２量子ビット演算で構成されたｎ／２個のｑビットの量子フーリエ変換ＬＮＮ−ＱＦＴｎ／２−ＳＳを行う量子回路が構成される。
【００３９】
ＬＮＮ−ＱＦＴｎ／２−ＳＳを行う量子回路は、ＬＮＮ−ＱＦＴｎ−ＳＳを行う量子回路と自己相似的に構成される。ＬＮＮ−ＱＦＴｎ／２−ＳＳを行う量子回路の中央に示されたLNN controlled phase shift circuit は、ｎ／２個のｑビットの量子フーリエ変換ＬＮＮ−ＱＦＴｎ／２−ＳＳを行う量子回路において、量子回路（２）に表れた(ｎ／２)２／４個の制御フェイズシフトを近傍２量子ビット演算となるように構成した量子回路を表している。ＬＮＮ−ＱＦＴｎ／２−ＳＳを行う量子回路の中央に示されたLNN controlled phase shift circuit の両脇に、近傍２量子ビット演算で構成された(ｎ／２)／２個のｑビットの量子フーリエ変換ＬＮＮ−ＱＦＴ(ｎ／２)／２−ＳＳを行う量子回路が構成される。
【００４０】
ＬＮＮ−ＱＦＴ(ｎ／２)／２−ＳＳを行う量子回路は、ＬＮＮ−ＱＦＴｎ／２−ＳＳを行う量子回路と自己相似的に構成される。ＬＮＮ−ＱＦＴ(ｎ／２)／２−ＳＳを行う量子回路の中央に示されたLNN controlled phase shift circuit は、(ｎ／２)／２個のｑビットの量子フーリエ変換ＬＮＮ−ＱＦＴ(ｎ／２)／２−ＳＳを行う量子回路において、量子回路（２）に表れた((ｎ／２)／２)２／４個の制御フェイズシフトを近傍２量子ビット演算となるように構成した量子回路を表している。ＬＮＮ−ＱＦＴ(ｎ／２)／２−ＳＳを行う量子回路の中央に示されたLNN controlled phase shift circuit の両脇に、近傍２量子ビット演算で構成された((ｎ／２)／２)／２個のｑビットの量子フーリエ変換ＬＮＮ−ＱＦＴ((ｎ／２)／２)／２−ＳＳを行う量子回路が構成される。
【００４１】
このような自己相似的な分解による構成を繰り返すことで、近似でない量子フーリエ変換を行う量子回路（１ｐ）を構成するのであるが、量子回路ＬＮＮ−ＱＦＴｎ／２ｄ〔ｄ＝１，２，…〕が、ｍ≧ｎ／２ｄとなる場合、量子回路ＬＮＮ−ＱＦＴｎ／２ｄを自己相似的に分解して構成することを中止する。つまり、量子回路ＬＮＮ−ＱＦＴｎ／２ｄは、量子回路（３）として構成される。
【００４２】
ここでは、説明の便宜から、ｎが２の冪乗数の場合を想定して説明したが、ｎが一般的に偶数の場合でも奇数の場合でも、上記２つの異なる点に注意して、量子回路（２）の構成の仕方と同様にして、量子回路（１ｐ）を構成することができる。
【００４３】
そこで、ｎが偶数の場合と奇数の場合に分け、自己相似的に分解して量子回路（１ｐ）を構成する方法を説明する。
量子回路（１ｐ）へ入力されるｎ個のｑビットの状態を|ｂｎ−１〉，…，|ｂ０〉とし、それぞれのｑビットを順に第１-ｑビット、…、第ｎ-ｑビットと云うことにする。つまり、最上位の配線に相当するｑビットを第１-ｑビットとし、最下位の配線に相当するｑビットを第ｎ-ｑビットとする。また、記載の便宜から、第(・)-ｑビットなどとも記載する。
【００４４】
[ｎが偶数の場合]
《１》  第１-ｑビットから第(ｎ／２)-ｑビットまでについて、近傍２量子ビット演算で構成した２ｎ／２を法とする量子フーリエ変換を行う量子回路を適用する。
【００４５】
《２》  ｇ＝２，…，ｎ／２＋１について、順に、次の演算を行う量子回路とする。第(ｎ／２−ｇ＋２ｊ)-ｑビットと第(ｎ／２−ｇ＋２ｊ＋１)-ｑビットに角度２π／２ｇの制御フェイズシフトを適用し、さらにこれらのｑビットにＳＷＡＰを適用する。ただし、ｊ＝１，…，ｇ−１とし、ｇごとに全てのｊについての演算を並列に行うものとする。並列に演算することで計算ステップ数の増加を抑圧する〔以下同様〕。
【００４６】
《３》  ｇ＝ｎ／２＋２，…，ｎについて、順に、次の演算を行う量子回路とする。第(ｇ−ｎ／２＋２ｊ−２)-ｑビットと第(ｇ−ｎ／２＋２ｊ−１)-ｑビットに角度２π／２ｇの制御フェイズシフトを適用し、さらにこれらのｑビットにＳＷＡＰを適用する。ただし、ｊ＝１，…，ｎ＋１−ｇとし、ｇごとに全てのｊについての演算は並列に行う。
なお、ｇ＝ｎの場合の最後のＳＷＡＰは、下記《４》の最初のＳＷＡＰと相殺されることになる。
【００４７】
《４》  ｇ＝ｎ，…，ｎ／２＋２について、順に、次の演算を行う量子回路とする。第(ｇ−ｎ／２＋２ｊ−２)-ｑビットと第(ｇ−ｎ／２＋２ｊ−１)-ｑビットにＳＷＡＰを適用する。ただし、ｊ＝１，…，ｎ＋１−ｇとし、ｇごとに全てのｊについての演算は並列に行う。
【００４８】
《５》  ｇ＝ｎ／２＋１，…，２について、順に、次の演算を行う量子回路とする。第(ｎ／２−ｇ＋２ｊ)-ｑビットと第(ｎ／２−ｇ＋２ｊ＋１)-ｑビットにＳＷＡＰを適用する。ただし、ｊ＝１，…，ｇ−１とし、ｇごとに全てのｊについての演算は並列に行う。
【００４９】
《６》  第(ｎ／２＋１)-ｑビットから第ｎ-ｑビットまでについて、近傍２量子ビット演算で構成した２ｎ／２を法とする量子フーリエ変換を行う量子回路を適用する。
【００５０】
[ｎが奇数の場合]
具体的には、２つの構成が可能である。
【００５１】
（パターン１）
《１》  第１-ｑビットから第((ｎ＋１)／２)-ｑビットまでについて、近傍２量子ビット演算で構成した２(ｎ＋１)／２を法とする量子フーリエ変換を行う量子回路を適用する。
【００５２】
《２》  ｇ＝２，…，(ｎ＋１)／２について、順に、次の演算を行う量子回路とする。第((ｎ＋１)／２−ｇ＋２ｊ)-ｑビットと第((ｎ＋１)／２−ｇ＋２ｊ＋１)-ｑビットに角度２π／２ｇの制御フェイズシフトを適用し、さらにこれらのｑビットにＳＷＡＰを適用する。ただし、ｊ＝１，…，ｇ−１とし、ｇごとに全てのｊについての演算は並列に行う。
【００５３】
《３》  ｇ＝(ｎ＋１)／２＋１，…，ｎについて、順に、次の演算を行う量子回路とする。第(ｇ−(ｎ＋１)／２＋２ｊ−２)-ｑビットと第(ｇ−(ｎ＋１)／２＋２ｊ−１)ビットに角度２π／２ｇの制御フェイズシフトを適用し、さらにこれらのｑビットにＳＷＡＰを適用する。ただし、ｊ＝１，…，ｎ＋１−ｇとし、ｇごとに全てのｊについての演算は並列に行う。
なお、ｇ＝ｎの場合の最後のＳＷＡＰは、下記《４》の最初のＳＷＡＰと相殺されることに注意する。
【００５４】
《４》  ｇ＝ｎ，…，(ｎ＋１)／２＋１について、順に、次の演算を行う量子回路とする。第(ｇ−(ｎ＋１)／２＋２ｊ−２)-ｑビットと第(ｇ−(ｎ＋１)／２＋２ｊ−１)-ｑビットにＳＷＡＰを適用する。ただし、ｊ＝１，…，ｎ＋１−ｇとし、ｇごとに全てのｊについての演算は並列に行う。
【００５５】
《５》  ｇ＝(ｎ＋１)／２，…，２について、順に、次の演算を行う量子回路とする。第((ｎ＋１)／２−ｇ＋２ｊ)-ｑビットと第((ｎ＋１)／２−ｇ＋２ｊ＋１)-ｑビットにＳＷＡＰを適用する。ただし、ｊ＝１，…，ｇ−１とし、ｇごとに全てのｊについての演算は並列に行う。
【００５６】
《６》  第((ｎ＋１)／２＋１)-ｑビットから第ｎ-ｑビットまでについて、近傍２量子ビット演算で構成した２ (ｎ−１)／２を法とする量子フーリエ変換を行う量子回路を適用する。
【００５７】
（パターン２）
《１》  第１-ｑビットから第((ｎ−１)／２)-ｑビットまでについて、近傍２量子ビット演算で構成した２(ｎ−１)／２を法とする量子フーリエ変換を行う量子回路を適用する。
【００５８】
《２》  ｇ＝２，…，(ｎ＋１)／２について、順に、次の演算を行う量子回路とする。第((ｎ＋１)／２−ｇ＋２ｊ−１)-ｑビットと第((ｎ＋１)／２−ｇ＋２ｊ)-ｑビットに角度２π／２ｇの制御フェイズシフトを適用し、さらにこれらのｑビットにＳＷＡＰを適用する。ただし、ｊ＝１，…，ｇ−１とし、ｇごとに全てのｊについての演算は並列に行う。
【００５９】
《３》  ｇ＝(ｎ＋１)／２＋１，…，ｎについて、順に、次の演算を行う量子回路とする。第(ｇ−(ｎ＋１)／２＋２ｊ−１)-ｑビットと第(ｇ−(ｎ＋１)／２＋２ｊ)ビットに角度２π／２ｇの制御フェイズシフトを適用し、さらにこれらのｑビットにＳＷＡＰを適用する。ただし、ｊ＝１，…，ｎ＋１−ｇとし、ｇごとに全てのｊについての演算は並列に行う。
なお、ｇ＝ｎの場合の最後のＳＷＡＰは、下記《４》の最初のＳＷＡＰと相殺されることに注意する。
【００６０】
《４》  ｇ＝ｎ，…，(ｎ＋１)／２＋１について、順に、次の演算を行う量子回路とする。第(ｇ−(ｎ＋１)／２＋２ｊ−１)-ｑビットと第(ｇ−(ｎ＋１)／２＋２ｊ)-ｑビットにＳＷＡＰを適用する。ただし、ｊ＝１，…，ｎ＋１−ｇとし、ｇごとに全てのｊについての演算は並列に行う。
【００６１】
《５》  ｇ＝(ｎ＋１)／２，…，２について、順に、次の演算を行う量子回路とする。第((ｎ＋１)／２−ｇ＋２ｊ−１)-ｑビットと第((ｎ＋１)／２−ｇ＋２ｊ)-ｑビットにＳＷＡＰを適用する。ただし、ｊ＝１，…，ｇ−１とし、ｇごとに全てのｊについての演算は並列に行う。
【００６２】
《６》  第((ｎ−１)／２＋１)-ｑビットから第ｎ-ｑビットまでについて、近傍２量子ビット演算で構成した２ (ｎ＋１)／２を法とする量子フーリエ変換を行う量子回路を適用する。
【００６３】
[ｎ＝１の場合]
第１-ｑビットにアダマール変換を適用する。
【００６４】
２ｎより小さく２ｍより大きい数２Ｂを法とする量子フーリエ変換の量子回路については、このＢを新たなｎと看做して、上記の場合分けに従って、自己相似的に分解して構成する。例えば、ｎが偶数の場合では、２ｎ／２を法とする量子フーリエ変換を行う量子回路について、ｎ／２を新たなｎと看做して上記の場合分けに従って、自己相似的に分解して構成する。
【００６５】
なお、２ｍ以下の数を法とする量子フーリエ変換を行う量子回路については、さらなる自己相似的な分解をしない。２ｍ以下の数を法とする量子フーリエ変換を行う量子回路は、上述した近傍２量子ビット演算で構成された近似でない量子フーリエ変換ＬＮＮ−ＱＦＴの量子回路（３）として構成される。
【００６６】
以下、量子回路（１ｐ）の３つの具体例を示す。
図１９に、ｎ＝８の場合であるＬＮＮ−ＱＦＴ８−ＳＳの量子回路（１ｐ）を示す。ＬＮＮ−ＱＦＴ８−ＳＳの量子回路（１ｐ）は、[ｎが偶数の場合]で説明した方法に従って、次のように構成される。
《１》  第１-ｑビットから第(８／２)-ｑビットまでについて、近傍２量子ビット演算で構成した２８／２を法とする量子フーリエ変換ＬＮＮ−ＱＦＴ４−ＳＳを行う量子回路を構成する〔図１９において符号α１で指示する量子回路〕。ＬＮＮ−ＱＦＴ４−ＳＳを行う量子回路は、[ｎが偶数の場合]で説明した方法に従って構成される。
《２》  ｇ＝２，…，８／２＋１について、次の演算を行う量子回路を構成する。第(８／２−ｇ＋２ｊ)-ｑビットと第(８／２−ｇ＋２ｊ＋１)-ｑビットに角度２π／２ｇの制御フェイズシフトを適用し、さらにこれらのｑビットにＳＷＡＰを適用する〔図１９において符号α２で指示する量子回路〕。ただし、ｊ＝１，…，ｇ−１とし、ｇごとに全てのｊについての演算を並列に行う構成である。つまり、図１９において、例えば実線で囲んだ部分は、１計算ステップで並列に演算可能であり、その他も同様である。
《３》  ｇ＝８／２＋２，…，８について、次の演算を行う量子回路を構成する。第(ｇ−８／２＋２ｊ−２)-ｑビットと第(ｇ−８／２＋２ｊ−１)-ｑビットに角度２π／２ｇの制御フェイズシフトを適用し、さらにこれらのｑビットにＳＷＡＰを適用する〔図１９において符号α３で指示する量子回路〕。ただし、ｊ＝１，…，８＋１−ｇとし、ｇごとに全てのｊについての演算は並列に行う構成である。ｇ＝８の場合の最後のＳＷＡＰは、次の《４》の最初のＳＷＡＰと相殺されることになるが図１９では、説明の便宜で敢えて残している。
《４》  ｇ＝８，…，８／２＋２について、次の演算を行う量子回路を構成する。第(ｇ−８／２＋２ｊ−２)-ｑビットと第(ｇ−８／２＋２ｊ−１)-ｑビットにＳＷＡＰを適用する〔図１９において符号α４で指示する量子回路〕。ただし、ｊ＝１，…，８＋１−ｇとし、ｇごとに全てのｊについての演算は並列に行う構成である。
《５》  ｇ＝８／２＋１，…，２について、次の演算を行う量子回路を構成する。第(８／２−ｇ＋２ｊ)-ｑビットと第(８／２−ｇ＋２ｊ＋１)-ｑビットにＳＷＡＰを適用する〔図１９において符号α５で指示する量子回路〕。ただし、ｊ＝１，…，ｇ−１とし、ｇごとに全てのｊについての演算は並列に行う構成である。
《６》  第(８／２＋１)-ｑビットから第８-ｑビットまでについて、近傍２量子ビット演算で構成した２８／２を法とする量子フーリエ変換ＬＮＮ−ＱＦＴ４−ＳＳを行う量子回路を構成する〔図１９において符号α６で指示する量子回路〕。ＬＮＮ−ＱＦＴ４−ＳＳを行う量子回路は、[ｎが偶数の場合]で説明した方法に従って構成される。
【００６７】
図２０に、ｎ＝７の場合であるＬＮＮ−ＱＦＴ７−ＳＳの（パターン１）の量子回路（１ｐ）を示す。ＬＮＮ−ＱＦＴ７−ＳＳの（パターン１）の量子回路（１ｐ）は、[ｎが奇数の場合]の（パターン１）で説明した方法に従って、次のように構成される。
《１》  第１-ｑビットから第((７＋１)／２)-ｑビットまでについて、近傍２量子ビット演算を用いて２(７＋１)／２を法とする量子フーリエ変換ＬＮＮ−ＱＦＴ４−ＳＳを行う量子回路を構成する〔図２０において符号β１で指示する量子回路〕。ＬＮＮ−ＱＦＴ４−ＳＳを行う量子回路は、[ｎが偶数の場合]で説明した方法に従って構成される。
《２》  ｇ＝２，…，(７＋１)／２について、順に、次の演算を行う量子回路とする。第((７＋１)／２−ｇ＋２ｊ)-ｑビットと第((７＋１)／２−ｇ＋２ｊ＋１)-ｑビットに角度２π／２ｇの制御フェイズシフトを適用し、さらにこれらのｑビットにＳＷＡＰを適用する〔図２０において符号β２で指示する量子回路〕。ただし、ｊ＝１，…，ｇ−１とし、ｇごとに全てのｊについての演算を並列に行う構成である。
《３》  ｇ＝(７＋１)／２＋１，…，７について、順に、次の演算を行う量子回路とする。第(ｇ−(７＋１)／２＋２ｊ−２)-ｑビットと第(ｇ−(７＋１)／２＋２ｊ−１)ビットに角度２π／２ｇの制御フェイズシフトを適用し、さらにこれらのｑビットにＳＷＡＰを適用する〔図２０において符号β３で指示する量子回路〕。ただし、ｊ＝１，…，ｎ＋１−ｇとし、ｇごとに全てのｊについての演算を並列に行う構成である。ｇ＝７の場合の最後のＳＷＡＰは、次の《４》の最初のＳＷＡＰと相殺されることになるが図２０では、説明の便宜で敢えて残している。
《４》  ｇ＝７，…，(７＋１)／２＋１について、順に、次の演算を行う量子回路とする。第(ｇ−(７＋１)／２＋２ｊ−２)-ｑビットと第(ｇ−(７＋１)／２＋２ｊ−１)-ｑビットにＳＷＡＰを適用する〔図２０において符号β４で指示する量子回路〕。ただし、ｊ＝１，…，ｎ＋１−ｇとし、ｇごとに全てのｊについての演算を並列に行う構成である。
《５》  ｇ＝(７＋１)／２，…，２について、順に、次の演算を行う量子回路とする。第((７＋１)／２−ｇ＋２ｊ)-ｑビットと第((７＋１)／２−ｇ＋２ｊ＋１)-ｑビットにＳＷＡＰを適用する〔図２０において符号β５で指示する量子回路〕。ただし、ｊ＝１，…，ｇ−１とし、ｇごとに全てのｊについてのて演算を並列に行う構成である。
《６》  第((７＋１)／２＋１)-ｑビットから第７-ｑビットまでについて、近傍２量子ビット演算を用いて２ (７−１)／２を法とする量子フーリエ変換を行う量子回路ＬＮＮ−ＱＦＴ３−ＳＳを構成する〔図２０において符号β６で指示する量子回路〕。ＬＮＮ−ＱＦＴ３−ＳＳを行う量子回路は、[ｎが奇数の場合]で説明した方法に従って構成される。
【００６８】
図２１に、ｎ＝７の場合であるＬＮＮ−ＱＦＴ７−ＳＳの（パターン２）の量子回路（１ｐ）を示す。ＬＮＮ−ＱＦＴ７−ＳＳの（パターン２）の量子回路（１ｐ）は、[ｎが奇数の場合]の（パターン２）で説明した方法に従って、次のように構成される。
《１》  第１-ｑビットから第((７−１)／２)-ｑビットまでについて、近傍２量子ビット演算を用いて２(７−１)／２を法とする量子フーリエ変換ＬＮＮ−ＱＦＴ３−ＳＳを行う量子回路を構成する〔図２１において符号γ１で指示する量子回路〕。ＬＮＮ−ＱＦＴ３−ＳＳを行う量子回路は、[ｎが奇数の場合]で説明した方法に従って構成される。
《２》  ｇ＝２，…，(７＋１)／２について、順に、次の演算を行う量子回路とする。第((７＋１)／２−ｇ＋２ｊ−１)-ｑビットと第((７＋１)／２−ｇ＋２ｊ)-ｑビットに角度２π／２ｇの制御フェイズシフトを適用し、さらにこれらのｑビットにＳＷＡＰを適用する〔図２１において符号γ２で指示する量子回路〕。ただし、ｊ＝１，…，ｇ−１とし、ｇごとに全てのｊについての演算を並列に行う構成とする。
《３》  ｇ＝(７＋１)／２＋１，…，７について、順に、次の演算を行う量子回路とする。第(ｇ−(７＋１)／２＋２ｊ−１)-ｑビットと第(ｇ−(７＋１)／２＋２ｊ)ビットに角度２π／２ｇの制御フェイズシフトを適用し、さらにこれらのｑビットにＳＷＡＰを適用する〔図２１において符号γ３で指示する量子回路〕。ただし、ｊ＝１，…，ｎ＋１−ｇとし、ｇごとに全てのｊについての演算を並列に行う構成とする。ｇ＝７の場合の最後のＳＷＡＰは、次の《４》の最初のＳＷＡＰと相殺されることになるが図２１では、説明の便宜で敢えて残している。
《４》  ｇ＝７，…，(７＋１)／２＋１について、順に、次の演算を行う量子回路とする。第(ｇ−(７＋１)／２＋２ｊ−１)-ｑビットと第(ｇ−(７＋１)／２＋２ｊ)-ｑビットにＳＷＡＰを適用する〔図２１において符号γ４で指示する量子回路〕。ただし、ｊ＝１，…，ｎ＋１−ｇとし、ｇごとに全てのｊについての演算を並列に行う構成とする。
《５》  ｇ＝(７＋１)／２，…，２について、順に、次の演算を行う量子回路とする。第((７＋１)／２−ｇ＋２ｊ−１)-ｑビットと第((７＋１)／２−ｇ＋２ｊ)-ｑビットにＳＷＡＰを適用する〔図２１において符号γ５で指示する量子回路〕。ただし、ｊ＝１，…，ｇ−１とし、ｇごとに全てのｊについての演算を並列に行う構成とする。
《６》  第((７−１)／２＋１)-ｑビットから第７-ｑビットまでについて、近傍２量子ビット演算を用いて２ (７＋１)／２を法とする量子フーリエ変換を行う量子回路ＬＮＮ−ＱＦＴ４−ＳＳを構成する〔図２１において符号γ６で指示する量子回路〕。ＬＮＮ−ＱＦＴ４−ＳＳを行う量子回路は、[ｎが偶数の場合]で説明した方法に従って構成される。
【００６９】
上記の例では、（パターン１）で構成する場合には、より小さい奇数を法とする量子フーリエ変換を行う量子回路も（パターン１）で構成するとし、（パターン２）で構成する場合には、より小さい奇数を法とする量子フーリエ変換を行う量子回路も（パターン２）で構成するとして説明したが、このような構成に限定する意味ではない。より大きい奇数を法とする量子フーリエ変換を行う量子回路の構成パターンに束縛されることなく、随意のパターンで、より小さい奇数を法とする量子フーリエ変換を行う量子回路を構成できる。
【００７０】
近似でない量子フーリエ変換ＬＮＮ−ＱＦＴ−ＳＳを行う量子回路（１ｐ）から近似量子フーリエ変換ＬＮＮ−ＡＱＦＴ−ＳＳを行う量子回路（１）を構成する方法を説明する。一般的に、近似の閾値ｍはＯ(logｎ)程度とされる。
【００７１】
ＬＮＮ−ＱＦＴ−ＳＳを行う量子回路（１ｐ）において、角度２π／２ｔ（ｔ＞ｍ）の制御フェイズシフトを恒等変換に置換する。これに伴い、角度２π／２ｔ（ｔ＝ｍ）の制御フェイズシフトゲートの直後のＳＷＡＰおよび恒等変換とされた制御フェイズシフトゲートの直後のＳＷＡＰが、量子回路（１ｐ）の構成方法で説明したいずれの場合の《４》および《５》で構成されたＳＷＡＰだけからなる量子回路部分のＳＷＡＰの一部と相殺され、量子回路全体が簡略化されることになる。つまり、角度２π／２ｔ（ｔ＝ｍ）の制御フェイズシフトの直後のＳＷＡＰおよび恒等変換とされた制御フェイズシフトの直後のＳＷＡＰの各演算を行う量子回路Ｃと、量子回路（１ｐ）の構成方法で説明したいずれの場合の《４》および《５》で構成されたＳＷＡＰだけからなる量子回路において量子回路Ｃの鏡像対称の量子回路部分とが相殺される。
この処理で得られた量子回路が、ＬＮＮ−ＡＱＦＴ−ＳＳを行う量子回路（１）である。
この量子回路（１）は、近似の閾値の下限をＯ(logｎ)とし、近傍２量子ビット演算を使って、Ｏ(ｎ)個の計算ステップ数とＯ(ｎlogｎ)個の基本演算で近似量子フーリエ変換を行うものとなっている。
【００７２】
以下、ＬＮＮ−ＡＱＦＴ−ＳＳを行う量子回路（１）の３つの具体例を示す。
ここでは、図９との比較を容易にする観点から、近似の閾値ｍを５の場合として例示する。
【００７３】
図２２に、図１９に対応したＬＮＮ−ＡＱＦＴ８−ＳＳを行う量子回路（１）を示す。
ｔ＝６，７，８に対応する制御フェイズシフトを恒等変換とみなすことから、符号α２で示した量子回路の最後（最右側）の４つのＳＷＡＰおよび符号α３で示した量子回路の６つのＳＷＡＰが、符号α４で示した量子回路の１０つのＳＷＡＰと相殺される。図９と比較して明らかなように、ＳＷＡＰが相殺されて低減することで、基本演算数が従来に比して低減した量子回路となる。
図２２では、より小さい数を法とする量子フーリエ変換を行う量子回路として、具体的にはＬＮＮ−ＡＱＦＴ４−ＳＳと表記しているが、近似の閾値ｍを５としているから、正確には、ＬＮＮ−ＱＦＴ４を行う量子回路となる。このＬＮＮ−ＱＦＴ４を行う量子回路は、従来と同様に構成されたものであり、近傍２量子ビット演算で構成された近似でない量子フーリエ変換の量子回路（３）である。
仮に、ｍが３であれば、ＬＮＮ−ＡＱＦＴ４−ＳＳを行う量子回路をさらに自己相似的に構成すればよく、このとき、ＬＮＮ−ＡＱＦＴ２−ＳＳを行う量子回路が現われるが、２＜３であるから、ＬＮＮ−ＱＦＴ２を行う量子回路とすればよい。つまり、ＬＮＮ−ＡＱＦＴ８−ＳＳを行う量子回路（１）は、ＬＮＮ−ＱＦＴ２を行う４つの量子回路と、３つのLNN controlled phase shift circuit とで構成される。
【００７４】
図２３に、図２０に対応したＬＮＮ−ＡＱＦＴ７−ＳＳを行う量子回路（１）を示す。ｔ＝６，７，８に対応する制御フェイズシフトを恒等変換とみなすことから、符号β３で示した量子回路の６つのＳＷＡＰが、符号β４で示した量子回路の６つのＳＷＡＰと相殺される。
図２３では、より小さい数を法とする量子フーリエ変換を行う量子回路として、具体的にはＬＮＮ−ＡＱＦＴ４−ＳＳおよびＬＮＮ−ＡＱＦＴ３−ＳＳと表記しているが、近似の閾値ｍを５としているから、正確には、それぞれＬＮＮ−ＱＦＴ４を行う量子回路とＬＮＮ−ＱＦＴ３を行う量子回路となる。これらのＬＮＮ−ＱＦＴ４を行う量子回路とＬＮＮ−ＱＦＴ３を行う量子回路は、従来と同様に構成されたものであり、近傍２量子ビット演算で構成された近似でない量子フーリエ変換の量子回路（３）である。
仮に、ｍが３であれば、ＬＮＮ−ＡＱＦＴ４−ＳＳを行う量子回路をさらに自己相似的に構成すればよく、このとき、ＬＮＮ−ＡＱＦＴ２−ＳＳを行う量子回路が現われるが、２＜３であるから、ＬＮＮ−ＱＦＴ２を行う量子回路とすればよい。つまり、ＬＮＮ−ＡＱＦＴ７−ＳＳを行う量子回路（１）は、ＬＮＮ−ＱＦＴ２を行う２つの量子回路と、ＬＮＮ−ＱＦＴ３を行う量子回路と、２つのLNN controlled phase shift circuit とで構成される。
【００７５】
図２４に、図２１に対応したＬＮＮ−ＡＱＦＴ７−ＳＳを行う量子回路（１）を示す。ｔ＝６，７，８に対応する制御フェイズシフトを恒等変換とみなすことから、符号β３で示した量子回路の６つのＳＷＡＰが、符号β４で示した量子回路の６つのＳＷＡＰと相殺される。
図２４では、より小さい数を法とする量子フーリエ変換を行う量子回路として、具体的にはＬＮＮ−ＡＱＦＴ３−ＳＳおよびＬＮＮ−ＡＱＦＴ４−ＳＳと表記しているが、近似の閾値ｍを５としているから、正確には、それぞれＬＮＮ−ＱＦＴ３を行う量子回路とＬＮＮ−ＱＦＴ４を行う量子回路となる。これらのＬＮＮ−ＱＦＴ３を行う量子回路とＬＮＮ−ＱＦＴ４を行う量子回路は、従来と同様に構成されたものであり、近傍２量子ビット演算で構成された近似でない量子フーリエ変換の量子回路（３）である。
仮に、ｍが３であれば、ＬＮＮ−ＡＱＦＴ４−ＳＳを行う量子回路をさらに自己相似的に構成すればよく、このとき、ＬＮＮ−ＡＱＦＴ２−ＳＳを行う量子回路が現われるが、２＜３であるから、ＬＮＮ−ＱＦＴ２を行う量子回路とすればよい。つまり、ＬＮＮ−ＡＱＦＴ７−ＳＳを行う量子回路（１）は、ＬＮＮ−ＱＦＴ２を行う２つの量子回路と、ＬＮＮ−ＱＦＴ３を行う量子回路と、２つのLNN controlled phase shift circuit とで構成される。
【００７６】
ここで、ＬＮＮ−ＱＦＴ４を行う量子回路を図２５に、ＬＮＮ−ＱＦＴ３を行う量子回路を図２６に示す。これらの量子回路（３）の構成は、背景技術で既に述べたとおりである。
【００７７】
〔量子演算方法〕
次に、本発明の量子回路（１）における量子演算方法について説明する。
量子回路（１）の構成方法から明らかなとおり、一般的には、分解の過程で奇数個のｑビットに対する量子フーリエ変換を行う量子回路が生じるから、ｎ個のｑビットに対する本発明の量子回路を一意に決定することができない。
そこで、ここでは一例として、図２２に示したＬＮＮ−ＡＱＦＴ８−ＳＳを行う量子回路（１）における量子演算方法について説明する。入力状態は|ｂ７ｂ６…ｂ１ｂ０〉である。|ｂ７〉は第１-ｑビットの状態であり、|ｂ６〉は第２-ｑビットの状態であり、中略、|ｂ１〉は第７-ｑビットの状態であり、|ｂ０〉は第８-ｑビットの状態である。
一般的に、量子回路に従った演算は、入力側から出力側に向かって時系列に行われ、並列演算可能な演算は１計算ステップで全て演算される。
【００７８】
ステップＳ１
第１-ｑビットにアダマール変換を適用する。
【００７９】
ステップＳ２
第１-ｑビットと第２-ｑビットに角度２π／２２の制御フェイズシフトを適用し、さらにこれらのｑビットにＳＷＡＰを適用する。
【００８０】
ステップＳ３
第１-ｑビットにアダマール変換を適用する。第２-ｑビットと第３-ｑビットに角度２π／２３の制御フェイズシフトを適用し、さらにこれらのｑビットにＳＷＡＰを適用する。ただし、これらの演算を並列に行う。
【００８１】
ステップＳ４
第１-ｑビットと第２-ｑビットに角度２π／２２の制御フェイズシフトを適用し、さらにこれらのｑビットにＳＷＡＰを適用する。第３-ｑビットと第４-ｑビットに角度２π／２４の制御フェイズシフトを適用し、さらにこれらのｑビットにＳＷＡＰを適用する。ただし、これらの演算を並列に行う。
【００８２】
ステップＳ５
第１-ｑビットにアダマール変換を適用する。第２-ｑビットと第３-ｑビットに角度２π／２３の制御フェイズシフトを適用し、さらにこれらのｑビットにＳＷＡＰを適用する。ただし、これらの演算を並列に行う。
【００８３】
ステップＳ６
第１-ｑビットと第２-ｑビットに角度２π／２２の制御フェイズシフトを適用し、さらにこれらのｑビットにＳＷＡＰを適用する。
【００８４】
ステップＳ７
第１-ｑビットにアダマール変換を適用する。
【００８５】
ステップＳ８
第１-ｑビットと第２-ｑビットにＳＷＡＰを適用する。
【００８６】
ステップＳ９
第２-ｑビットと第３-ｑビットにＳＷＡＰを適用する。
【００８７】
ステップＳ１０
第１-ｑビットと第２-ｑビットにＳＷＡＰを適用する。第３-ｑビットと第４-ｑビットにＳＷＡＰを適用する。ただし、これらの演算を並列に行う。
【００８８】
ステップＳ１１
第２-ｑビットと第３-ｑビットにＳＷＡＰを適用する。
【００８９】
ステップＳ１２
第１-ｑビットと第２-ｑビットにＳＷＡＰを適用する。
【００９０】
ステップＳ１３
第４-ｑビットと第５-ｑビットに角度２π／２２の制御フェイズシフトを適用し、さらにこれらのｑビットにＳＷＡＰを適用する。
【００９１】
ステップＳ１４
第３-ｑビットと第４-ｑビットに角度２π／２３の制御フェイズシフトを適用し、さらにこれらのｑビットにＳＷＡＰを適用する。第５-ｑビットと第６-ｑビットに角度２π／２３の制御フェイズシフトを適用し、さらにこれらのｑビットにＳＷＡＰを適用する。ただし、これらの演算を並列に行う。
【００９２】
ステップＳ１５
第２-ｑビットと第３-ｑビットに角度２π／２４の制御フェイズシフトを適用し、さらにこれらのｑビットにＳＷＡＰを適用する。第４-ｑビットと第５-ｑビットに角度２π／２４の制御フェイズシフトを適用し、さらにこれらのｑビットにＳＷＡＰを適用する。第６-ｑビットと第７-ｑビットに角度２π／２４の制御フェイズシフトを適用し、さらにこれらのｑビットにＳＷＡＰを適用する。ただし、これらの演算を並列に行う。
【００９３】
ステップＳ１６
第１-ｑビットと第２-ｑビットに角度２π／２５の制御フェイズシフトを適用する。第３-ｑビットと第４-ｑビットに角度２π／２５の制御フェイズシフトを適用する。第５-ｑビットと第６-ｑビットに角度２π／２５の制御フェイズシフトを適用する。第７-ｑビットと第８-ｑビットに角度２π／２５の制御フェイズシフトを適用する。ただし、これらの演算を並列に行う。
【００９４】
ステップＳ１７
第２-ｑビットと第３-ｑビットにＳＷＡＰを適用する。第４-ｑビットと第５-ｑビットにＳＷＡＰを適用する。第６-ｑビットと第７-ｑビットにＳＷＡＰを適用する。ただし、これらの演算を並列に行う。
【００９５】
ステップＳ１８
第３-ｑビットと第４-ｑビットにＳＷＡＰを適用する。第５-ｑビットと第６-ｑビットにＳＷＡＰを適用する。ただし、これらの演算を並列に行う。
【００９６】
ステップＳ１９
第４-ｑビットと第５-ｑビットにＳＷＡＰを適用する。
【００９７】
ステップＳ２０
第５-ｑビットにアダマール変換を適用する。
【００９８】
ステップＳ２１
第５-ｑビットと第６-ｑビットに角度２π／２２の制御フェイズシフトを適用し、さらにこれらのｑビットにＳＷＡＰを適用する。
【００９９】
ステップＳ２２
第５-ｑビットにアダマール変換を適用する。第６-ｑビットと第７-ｑビットに角度２π／２３の制御フェイズシフトを適用し、さらにこれらのｑビットにＳＷＡＰを適用する。ただし、これらの演算を並列に行う。
【０１００】
ステップＳ２３
第５-ｑビットと第６-ｑビットに角度２π／２２の制御フェイズシフトを適用し、さらにこれらのｑビットにＳＷＡＰを適用する。第７-ｑビットと第８-ｑビットに角度２π／２４の制御フェイズシフトを適用し、さらにこれらのｑビットにＳＷＡＰを適用する。ただし、これらの演算を並列に行う。
【０１０１】
ステップＳ２４
第５-ｑビットにアダマール変換を適用する。第６-ｑビットと第７-ｑビットに角度２π／２３の制御フェイズシフトを適用し、さらにこれらのｑビットにＳＷＡＰを適用する。ただし、これらの演算を並列に行う。
【０１０２】
ステップＳ２５
第５-ｑビットと第６-ｑビットに角度２π／２２の制御フェイズシフトを適用し、さらにこれらのｑビットにＳＷＡＰを適用する。
【０１０３】
ステップＳ２６
第５-ｑビットにアダマール変換を適用する。
【０１０４】
ステップＳ２７
第５-ｑビットと第６-ｑビットにＳＷＡＰを適用する。
【０１０５】
ステップＳ２８
第６-ｑビットと第７-ｑビットにＳＷＡＰを適用する。
【０１０６】
ステップＳ２９
第５-ｑビットと第６-ｑビットにＳＷＡＰを適用する。第７-ｑビットと第８-ｑビットにＳＷＡＰを適用する。ただし、これらの演算を並列に行う。
【０１０７】
ステップＳ３０
第６-ｑビットと第７-ｑビットにＳＷＡＰを適用する。
【０１０８】
ステップＳ３１
第５-ｑビットと第６-ｑビットにＳＷＡＰを適用する。
【０１０９】
〔量子演算装置〕
次に、本発明の量子回路に則って近似量子フーリエ変換を行う量子演算装置について説明する。本発明の量子演算装置は、本発明の量子回路から明らかなように、ｎより小さな数を法とする量子フーリエ変換を行う量子演算部、ＳＷＡＰ演算を行う量子演算部、あるいは従来的な量子回路（３）で量子フーリエ変換を行う量子演算部で構成される。さらに、これらの量子演算部は、１量子ビット演算を行う量子演算部および近傍２量子ビット演算を行う量子演算部からなる。つまり、本発明の量子回路に示した量子ゲートが、量子演算装置の量子演算部に相当する。
【０１１０】
量子演算装置は、量子コンピュータ単体で実現できる。量子コンピュータの実現する物理系としては、例えば、イオントラップを用いる方法（J. I. Cirac and P. Zoller, Quantum computations with cold trapped ions, Physical Review Letter 74;4091, 1995）、量子ビットとして光子の偏光や光路を用いる方法（Y. Nakamura, M. Kitagawa, K. Igeta, In 3-rd Proc. Asia-Pacific Phys. Comf., World Scientific, Singapore, 1988）、液体中の各スピンを用いる方法（Gershenfield, Chuang, Bulk spin resonance quantum computation, Science, 275;350, 1997）、シリコン結晶中の核スピンを用いる方法（B. E. Kane, A silicon-based nuclear spin quantum computer, Nature 393, 133, 1998）、量子ドット中の電子スピンを用いる方法（D. Loss and D. P. DiVincenzo, Quantum computation with quantum dots, Physical Review A 57, 120-126, 1998）、超伝導素子を用いる方法（Y. Nakamura, Yu. A. Pashkin and J. S. Tsai, Coherent control of macroscopic quantum states in a single-cooper pair box, Nature 393, 786-788, 1999）等を例示できる。また、それぞれの物理系に対する量子コンピュータの実現方法については、「http://www.ipa.go.jp/security/fy11/report/contents/crypto/crypto/report/QuantumComputers/contents/doc/qc_survey.pdf」や「M. A. Nielsen and I. L. Chuang, Quantum Computation and Quantum Information, Cambridge University Press, Chapter 7 Physical Realization」に詳しい。
【０１１１】
＜量子ビット＞
イオントラップ量子コンピュータでは、例えば、イオンの基底状態と励起状態を利用して量子ビットを実現する。また、核スピンを量子ビットとして用いる場合には、例えば、「T. D. Ladd, et al., "All-Silicon quantum computer," Phys. Rev. Lett., vol. 89, no. 1, 017901-1‐017901-4, July 1, 2002.」に記載されているようにＳｉ（１１１）基板等に各量子ビットを生成する。なお、量子ビットの初期量子状態は、例えば、他の演算の量子回路による操作によって得られたものを用いてもよいし、各量子ビットが生成された基板をｍＫ（ミリケルビン）オーダー以下に冷却してスピンの向きを揃えた後、所定の電磁波パルスを印加して生成してもよい。また、量子ビットとして光子の偏光を用いる場合には、例えば、パラメトリックダウンコンバージョン（ＰＤＣ：parametric down conversion）（例えば、「P. G. Kwiat, K. Mattle, H. Weinfurter, A. Zeilinger, A. V. Sergienko, and Y. Shih, “New high-intensity source of polarization-entangled photon pairs,” Phys. Rev. Lett. ,75:4337-4341, 1995.」「P. G. Kwiat, E. Waks, A. G. White, I. Appelbaum, and P. H. Eberhard, “Ultrabright source of polarization-entangled photons,” Phys. Rev. A, 60:R773-R776, 1999.」等参照。）によって生成された複数個の単一光子を用いる。この場合、各量子ビットの初期量子状態は、例えば、他の演算の量子回路による操作によって得られたものを用いる。また、パラメトリックダウンコンバージョン等によって生成された単一光子に、ビームスプリッタや偏光回転素子等によって実現されるウォルシューアダマール変換、ＣＮＯＴ、回転等の操作を行い、上述の初期量子状態を生成することとしてもよい。
その他、上記の文献に記載された方法で量子ビットを用意することとしてもよい。
【０１１２】
また、演算前後や演算途中において量子ビットの量子状態を保存する必要がある場合には、例えば、量子ドット内の電子準位、核スピン、あるいは超伝導体内部の電荷（クーパー対）量を量子ビットとして用いてデータを保存する量子メモリ等を用いてもよい（A.Barenco, D.Deutsch, and A.Ekert, Phys. Rev. Lett.74,4083(1995)、松枝秀明  電子情報通信学会誌  A Vol.J81-A No.12(1998)1978、T.H.Oosterkamp et.al., Nature 395,873(1998)、D.Loss and D.P. DiVincenzo, Phys. Rev. A57(1998) 120. T.Oshima, quant-ph/0002004, http://arxiv.org/abs/quant-ph/0002004、B.E.Kane, A silicon-based nuclear spin quantum computer, Nature, 393, 133(1998)、http://www.snf.unsw.edu.au/、Y.Nakamura, Yu. A. Pashkin and J.S.Tsai, Nature 398(1999)768）。
【０１１３】
＜ＣＮＯＴ演算＞
イオントラップ量子コンピュータでは、例えば、イオンを直線上に並べ、各イオンに狙いを定めたレーザービーム照射によってＣＮＯＴ演算を実現する。また、量子ビットとして光子の偏光を用いる場合には、例えば、偏光ビームスプリッタ等を用い、「T.B. Pittman, M.J. Fitch, B.C. Jacobs, J.D. Franson: “Experimental Controlled-NOT Logic Gate for Single Photons in the Coincidence Basis,” quant-ph/0303095, http://arxiv.org/abs/quant-ph/0303095」記載のPittman et al. 方式によってＣＮＯＴ演算を実現する。また、核スピンを量子ビットとして用いる場合には、例えば、所定の電磁波パルスを量子ビットに印加することによってＣＮＯＴ演算を実現できる。
その他、上記の文献に記載された方法でＣＮＯＴ演算を実現してもよい。
【０１１４】
＜量子ビット単体操作＞
イオントラップ量子コンピュータでは、例えば、イオンを直線上に並べ、各イオンに狙いを定めたレーザービーム照射によって量子ビット単体の操作を実現する。核スピンを量子ビットとして用いる場合には、電磁波パルスやレーザービーム照射によって各処理を実現する。また、量子ビットとして光子の偏光を用いる場合には、例えば、偏光回転素子等によって実現する。
【０１１５】
なお、本発明は上述の実施の形態に限定されるものではなく、その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。また、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
【０１１６】
ところで、本発明の量子回路に則って量子演算を行う手順自体は、古典コンピュータで決定することができる。
つまり、本発明の量子回路に則って量子演算を行う手順は、本発明の量子回路を入力側から出力側に向かって順に行う各計算ステップであるから、本発明の量子回路を構成した後、この量子回路の入力側から出力側に向かって順に行う各計算ステップを、量子演算を行う手順として決定できる。
【０１１７】
具体的には、例えば図１９で示した量子回路を例とすると、符号α１〜α６の各量子回路における量子演算を行う手順をそれぞれ決定し（この手順は、上述した符号α１〜α６の各量子回路の構成方法そのものである。ただし、符号α１およびα６の各量子回路については自己相似的に分解して繰り返しの構成となる。いずれにしても以上において説明したとおりである。）、さらに、角度２π／２ｔ（ｔ＞ｍ）の制御フェイズシフトを恒等変換に置換して、相殺されるＳＷＡＰの演算手順を除外し、各量子回路で決定された量子演算を行う手順を、完成した量子回路（この例では図２２に相当する。）の入力側から出力側に向かって順に手順を並べることで、本発明の量子回路に則って量子演算を行う手順を決定できる。ただし、１計算ステップで並行演算可能であれば、これらの演算を並行するものを１手順とすればよい。
換言すれば、この古典コンピュータは、図２７から図３２に示したステップＳ１〜ステップＳ３１の手順を決定して出力するものといえる。
【０１１８】
このような古典コンピュータ、つまり、本発明の近似量子フーリエ変換を行う量子回路における量子演算の手順を決定する近似量子フーリエ変換演算手順決定装置は、いわゆる古典的な装置構成で実現される。例えばパーソナルコンピュータに例示されるように、記憶装置（例えばＲＡＭ、ＲＯＭやハードディスク）、演算処理装置（例えばＣＰＵ）、入力・出力装置（例えばキーボード、ディスプレイ）、これらの装置間でデータのやり取りが可能に接続するバスなどを備えた古典コンピュータによって実現することができる。
この場合、例えば図１９の例で符号α１〜α６の各量子回路における量子演算を行う手順をそれぞれ決定するための各プログラム、角度２π／２ｔ（ｔ＞ｍ）の制御フェイズシフトを恒等変換に置換して、相殺されるＳＷＡＰの演算手順を除外するためのプログラム、各量子回路で決定された量子演算を行う手順を完成した量子回路（この例では図２２に相当する。）の入力側から出力側に向かって順に手順を並べるためのプログラム記憶装置に記憶しておき、必要に応じて演算処理装置がプログラムを読み込んで解釈実行することで、符号α１〜α６の各量子回路における量子演算を行う手順をそれぞれ決定する各機能、角度２π／２ｔ（ｔ＞ｍ）の制御フェイズシフトを恒等変換に置換して、相殺されるＳＷＡＰの演算手順を除外する機能、各量子回路で決定された量子演算を行う手順を完成した量子回路の入力側から出力側に向かって順に手順を並べる機能を実現する。また各プログラムは、コンピュータ読み取り可能な記録媒体（例えばＣＤ−Ｒ、ＤＶＤ−ＲＡＭ、ＭＯ）に記録することもできる。
【産業上の利用可能性】
【０１１９】
本発明の利用分野としては、例えば、位相推定や量子暗号などに用いられる。
【図面の簡単な説明】
【０１２０】
【図１】２８を法とする近似でない量子フーリエ変換を行う量子回路（従来例）。
【図２】アダマール変換の量子回路。
【図３】制御フェイズシフトの量子回路。
【図４】制御フェイズシフトの量子回路。
【図５】近傍２量子ビット演算を用いた、２８を法とする近似でない量子フーリエ変換を行う量子回路（従来例）。
【図６】ＳＷＡＰの量子回路。
【図７】ＣＮＯＴの量子回路。
【図８】ＩＮＶの量子回路。
【図９】近似の閾値を５として、近傍２量子ビット演算を用いた、２８を法とする近似量子フーリエ変換を行う量子回路（従来例）。
【図１０】自己相似的に分解して構成した、２８を法とする近似でない量子フーリエ変換を行う量子回路。
【図１１】自己相似的に分解して構成した、２４を法とする近似でない量子フーリエ変換を行う量子回路。
【図１２】自己相似的に分解して構成した、２２を法とする近似でない量子フーリエ変換を行う量子回路。
【図１３】自己相似的に分解して構成した、２１を法とする近似でない量子フーリエ変換を行う量子回路。
【図１４】自己相似的に分解して構成した、２７を法とする近似でない量子フーリエ変換を行う量子回路〔パターン１〕。
【図１５】自己相似的に分解して構成した、２３を法とする近似でない量子フーリエ変換を行う量子回路〔パターン１〕。
【図１６】自己相似的に分解して構成した、２７を法とする近似でない量子フーリエ変換を行う量子回路〔パターン２〕。
【図１７】自己相似的に分解して構成した、２３を法とする近似でない量子フーリエ変換を行う量子回路〔パターン２〕。
【図１８】本発明の量子回路の構成概念図。
【図１９】自己相似的に分解して構成した、近傍２量子ビット演算を用いた２８を法とする近似でない量子フーリエ変換を行う量子回路。
【図２０】自己相似的に分解して構成した、近傍２量子ビット演算を用いた２７を法とする近似でない量子フーリエ変換を行う量子回路（パターン１）。
【図２１】自己相似的に分解して構成した、近傍２量子ビット演算を用いた２７を法とする近似でない量子フーリエ変換を行う量子回路（パターン２）。
【図２２】近似の閾値を５として、自己相似的に分解して構成した、近傍２量子ビット演算を用いた２８を法とする近似でない量子フーリエ変換を行う量子回路。
【図２３】近似の閾値を５として、自己相似的に分解して構成した、近傍２量子ビット演算を用いた２７を法とする近似でない量子フーリエ変換を行う量子回路（パターン１）。
【図２４】近似の閾値を５として、自己相似的に分解して構成した、近傍２量子ビット演算を用いた２７を法とする近似でない量子フーリエ変換を行う量子回路（パターン２）。
【図２５】近傍２量子ビット演算を用いた、２４を法とする近似でない量子フーリエ変換を行う量子回路。
【図２６】近傍２量子ビット演算を用いた、２３を法とする近似でない量子フーリエ変換を行う量子回路。
【図２７】図２２に示した量子回路における量子演算方法のフロー図（その１）。
【図２８】図２２に示した量子回路における量子演算方法のフロー図（その２）。
【図２９】図２２に示した量子回路における量子演算方法のフロー図（その３）。
【図３０】図２２に示した量子回路における量子演算方法のフロー図（その４）。
【図３１】図２２に示した量子回路における量子演算方法のフロー図（その５）。
【図３２】図２２に示した量子回路における量子演算方法のフロー図（その６）。
【符号の説明】
【０１２１】
１    近似量子フーリエ変換を行う量子回路
【図１】
2008052365.tif 000007
【図２】
2008052365.tif 000008
【図３】
2008052365.tif 000009
【図４】
2008052365.tif 000010
【図５】
2008052365.tif 000011
【図６】
2008052365.tif 000012
【図７】
2008052365.tif 000013
【図８】
2008052365.tif 000014
【図９】
2008052365.tif 000015
【図１０】
2008052365.tif 000016
【図１１】
2008052365.tif 000017
【図１２】
2008052365.tif 000018
【図１３】
2008052365.tif 000019
【図１４】
2008052365.tif 000020
【図１５】
2008052365.tif 000021
【図１６】
2008052365.tif 000022
【図１７】
2008052365.tif 000023
【図１８】
2008052365.tif 000024
【図１９】
2008052365.tif 000025
【図２０】
2008052365.tif 000026
【図２１】
2008052365.tif 000027
【図２２】
2008052365.tif 000028
【図２３】
2008052365.tif 000029
【図２４】
2008052365.tif 000030
【図２５】
2008052365.tif 000031
【図２６】
2008052365.tif 000032
【図２７】
2008052365.tif 000033
【図２８】
2008052365.tif 000034
【図２９】
2008052365.tif 000035
【図３０】
2008052365.tif 000036
【図３１】
2008052365.tif 000037
【図３２】
2008052365.tif 000038