量子回路
[Wikipedia|▼Menu]
.mw-parser-output .ambox{border:1px solid #a2a9b1;border-left:10px solid #36c;background-color:#fbfbfb;box-sizing:border-box}.mw-parser-output .ambox+link+.ambox,.mw-parser-output .ambox+link+style+.ambox,.mw-parser-output .ambox+link+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+style+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+link+.ambox{margin-top:-1px}html body.mediawiki .mw-parser-output .ambox.mbox-small-left{margin:4px 1em 4px 0;overflow:hidden;width:238px;border-collapse:collapse;font-size:88%;line-height:1.25em}.mw-parser-output .ambox-speedy{border-left:10px solid #b32424;background-color:#fee7e6}.mw-parser-output .ambox-delete{border-left:10px solid #b32424}.mw-parser-output .ambox-content{border-left:10px solid #f28500}.mw-parser-output .ambox-style{border-left:10px solid #fc3}.mw-parser-output .ambox-move{border-left:10px solid #9932cc}.mw-parser-output .ambox-protection{border-left:10px solid #a2a9b1}.mw-parser-output .ambox .mbox-text{border:none;padding:0.25em 0.5em;width:100%;font-size:90%}.mw-parser-output .ambox .mbox-image{border:none;padding:2px 0 2px 0.5em;text-align:center}.mw-parser-output .ambox .mbox-imageright{border:none;padding:2px 0.5em 2px 0;text-align:center}.mw-parser-output .ambox .mbox-empty-cell{border:none;padding:0;width:1px}.mw-parser-output .ambox .mbox-image-div{width:52px}html.client-js body.skin-minerva .mw-parser-output .mbox-text-span{margin-left:23px!important}@media(min-width:720px){.mw-parser-output .ambox{margin:0 10%}}

この記事には参考文献外部リンクの一覧が含まれていますが、脚注によって参照されておらず、情報源が不明瞭です。脚注を導入して、記事の信頼性向上にご協力ください。(2023年9月)

量子情報理論における量子回路(りょうしかいろ)とは、量子ゲートの組み合わせにより記述される量子計算モデルである。古典的コンピュータの回路がビットレジスタの不可逆変換であるのに対し、量子回路は量子ビットレジスタの可逆変換を行う。各回路素子である量子ゲートやそれらの間の結合を表現するための記法として、 現在主にペンローズのグラフィカル記法が用いられている。
可逆な古典的論理ゲート

一般に、NOTゲート以外の古典的コンピュータの基本論理ゲート不可逆演算であり、入力から出力にかけて情報が失われる。たとえば2入力ANDゲートにおいて出力ビットが0であったという結果のみから、それが01, 10, 00のどの入力ビットの組み合わせから得られたものなのか知ることは不可能である。

ただし、古典的コンピュータにおいても、NOTゲートに代表されるように、任意の長さのビット列に対して可逆ゲートを構成することができないわけではない。理想的には、可逆ゲートは情報の損失と物理学的エントロピーの増加に伴う電力消費や熱損失の問題を生じないため、応用面でも関心が寄せられている。一般に可逆ゲートは、ビット列を入力として受け取り、同じ長さのビット列を出力する可逆な関数として表される。長さnのビット列は、0と1だけで構成される文字列x1x2 ... xn∈{0,1}nとして表現され、このようなビット列は全部で2n通り存在する。

より厳密には、可逆ゲートとは、ビット列の集合{0,1}nから自身への全単射写像fとして表現される。このような可逆ゲートfの例としては、たとえば入力に定められた置換を適用する写像などが挙げられる。現在、こうした置換を用いて可逆な古典的論理ゲートを構成する手法は、真偽表などを用いて簡単に表現できる範囲の小さいn(例: n = 1, 2, 3)についてのみ研究されている。
量子論理ゲート

量子ゲートを定義するため、古典的論理ゲートの場合と同様、n-量子ビットの置換について考える。 古典的なビット列空間{0,1}nの量子版はヒルベルト空間である。 H QB ⁡ ( n ) = ℓ 2 ( { 0 , 1 } n ) . {\displaystyle H_{\operatorname {QB} (n)}=\ell ^{2}(\{0,1\}^{n}).}

これは定義により、{0,1}nの複素関数空間、すなわち内積空間である。 この空間は、古典的なビット文字列の線形重ね合わせで構成されていると見なすこともできる。(H QB( n )は、 2n-次元の複素のベクトル空間であることに注意。)この空間の要素を量子ビット列(n-量子ビット)と呼ぶ。

古典的ビット列x 1 x 2 ... x nに対し、ディラックのケット表記を使用し表記される量子ビット列、 。 x 1 , x 2 , ⋯ , x n ⟩ {\displaystyle |x_{1},x_{2},\cdots ,x_{n}\rangle \quad }

を考える。これは古典的ビット列x 1 x 2 ... x nを1へ、他のすべてのビット文字列を0へ写す関数に対応する特殊な量子ビット列である。これら古典的ビット列に対応する特殊な量子ビット列は計算基底状態と呼ばれ、ビット長nに対し2n個存在する。また、すべての量子ビット列は、これらの計算基底状態の複素線形結合である。

古典的な論理ゲートとは対照的に、量子論理ゲートは常に可逆である。 これには特別な種類の可逆関数、すなわちユニタリ作用素、つまりエルミート内積を保存する複素内積空間の線形変換を用いる。 すべての量子ビット列に対する(可逆)量子ゲートは、n-量子ビット空間HQB(n)から自己へのユニタリ作用素Uである。

通常、我々はnの小さな値のゲートのみに関心がある。

可逆なn-ビットの古典的論理回路は、次のように可逆なn-ビット量子ゲートを生成する。可逆なnビット論理ゲートfには、次のように定義された量子ゲートW fが対応する。 W f ( 。 x 1 , x 2 , ⋯ , x n ⟩ ) = 。 f ( x 1 , x 2 , ⋯ , x n ) ⟩ . {\displaystyle W_{f}(|x_{1},x_{2},\cdots ,x_{n}\rangle )=|f(x_{1},x_{2},\cdots ,x_{n})\rangle .}

Wfは計算の基底状態を置換することに注意。

中でも特に重要なのは、2-量子ビットの入出力に対して定義される制御NOTゲート( CNOTゲートとも呼ばれる) W CNOTである。 古典的な論理ゲートから派生した量子論理ゲートの他の例としては、 トフォリゲートフレドキンゲートが挙げられる。

しかし、量子ビットのヒルベルト空間構造は、古典的ゲートでは表現できない多くの量子ゲートを可能にする。 たとえば以下の相対位相シフトは、ユニタリ行列の乗算によって与えられる1-量子ビットのゲートである。 U θ = [ e i θ 0 0 1 ] , {\displaystyle U_{\theta }={\begin{bmatrix}e^{i\theta }&0\\0&1\end{bmatrix}},}

すなわち、 U θ 。 0 ⟩ = e i θ 。 0 ⟩ U θ 。 1 ⟩ = 。 1 ⟩ . {\displaystyle U_{\theta }|0\rangle =e^{i\theta }|0\rangle \quad U_{\theta }|1\rangle =|1\rangle .}
可逆論理回路

再び、最初の「可逆な」古典計算について考える。 概念的には、可逆なnビット回路と可逆なnビット論理ゲートの間に違いはない。なぜならどちらも、 nビット列空間上の単なる可逆関数だからである。 ただし前節で述べたように、工学的な理由から、可逆回路を構成するために組み合わせられる少数の単純な可逆ゲートが必要である。

この構成の過程を説明するために、可逆なn-ビットゲートfと、可逆なm-ビットゲートgがあるとする。 これらを合成することは、次の図のように、 fのk-ビットの出力を、gのk-ビットの入力に接続して新しい回路を作成することを意味する。 以下の例では、 n = 5, k = 3, m = 7である。 結果の回路も可逆で、(n +m-k)-ビットで動作する。

この方法は古典的結合(classical assemblage)と呼ばれる。(この概念は、以下に引用するKitaevの先駆的な論文の技術的定義に対応している。)。これらの可逆機械を構成するために、中間的な機械も可逆であることを確認することが重要である。 この条件は、 計算の途中で「ゴミ」が生成されないことを保証する。(正味の物理的効果は、エントロピーを増加させることである。これは、この演習を行う動機の1つである。)

これで、 トフォリゲートが汎用ゲートであることを示すことができる。 これは、任意の可逆的な古典的なnビット回路hが与えられた場合、上記の方法でトフォリゲートの古典的結合により、次のような( n + m )ビット回路fを生成できることを意味する。 f ( x 1 , … , x n , 0 , … , 0 ⏟ m ) = ( y 1 , … , y n , 0 , … , 0 ⏟ m ) {\displaystyle f(x_{1},\ldots ,x_{n},\underbrace {0,\dots ,0} _{m})=(y_{1},\ldots ,y_{n},\underbrace {0,\ldots ,0} _{m})}

さらに次式が成立する。 ( y 1 , … , y n ) = h ( x 1 , … , x n ) {\displaystyle (y_{1},\ldots ,y_{n})=h(x_{1},\ldots ,x_{n})} .

この最終結果では、常に補助ビットとしてm個のゼロの文字列があることに注意。 いわゆる「ゴミ」は生成されないため、この計算は実際には、物理学的エントロピーを増加させない。 この問題は、Kitaevの論文で注意深く説明されている。

より一般に、任意の関数f は、(全単射・それ以外どちらであっても)トフォリゲートのみ回路によって模倣できることが知られている。 写像が単射でない場合は、計算途中(たとえば、最後のステップ)で「ゴミ」が生成されることは明らかである。


次ページ
記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:53 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef