Basic circuit in quantum computing
一般的な量子論理ゲートの名称(略称を含む)、回路形式、および対応するユニタリ行列 量子コンピューティング 、特に 量子回路 計算モデル において 、 量子論理ゲート (または単に 量子ゲート )は、少数の 量子ビットで動作する基本的な量子回路です。量子論理ゲートは、従来のデジタル回路における古典 論理ゲート と同様に、量子回路の構成要素です 。
多くの古典論理ゲートとは異なり、量子論理ゲートは 可逆 です。可逆ゲートのみを用いて古典計算を実行することが可能です。例えば、可逆な トフォリゲートは、 補助ビットの 使用を犠牲にしつつも、あらゆる ブール関数 を実装できます 。トフォリゲートには量子ゲートと同等のゲートが存在し、量子回路は古典回路で実行されるすべての演算を実行できることを示しています。
量子ゲートは ユニタリ演算子 であり、何らかの 直交 基底 に対する ユニタリ行列 として記述されます。通常は 計算基底 が用いられますが、これは何かと比較しない限り、 d レベル量子システム( 量子ビット 、 量子レジスタ、 量子トリット、 量子 ディットなど ) [1] : 22–23 の場合、 直交 基底 ベクトルは とラベル付けされる か 、 2進表記 が用いられます。 | 0 ⟩ , | 1 ⟩ , … , | d − 1 ⟩ {\displaystyle |0\rangle ,|1\rangle ,\dots ,|d-1\rangle }
歴史 量子 ゲートの現在の表記法は、 アドリアーノ・バレンコ、 チャールズ・ベネット 、 リチャード・クレーブ 、 デビッド・P・ディヴィンチェンツォ 、 ノーマン・マーゴラス 、ピーター・ ショア 、ティコ・スレイター、 ジョン・A・スモーリン 、ハラルド・ウェインフルターなど、量子情報科学の創始者たちによって開発され、 [2] リチャード・ファインマンが 1986年に 導入した表記法に基づいている。 [3]
表現 エンタングルされ ておらず 、 グローバル 位相がない単一 量子ビットの状態は、 ブロッホ球 の表面上の点として表すことができ 、 次のように記述されます。ブロッホ球の x、y、z軸の周りの回転は、 回転演算子ゲート によって表されます 。 | ψ ⟩ = cos ( θ / 2 ) | 0 ⟩ + e i φ sin ( θ / 2 ) | 1 ⟩ . {\displaystyle |\psi \rangle =\cos \left(\theta /2\right)|0\rangle +e^{i\varphi }\sin \left(\theta /2\right)|1\rangle .} 量子論理ゲートはユニタリ行列 によって表される。 量子ビット に作用するゲート ( レジスタ ) はユニタリ行列 によって表され 、 行列乗算の群演算 [a] を伴うそのようなゲートすべての 集合は ユニタリ群 U(2 n )である 。 [2] ゲートが作用する量子状態は複素次元の単位ベクトルであり 、 複素 ユークリッド ノルム ( 2 ノルム ) を持つ 。 [ 4 ] : 66 [5] : 56, 65 基底 ベクトル ( 固有状態 と呼ばれることもある) は量子ビットの状態を 測定 した場合に起こり得る結果であり、量子状態はこれらの結果の 線形結合 である。最も一般的な量子ゲートは1 または 2 量子ビットの ベクトル空間で動作する。これは、一般的な 古典論理ゲートが1 または 2 ビット で動作するの と同様である 。 n {\displaystyle n} 2 n × 2 n {\displaystyle 2^{n}\times 2^{n}} 2 n {\displaystyle 2^{n}}
量子論理ゲートは連続対称群 に属しているものの 、実際の ハードウェアは 不正確であり、したがって精度に限界があります。ゲートの適用は通常、誤差を生じ、 量子状態の忠実度は 時間の経過とともに低下します。 誤り訂正 を使用する場合、使用可能なゲートはさらに有限の集合に制限されます。 [4] : ch. 10 [1] : ch. 14 本稿の後半では、理想的な量子ゲートの特性に焦点を当てるため、この点は無視されます。
量子状態は通常、ブラ・ケット と呼ばれる表記法の「ケット」で表されます 。
単一量子ビット のベクトル表現 は
| a ⟩ = v 0 | 0 ⟩ + v 1 | 1 ⟩ → [ v 0 v 1 ] . {\displaystyle |a\rangle =v_{0}|0\rangle +v_{1}|1\rangle \rightarrow {\begin{bmatrix}v_{0}\\v_{1}\end{bmatrix}}.} ここで、 およびは量子ビットの 複素 確率振幅 です。これらの値は、量子ビットの状態を測定する際に、0または1を測定する確率を決定します。詳細は以下の測定を参照してください。 v 0 {\displaystyle v_{0}} v 1 {\displaystyle v_{1}}
値 0 は ket で表され 、 値 1 は ket で表されます 。 | 0 ⟩ = [ 1 0 ] {\displaystyle |0\rangle ={\begin{bmatrix}1\\0\end{bmatrix}}} | 1 ⟩ = [ 0 1 ] {\displaystyle |1\rangle ={\begin{bmatrix}0\\1\end{bmatrix}}}
テンソル 積 (または クロネッカー積)は量子状態を結合するために使用されます。 量子ビットレジスタ の結合状態は、 構成量子ビットのテンソル積です。テンソル積は記号 で表されます 。 ⊗ {\displaystyle \otimes }
2つの量子ビットのベクトル表現は次の通りである: [6]
| ψ ⟩ = v 00 | 00 ⟩ + v 01 | 01 ⟩ + v 10 | 10 ⟩ + v 11 | 11 ⟩ → [ v 00 v 01 v 10 v 11 ] . {\displaystyle |\psi \rangle =v_{00}|00\rangle +v_{01}|01\rangle +v_{10}|10\rangle +v_{11}|11\rangle \rightarrow {\begin{bmatrix}v_{00}\\v_{01}\\v_{10}\\v_{11}\end{bmatrix}}.} 特定の量子状態に対するゲートの作用は、状態を表すベクトル とゲートを表す行列 を乗算することで求められます 。 その 結果 、新しい量子状態 が得られます 。 | ψ 1 ⟩ {\displaystyle |\psi _{1}\rangle } U {\displaystyle U} | ψ 2 ⟩ {\displaystyle |\psi _{2}\rangle }
U | ψ 1 ⟩ = | ψ 2 ⟩ . {\displaystyle U|\psi _{1}\rangle =|\psi _{2}\rangle .}
時間発展演算子との関係 シュレー ディンガー方程式は、 観測され ない量子系が 時間の経過とともにどのように発展するかを記述するものであり、 システムが安定した環境にある場合、一定の ハミルトニアンを 持ち、この方程式の解は [1] : 24–25 です。時間 が常に同じ場合は、簡単にするために省略することができ、量子状態が発展する方法は、 上記のセクションと同じように記述できます。 i ℏ d d t | Ψ ⟩ = H ^ | Ψ ⟩ . {\displaystyle i\hbar {\frac {d}{dt}}|\Psi \rangle ={\hat {H}}|\Psi \rangle .} U ( t ) = e − i H ^ t / ℏ . {\displaystyle U(t)=e^{-i{\hat {H}}t/\hbar }.} t {\displaystyle t} U | ψ 1 ⟩ = | ψ 2 ⟩ , {\displaystyle U|\psi _{1}\rangle =|\psi _{2}\rangle ,}
つまり、量子ゲートとは、観測されていない量子システムが特定の時間にわたってどのように進化するか、あるいはそれと同等に、ゲートとは、特定の期間にわたって量子状態に作用するユニタリ 時間進化 演算子です 。 U {\displaystyle U}
注目すべき例 ゲートは 無数に 存在します。そのいくつかは様々な著者によって命名されており、 [1] [2] [4] [5] [7] [8] [9] 、以下は文献で最もよく使われるゲートの一部です。
アイデンティティゲート 恒等ゲートは 恒等行列 であり、通常 I と表記され、単一量子ビットに対して次のように定義される。
I = [ 1 0 0 1 ] , {\displaystyle I={\begin{bmatrix}1&0\\0&1\end{bmatrix}},} ここで、 I は基底に依存しず、量子状態を変更しません。恒等ゲートは、様々なゲート操作の結果を数学的に記述する場合や、マルチ量子ビット回路を議論する場合に最も有用です。
パウリ門( X 、 はい 、 Z )
量子ゲート(上から下へ):恒等ゲート、NOTゲート、パウリY、パウリZ
パウリゲートは 3つの パウリ行列 であり、1つの量子ビットに作用します。パウリ X 、 Y 、 Zはそれぞれ、 ブロッホ球面の x 、 y 、 z 軸を中心 としたラジアン 回転に相当します 。 [b] ( X , Y , Z ) {\displaystyle (X,Y,Z)} ( σ x , σ y , σ z ) {\displaystyle (\sigma _{x},\sigma _{y},\sigma _{z})} π {\displaystyle \pi }
パウリ Xゲートは、 ブロッホ球面上の z 軸 を区別する標準基底 , に関して 、古典コンピュータの NOTゲート の量子等価物です。 を に、 を に マッピングするため、ビットフリップと呼ばれることもあります 。同様に、パウリ Y ゲートは を に 、 をにマッピングします 。パウリ Z ゲートは基底状態 を変更せず、 にマッピングします 。 この性質から、パウリ Z ゲートは位相フリップと呼ばれることもあります。 | 0 ⟩ {\displaystyle |0\rangle } | 1 ⟩ {\displaystyle |1\rangle } | 0 ⟩ {\displaystyle |0\rangle } | 1 ⟩ {\displaystyle |1\rangle } | 1 ⟩ {\displaystyle |1\rangle } | 0 ⟩ {\displaystyle |0\rangle } | 0 ⟩ {\displaystyle |0\rangle } i | 1 ⟩ {\displaystyle i|1\rangle } | 1 ⟩ {\displaystyle |1\rangle } − i | 0 ⟩ {\displaystyle -i|0\rangle } | 0 ⟩ {\displaystyle |0\rangle } | 1 ⟩ {\displaystyle |1\rangle } − | 1 ⟩ {\displaystyle -|1\rangle }
これらの行列は通常次のように表される。
X = σ x = NOT = [ 0 1 1 0 ] , {\displaystyle X=\sigma _{x}=\operatorname {NOT} ={\begin{bmatrix}0&1\\1&0\end{bmatrix}},} Y = σ y = [ 0 − i i 0 ] , {\displaystyle Y=\sigma _{y}={\begin{bmatrix}0&-i\\i&0\end{bmatrix}},} Z = σ z = [ 1 0 0 − 1 ] . {\displaystyle Z=\sigma _{z}={\begin{bmatrix}1&0\\0&-1\end{bmatrix}}.} パウリ行列は 逆行列 であり、パウリ行列の平方は 単位行列 であることを意味します。
I 2 = X 2 = Y 2 = Z 2 = − i X Y Z = I {\displaystyle I^{2}=X^{2}=Y^{2}=Z^{2}=-iXYZ=I} パウリ行列も 反交換性を持つ 。例えば Z X = i Y = − X Z . {\displaystyle ZX=iY=-XZ.}
パウリ行列の 指数行列 は 回転演算子 であり 、次のように表記されることが多い。 σ j {\displaystyle \sigma _{j}} e − i σ j θ / 2 . {\displaystyle e^{-i\sigma _{j}\theta /2}.}
制御ゲート 制御U ゲート の回路図 制御ゲートは2つ以上の量子ビットに作用し、そのうち1つ以上の量子ビットが何らかの演算の制御として作用する。 [2] 例えば、 制御NOTゲート (またはCNOT、CX)は2つの量子ビットに作用し、最初の量子ビットが の場合にのみ2番目の量子ビットに対してNOT演算を実行し 、それ以外の場合は変更しない。基底 、 、 、 に関して 、これは エルミート ユニタリ 行列で表される 。 | 1 ⟩ {\displaystyle |1\rangle } | 00 ⟩ {\displaystyle |00\rangle } | 01 ⟩ {\displaystyle |01\rangle } | 10 ⟩ {\displaystyle |10\rangle } | 11 ⟩ {\displaystyle |11\rangle }
CNOT = [ 1 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 ] . {\displaystyle {\mbox{CNOT}}={\begin{bmatrix}1&0&0&0\\0&1&0&0\\0&0&0&1\\0&0&1&0\end{bmatrix}}.} CNOT (または制御パウリ X ) ゲートは、基底状態 (XOR ) を マップするゲートとして説明できます 。 | a , b ⟩ ↦ | a , a ⊕ b ⟩ {\displaystyle |a,b\rangle \mapsto |a,a\oplus b\rangle } ⊕ {\displaystyle \oplus }
CNOT は パウリ基底 で次のように表すことができます。
CNOT = e i π 4 ( I − Z 1 ) ( I − X 2 ) = e − i π 4 ( I − Z 1 ) ( I − X 2 ) . {\displaystyle {\mbox{CNOT}}=e^{i{\frac {\pi }{4}}(I-Z_{1})(I-X_{2})}=e^{-i{\frac {\pi }{4}}(I-Z_{1})(I-X_{2})}.} CNOT はエルミート ユニタリ演算子であるため、 および で あり、 が 逆比例であるという 特性を持ちます 。 e i θ U = ( cos θ ) I + ( i sin θ ) U {\displaystyle e^{i\theta U}=(\cos \theta )I+(i\sin \theta )U} U = e i π 2 ( I − U ) = e − i π 2 ( I − U ) {\displaystyle U=e^{i{\frac {\pi }{2}}(I-U)}=e^{-i{\frac {\pi }{2}}(I-U)}}
より一般的には、 Uが 行列表現を持つ単一量子ビット上で動作するゲートである
場合
U = [ u 00 u 01 u 10 u 11 ] , {\displaystyle U={\begin{bmatrix}u_{00}&u_{01}\\u_{10}&u_{11}\end{bmatrix}},} 制御 Uゲートは 、2つの量子ビットを操作するゲートであり、最初の量子ビットが制御として機能します。このゲートは基底状態を以下のようにマッピングします。
制御パウリ ゲートの回路図 (左から右へ): CNOT (または制御 X)、制御 Y、制御 Z。
| 00 ⟩ ↦ | 00 ⟩ {\displaystyle |00\rangle \mapsto |00\rangle } | 01 ⟩ ↦ | 01 ⟩ {\displaystyle |01\rangle \mapsto |01\rangle } | 10 ⟩ ↦ | 1 ⟩ ⊗ U | 0 ⟩ = | 1 ⟩ ⊗ ( u 00 | 0 ⟩ + u 10 | 1 ⟩ ) {\displaystyle |10\rangle \mapsto |1\rangle \otimes U|0\rangle =|1\rangle \otimes (u_{00}|0\rangle +u_{10}|1\rangle )} | 11 ⟩ ↦ | 1 ⟩ ⊗ U | 1 ⟩ = | 1 ⟩ ⊗ ( u 01 | 0 ⟩ + u 11 | 1 ⟩ ) {\displaystyle |11\rangle \mapsto |1\rangle \otimes U|1\rangle =|1\rangle \otimes (u_{01}|0\rangle +u_{11}|1\rangle )} 制御されたU を表す行列 は
C U = [ 1 0 0 0 0 1 0 0 0 0 u 00 u 01 0 0 u 10 u 11 ] . {\displaystyle {\mbox{C}}U={\begin{bmatrix}1&0&0&0\\0&1&0&0\\0&0&u_{00}&u_{01}\\0&0&u_{10}&u_{11}\end{bmatrix}}.} U がパウリ演算子 X 、 Y 、 Z のいずれかである場合 、それぞれ「制御 X 」、「制御 Y 」、「制御 Z 」という用語が使用されることがあります。 [4] :177–185 これは単にCX 、CY 、 CZ と 短縮されることもあります 。
一般に、任意の単一量子ビット ユニタリゲートは と表現される 。ここで、 H は エルミート行列 であり、制御される U は U = e i H {\displaystyle U=e^{iH}} C U = e i 1 2 ( I − Z 1 ) H 2 . {\displaystyle {\mbox{C}}U=e^{i{\frac {1}{2}}(I-Z_{1})H_{2}}.}
制御は任意の数の量子ビットを持つゲート[2]やプログラミング言語の関数 [10] に拡張することができる 。 関数は重ね合わせ状態を条件とすることができる。 [11] [12]
古典的制御 例: 量子ビット が測定され、その結果は ブール 値となり、古典コンピュータによって使用されます。 が 1に測定された場合、古典コンピュータは量子コンピュータにUゲートを に適用するよう指示します 。 回路図では、1本の線は 量子ビット 、2本の線は ビット を表します。 ϕ {\displaystyle \phi } ϕ {\displaystyle \phi } ψ {\displaystyle \psi } ゲートは古典論理によって制御することもできます。量子コンピュータは 古典コンピュータ によって制御され、 どのゲートをどの量子ビットで実行するかという命令を古典コンピュータから受け取る コプロセッサのように動作します。 [13] : 42–43 [14] 古典制御とは、量子コンピュータの命令シーケンスにゲートを含めるか、省略するかのことです。 [4] : 26–28 [1] : 87–88
位相シフトゲート 位相シフトは、基底状態とを マッピングする単一量子ビットゲートのファミリーです。このゲートを適用した後も、 または を測定する確率は変化しませんが、量子状態の位相は変化します。これは、水平円(緯度一定線)を描くこと、または ブロッホ球面 上でz軸を中心にラジアン回転すること と 同等です。位相シフトゲートは、次の行列で表されます。 | 0 ⟩ ↦ | 0 ⟩ {\displaystyle |0\rangle \mapsto |0\rangle } | 1 ⟩ ↦ e i φ | 1 ⟩ {\displaystyle |1\rangle \mapsto e^{i\varphi }|1\rangle } | 0 ⟩ {\displaystyle |0\rangle } | 1 ⟩ {\displaystyle |1\rangle } φ {\displaystyle \varphi }
P ( φ ) = [ 1 0 0 e i φ ] {\displaystyle P(\varphi )={\begin{bmatrix}1&0\\0&e^{i\varphi }\end{bmatrix}}} ここで 、は 周期 2π の 位相シフト である。一般的な例としては、 T ゲート (歴史的には ゲートとして知られている)、位相ゲート(Sゲートとも呼ばれ、 S と表記されるが、 S はSWAPゲートに使用されることもある) 、パウリZゲート(ここで φ {\displaystyle \varphi } φ = π 4 {\textstyle \varphi ={\frac {\pi }{4}}} π / 8 {\displaystyle \pi /8} φ = π 2 {\textstyle \varphi ={\frac {\pi }{2}}} φ = π . {\displaystyle \varphi =\pi .}
位相シフト ゲートは次のように相互に関連しています。
Z = [ 1 0 0 e i π ] = [ 1 0 0 − 1 ] = P ( π ) {\displaystyle Z={\begin{bmatrix}1&0\\0&e^{i\pi }\end{bmatrix}}={\begin{bmatrix}1&0\\0&-1\end{bmatrix}}=P\left(\pi \right)} S = [ 1 0 0 e i π 2 ] = [ 1 0 0 i ] = P ( π 2 ) = Z {\displaystyle S={\begin{bmatrix}1&0\\0&e^{i{\frac {\pi }{2}}}\end{bmatrix}}={\begin{bmatrix}1&0\\0&i\end{bmatrix}}=P\left({\frac {\pi }{2}}\right)={\sqrt {Z}}} T = [ 1 0 0 e i π 4 ] = P ( π 4 ) = S = Z 4 {\displaystyle T={\begin{bmatrix}1&0\\0&e^{i{\frac {\pi }{4}}}\end{bmatrix}}=P\left({\frac {\pi }{4}}\right)={\sqrt {S}}={\sqrt[{4}]{Z}}} 位相ゲートは エルミートで はないことに注意する (すべての を除く )。これらのゲートは、それらのエルミート共役ゲートとは異なる 。2つの 随伴 (または 共役転置 )ゲート と は、 命令セットに含まれることがある。 [15] [16] P ( φ ) {\displaystyle P(\varphi )} φ = n π , n ∈ Z {\displaystyle \varphi =n\pi ,n\in \mathbb {Z} } P † ( φ ) = P ( − φ ) {\displaystyle P^{\dagger }(\varphi )=P(-\varphi )} S † {\displaystyle S^{\dagger }} T † {\displaystyle T^{\dagger }}
アダマール門 アダマールゲートまたはウォルシュ・アダマールゲートは、 ジャック・アダマール ( フランス語: [adamaʁ] )と ジョセフ・L・ウォルシュ にちなんで名付けられ、単一の量子ビットに作用します。このゲートは基底状態 とを写像します (計算基底状態が与えられた場合、等しい重ね合わせ状態を生成します)。2つの状態 と は、それぞれ と と 表記されることもあります。アダマールゲートは、 ブロッホ球面 の 軸を中心に を回転させるもの であり、したがって の 逆行列 です。これは アダマール行列 によって表されます。 | 0 ⟩ ↦ | 0 ⟩ + | 1 ⟩ 2 {\textstyle |0\rangle \mapsto {\frac {|0\rangle +|1\rangle }{\sqrt {2}}}} | 1 ⟩ ↦ | 0 ⟩ − | 1 ⟩ 2 {\textstyle |1\rangle \mapsto {\frac {|0\rangle -|1\rangle }{\sqrt {2}}}} ( | 0 ⟩ + | 1 ⟩ ) / 2 {\displaystyle (|0\rangle +|1\rangle )/{\sqrt {2}}} ( | 0 ⟩ − | 1 ⟩ ) / 2 {\displaystyle (|0\rangle -|1\rangle )/{\sqrt {2}}} | + ⟩ {\displaystyle |+\rangle } | − ⟩ {\displaystyle |-\rangle } π {\displaystyle \pi } ( x ^ + z ^ ) / 2 {\displaystyle ({\hat {x}}+{\hat {z}})/{\sqrt {2}}}
アダマールゲートの回路表現 H = 1 2 [ 1 1 1 − 1 ] . {\displaystyle H={\frac {1}{\sqrt {2}}}{\begin{bmatrix}1&1\\1&-1\end{bmatrix}}.} エルミート (つまり)アダマールゲート を 基底変換 に用いると 、 と が反転する 。 例えば 、 H † = H − 1 = H {\displaystyle H^{\dagger }=H^{-1}=H} x ^ {\displaystyle {\hat {x}}} z ^ {\displaystyle {\hat {z}}} H Z H = X {\displaystyle HZH=X} H X H = Z = S . {\displaystyle H{\sqrt {X}}\;H={\sqrt {Z}}=S.}
スワップゲート SWAPゲートの回路図 スワップゲートは2つの量子ビットを交換する。基底、、、 に関して 、 これは行列で表される 。 | 00 ⟩ {\displaystyle |00\rangle } | 01 ⟩ {\displaystyle |01\rangle } | 10 ⟩ {\displaystyle |10\rangle } | 11 ⟩ {\displaystyle |11\rangle }
SWAP = [ 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 ] . {\displaystyle {\mbox{SWAP}}={\begin{bmatrix}1&0&0&0\\0&0&1&0\\0&1&0&0\\0&0&0&1\end{bmatrix}}.} スワップ ゲートは、次の合計形式に分解できます。
SWAP = I ⊗ I + X ⊗ X + Y ⊗ Y + Z ⊗ Z 2 {\displaystyle {\mbox{SWAP}}={\frac {I\otimes I+X\otimes X+Y\otimes Y+Z\otimes Z}{2}}}
トフォリ(CCNOT)ゲート トフォリゲートの回路図 トッフォリゲートは トマソ・トッフォリ にちなんで名付けられ、CCNOTゲートまたはドイッチゲートとも呼ばれる 3ビットゲートで、古典計算では 汎用的 だが量子計算では汎用的ではない。量子トッフォリゲートは3量子ビット用に定義された同じゲートである。入力量子ビットが およびのみ を受け入れるように制限すると 、 最初の2ビットが 状態にある場合は3番目のビットに パウリ -X (またはNOT)を適用し、そうでない場合は何もしない。これはCC-U(制御-制御ユニタリ)ゲートの例である。これは古典ゲートの量子版であるため、その真理値表によって完全に指定される。トッフォリゲートは、単一量子ビットのアダマールゲートと組み合わせることで汎用的となる。 [17] D ( π / 2 ) {\displaystyle D(\pi /2)} | 0 ⟩ {\displaystyle |0\rangle } | 1 ⟩ {\displaystyle |1\rangle } | 1 ⟩ {\displaystyle |1\rangle }
真理値表 マトリックス形式 入力 出力 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 1 1 0 1 1 1 0 0 1 0 0 1 0 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 0
[ 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 ] {\displaystyle {\begin{bmatrix}1&0&0&0&0&0&0&0\\0&1&0&0&0&0&0&0\\0&0&1&0&0&0&0&0\\0&0&0&1&0&0&0&0\\0&0&0&0&1&0&0&0\\0&0&0&0&0&1&0&0\\0&0&0&0&0&0&0&1\\0&0&0&0&0&0&1&0\\\end{bmatrix}}}
Toffoli ゲートは、 計算基底における状態の マッピングを実行するため、古典的な AND ( ) および XOR ( ) 演算に関連しています。 ∧ {\displaystyle \land } ⊕ {\displaystyle \oplus } | a , b , c ⟩ ↦ | a , b , c ⊕ ( a ∧ b ) ⟩ {\displaystyle |a,b,c\rangle \mapsto |a,b,c\oplus (a\land b)\rangle }
トフォリゲートはパウリ行列 を使って次のように 表される。
Toff = e i π 8 ( I − Z 1 ) ( I − Z 2 ) ( I − X 3 ) = e − i π 8 ( I − Z 1 ) ( I − Z 2 ) ( I − X 3 ) . {\displaystyle {\mbox{Toff}}=e^{i{\frac {\pi }{8}}(I-Z_{1})(I-Z_{2})(I-X_{3})}=e^{-i{\frac {\pi }{8}}(I-Z_{1})(I-Z_{2})(I-X_{3})}.}
普遍的な量子ゲート CNOT と はどちらも 汎用的な 2 量子ビット ゲートであり、相互に変換できます。 SWAP {\displaystyle {\sqrt {\mbox{SWAP}}}} ユニバーサル量子ゲート 集合と は、量子コンピュータ上で可能なあらゆる演算をそのゲート集合に還元できるようなゲート集合のことである。つまり、他のユニタリ演算は、その集合のゲートの有限列として表現できる。技術的には、ゲートの 無限 集合未満ではこれは不可能である。なぜなら、量子ゲートの可能な数は無限であるのに対し、有限集合の有限列の数は 可算だ からである。この問題を解くには、あらゆる量子演算をこの有限集合のゲート列で近似できればよい。さらに、 定数個の量子ビット上の ユニタリ演算の場合、 ソロベイ・キタエフの定理によってこれが効率的に実行できることが保証される。量子ゲート集合がユニバーサルであるかどうかの確認は、 群論的 手法 [18] や(近似) ユニタリtデザイン [19] との関連を用いて行うことができる。
ユニバーサル量子ゲート セットには次のものがあります。
回転 演算子 R x ( θ ) 、 R y ( θ ) 、 R z ( θ ) 、位相シフトゲート P ( φ ) [c] 、CNOTは、普遍的な量子ゲートセットを形成するために一般的に使用されます。 [20] [d] クリフォード 集合 {CNOT, H , S } + Tゲート。 クリフォード集合単体は、 ゴッテスマン・ニル定理 に従って古典的に効率的にシミュレートできるため、普遍的な量子ゲート集合ではない 。 ト フォリゲート +アダマールゲート [17] 。トフォリゲートは単独で可逆 ブール代数 論理回路の汎用ゲートセットを形成し 、すべての古典的計算を網羅します。
ドイツ門 単一ゲートのユニバーサル量子ゲートは、物理学者 デイヴィッド・ドイチュ にちなんで名付けられたパラメータ化された3量子ビットのドイチュ ゲート [21]を用いて定式化することもできる。これは CC-U ゲート、すなわち 制御制御ユニタリー ゲートの一般的なケースであり 、次のように定義される。 D ( θ ) {\displaystyle D(\theta )}
| a , b , c ⟩ ↦ { i cos ( θ ) | a , b , c ⟩ + sin ( θ ) | a , b , 1 − c ⟩ for a = b = 1 , | a , b , c ⟩ otherwise . {\displaystyle |a,b,c\rangle \mapsto {\begin{cases}i\cos(\theta )|a,b,c\rangle +\sin(\theta )|a,b,1-c\rangle &{\text{for}}\ a=b=1,\\|a,b,c\rangle &{\text{otherwise}}.\end{cases}}} 残念ながら、プロトコルの欠如により、実用的なドイッチゲートの実現は未だ実現できていない。中性原子における双極子間相互作用を用いたドイッチゲートの実現に向けた提案がいくつかある。 [22]
可逆古典コンピューティング用の汎用論理ゲートである Toffoli ゲートは Deutsch ゲートに還元可能であり 、すべての可逆古典論理演算が汎用量子コンピュータで実行できることを示しています。 D ( π / 2 ) {\displaystyle D(\pi /2)}
普遍性を実現するのに十分な単一の2量子ビットゲートも存在する。1996年、アドリアーノ・バレンコは、ドイッチュゲートを単一の2量子ビットゲート( バレンコゲート )だけで分解できることを示したが、実験的に実現するのは困難であった。 [1] : 93 この特徴は量子回路に特有のものであり、可逆かつ普遍的な古典的な2ビットゲートは存在しない。 [1] : 93 普遍的な2量子ビットゲートは、高速で低消費電力のマイクロプロセッサにおいて、古典的な可逆回路を改善するために実装できる可能性がある。 [1] : 93
回路構成
直列配線ゲート 直列に接続された2つのゲート Y と X。 これらを乗算すると、ワイヤ上の順序が逆になります。 量子ビットに作用する2つのゲート A と B があると仮定します 。B を直列回路で Aの 後に置くと 、2つのゲートの効果は1つのゲート C として記述できます。 n {\displaystyle n}
C = B ⋅ A {\displaystyle C=B\cdot A} ここでは 行列の乗算 である 。結果として得られるゲート C は A および B と同じ次元を持つ 。ゲートを乗算すると、回路図におけるゲートの順序は逆になる。 [4] : 17–18,22–23,62–64 [5] : 147–169 ⋅ {\displaystyle \cdot }
たとえば、 どちらも単一の量子ビットに作用するPauli X ゲートを Pauli Yゲートの後に配置すると、単一の複合ゲート C として記述できます。
C = X ⋅ Y = [ 0 1 1 0 ] ⋅ [ 0 − i i 0 ] = [ i 0 0 − i ] = i Z {\displaystyle C=X\cdot Y={\begin{bmatrix}0&1\\1&0\end{bmatrix}}\cdot {\begin{bmatrix}0&-i\\i&0\end{bmatrix}}={\begin{bmatrix}i&0\\0&-i\end{bmatrix}}=iZ} 積記号( )は省略されることが多いです。 ⋅ {\displaystyle \cdot }
量子ゲートの指数 ユニタリ行列 のすべての 実 指数 もユニタリ行列であり、すべての量子ゲートもユニタリ行列です。
正の整数指数は直列接続されたゲートの列(例: ) と等価であり、 実数指数は直列回路の一般化です。例えば、 と はどちらも有効な量子ゲートです。 X 3 = X ⋅ X ⋅ X {\displaystyle X^{3}=X\cdot X\cdot X} X π {\displaystyle X^{\pi }} X = X 1 / 2 {\displaystyle {\sqrt {X}}=X^{1/2}}
U 0 = I {\displaystyle U^{0}=I} 任意のユニタリ行列に対して 。 単位行列 ( )は NOP [23] [24] のように振る舞い、量子回路では裸線として表現されるか、あるいは全く表示されない。 U {\displaystyle U} I {\displaystyle I}
すべてのゲートはユニタリ行列であるため、 および と なります。 ここで は 共役転置 です 。これは、ゲートの負の指数が、正の指数のユニタリ逆数であることを意味します 。 例えば、位相シフトゲートの負の指数には や などがあります 。 U † U = U U † = I {\displaystyle U^{\dagger }U=UU^{\dagger }=I} U † = U − 1 {\displaystyle U^{\dagger }=U^{-1}} † {\displaystyle \dagger } U − n = ( U n ) † {\displaystyle U^{-n}=(U^{n})^{\dagger }} T − 1 = T † {\displaystyle T^{-1}=T^{\dagger }} T − 2 = ( T 2 ) † = S † {\displaystyle T^{-2}=(T^{2})^{\dagger }=S^{\dagger }}
エルミート行列 については となり、ユニタリ性のため、すべてのエルミートゲートについて も となる ことに注意してください 。これらは の逆行列 です。エルミートゲートの例としては、パウリゲート、アダマールゲート、CNOTゲート、SWAPゲート、トフォリゲートなどがあります。各エルミートユニタリ行列は、 次の 性質 を持ちます。 H † = H , {\displaystyle H^{\dagger }=H,} H H † = I , {\displaystyle HH^{\dagger }=I,} H 2 = I {\displaystyle H^{2}=I} H {\displaystyle H} e i θ H = ( cos θ ) I + ( i sin θ ) H {\displaystyle e^{i\theta H}=(\cos \theta )I+(i\sin \theta )H} H = e i π 2 ( I − H ) = e − i π 2 ( I − H ) . {\displaystyle H=e^{i{\frac {\pi }{2}}(I-H)}=e^{-i{\frac {\pi }{2}}(I-H)}.}
ゲートの指数は、時間発展演算子が量子状態に適用される時間の倍数です。例えば、 スピン量子ビット量子コンピュータ では、ゲートは2つの 電子 の スピン に対する 交換相互作用 を、完全な交換相互作用の半分の時間だけ行うことで 実現できます。 [25] S W A P {\displaystyle {\sqrt {\mathrm {SWAP} }}}
平行ゲート 2 つのゲートを並列に接続すると 、 ゲートと同等になります 。 Y {\displaystyle Y} X {\displaystyle X} Y ⊗ X {\displaystyle Y\otimes X} 2つの量子ゲートのテンソル 積 (または クロネッカー積 )は、2つのゲートを並列にしたものに等しいゲートである。 [4] : 71–75 [5] : 148
図のように、Pauli -Y ゲートとPauli- X ゲートを並列に組み合わせると、次のように記述できます。
C = Y ⊗ X = [ 0 − i i 0 ] ⊗ [ 0 1 1 0 ] = [ 0 [ 0 1 1 0 ] − i [ 0 1 1 0 ] i [ 0 1 1 0 ] 0 [ 0 1 1 0 ] ] = [ 0 0 0 − i 0 0 − i 0 0 i 0 0 i 0 0 0 ] {\displaystyle C=Y\otimes X={\begin{bmatrix}0&-i\\i&0\end{bmatrix}}\otimes {\begin{bmatrix}0&1\\1&0\end{bmatrix}}={\begin{bmatrix}0{\begin{bmatrix}0&1\\1&0\end{bmatrix}}&-i{\begin{bmatrix}0&1\\1&0\end{bmatrix}}\\i{\begin{bmatrix}0&1\\1&0\end{bmatrix}}&0{\begin{bmatrix}0&1\\1&0\end{bmatrix}}\end{bmatrix}}={\begin{bmatrix}0&0&0&-i\\0&0&-i&0\\0&i&0&0\\i&0&0&0\end{bmatrix}}} Pauli- X ゲートとPauli- Y ゲートはどちらも1つの量子ビットに作用します。結果として得られるゲートは 2つの量子ビットに作用します。 C {\displaystyle C}
テンソル積の記号が省略され、代わりに演算子のインデックスが使用されることもあります。 [25]
このゲートは、 2量子ビットに並列に適用された アダマールゲート ( )です。次のように表すことができます。 H 2 = H ⊗ H {\displaystyle H_{2}=H\otimes H} H {\displaystyle H}
H 2 = H ⊗ H = 1 2 [ 1 1 1 − 1 ] ⊗ 1 2 [ 1 1 1 − 1 ] = 1 2 [ 1 1 1 1 1 − 1 1 − 1 1 1 − 1 − 1 1 − 1 − 1 1 ] {\displaystyle H_{2}=H\otimes H={\frac {1}{\sqrt {2}}}{\begin{bmatrix}1&1\\1&-1\end{bmatrix}}\otimes {\frac {1}{\sqrt {2}}}{\begin{bmatrix}1&1\\1&-1\end{bmatrix}}={\frac {1}{2}}{\begin{bmatrix}1&1&1&1\\1&-1&1&-1\\1&1&-1&-1\\1&-1&-1&1\end{bmatrix}}} この「2量子ビット並列アダマールゲート」を、例えば2量子ビットのゼロベクトル ( )に適用すると、 4つの可能な結果( | 00 ⟩ {\displaystyle |00\rangle } 、 、 、 )のいずれにおいても観測される確率が等しい量子状態が生成されます 。 この操作は次 のように記述できます。 | 00 ⟩ {\displaystyle |00\rangle } | 01 ⟩ {\displaystyle |01\rangle } | 10 ⟩ {\displaystyle |10\rangle } | 11 ⟩ {\displaystyle |11\rangle }
H 2 | 00 ⟩ = 1 2 [ 1 1 1 1 1 − 1 1 − 1 1 1 − 1 − 1 1 − 1 − 1 1 ] [ 1 0 0 0 ] = 1 2 [ 1 1 1 1 ] = 1 2 | 00 ⟩ + 1 2 | 01 ⟩ + 1 2 | 10 ⟩ + 1 2 | 11 ⟩ = | 00 ⟩ + | 01 ⟩ + | 10 ⟩ + | 11 ⟩ 2 {\displaystyle H_{2}|00\rangle ={\frac {1}{2}}{\begin{bmatrix}1&1&1&1\\1&-1&1&-1\\1&1&-1&-1\\1&-1&-1&1\end{bmatrix}}{\begin{bmatrix}1\\0\\0\\0\end{bmatrix}}={\frac {1}{2}}{\begin{bmatrix}1\\1\\1\\1\end{bmatrix}}={\frac {1}{2}}|00\rangle +{\frac {1}{2}}|01\rangle +{\frac {1}{2}}|10\rangle +{\frac {1}{2}}|11\rangle ={\frac {|00\rangle +|01\rangle +|10\rangle +|11\rangle }{2}}} 例: 3 量子ビット レジスタ 上のアダマール変換 。 | ψ ⟩ {\displaystyle |\psi \rangle } ここで、各測定可能な状態の振幅は 1 ⁄ 2 です。任意の状態を観測する確率は、測定可能な状態の振幅の絶対値の2乗です。これは、上記の例では、4つのケースのいずれかを観測する確率が4分の1であることを意味します。詳細は測定を参照してください。
H 2 {\displaystyle H_{2}} 2つの量子ビットに対してアダマール変換を 実行します 。同様に、ゲートは量子ビット の レジスタ に対してアダマール変換を実行します 。 H ⊗ H ⊗ ⋯ ⊗ H ⏟ n times = ⨂ i = 0 n − 1 H = H ⊗ n = H n {\displaystyle \underbrace {H\otimes H\otimes \dots \otimes H} _{n{\text{ times}}}=\bigotimes _{i=0}^{n-1}H=H^{\otimes n}=H_{n}} n {\displaystyle n}
すべて に初期化された量子ビット のレジスタに適用すると 、 アダマール変換は、量子レジスタを、その 可能な状態のいずれかで測定される確率が等しい重ね合わせ状態にします。 n {\displaystyle n} | 0 ⟩ {\displaystyle |0\rangle } 2 n {\displaystyle 2^{n}}
⨂ i = 0 n − 1 ( H | 0 ⟩ ) = 1 2 n [ 1 1 ⋮ 1 ] = 1 2 n ( | 0 ⟩ + | 1 ⟩ + ⋯ + | 2 n − 1 ⟩ ) = 1 2 n ∑ i = 0 2 n − 1 | i ⟩ {\displaystyle \bigotimes _{i=0}^{n-1}(H|0\rangle )={\frac {1}{\sqrt {2^{n}}}}{\begin{bmatrix}1\\1\\\vdots \\1\end{bmatrix}}={\frac {1}{\sqrt {2^{n}}}}{\Big (}|0\rangle +|1\rangle +\dots +|2^{n}-1\rangle {\Big )}={\frac {1}{\sqrt {2^{n}}}}\sum _{i=0}^{2^{n}-1}|i\rangle } この状態は 均一な重ね合わせであり、 振幅増幅 や 位相推定 などのいくつかの検索アルゴリズムの最初のステップとして生成されます 。
この状態を測定すると、 と の間の 乱数が得られます 。 [e] 乱数の乱数の程度は論理ゲートの 精度 に依存します。測定されない場合、それはそれぞれの可能な状態に対して
等しい 確率振幅 を持つ量子状態です。 | 0 ⟩ {\displaystyle |0\rangle } | 2 n − 1 ⟩ {\displaystyle |2^{n}-1\rangle } 1 2 n {\displaystyle {\frac {1}{\sqrt {2^{n}}}}}
アダマール変換は、次のように量子ビット を持つ レジスタに作用します 。 | ψ ⟩ {\displaystyle |\psi \rangle } n {\displaystyle n} | ψ ⟩ = ⨂ i = 0 n − 1 | ψ i ⟩ {\textstyle |\psi \rangle =\bigotimes _{i=0}^{n-1}|\psi _{i}\rangle }
⨂ i = 0 n − 1 H | ψ ⟩ = ⨂ i = 0 n − 1 | 0 ⟩ + ( − 1 ) ψ i | 1 ⟩ 2 = 1 2 n ⨂ i = 0 n − 1 ( | 0 ⟩ + ( − 1 ) ψ i | 1 ⟩ ) = H | ψ 0 ⟩ ⊗ H | ψ 1 ⟩ ⊗ ⋯ ⊗ H | ψ n − 1 ⟩ {\displaystyle \bigotimes _{i=0}^{n-1}H|\psi \rangle =\bigotimes _{i=0}^{n-1}{\frac {|0\rangle +(-1)^{\psi _{i}}|1\rangle }{\sqrt {2}}}={\frac {1}{\sqrt {2^{n}}}}\bigotimes _{i=0}^{n-1}{\Big (}|0\rangle +(-1)^{\psi _{i}}|1\rangle {\Big )}=H|\psi _{0}\rangle \otimes H|\psi _{1}\rangle \otimes \cdots \otimes H|\psi _{n-1}\rangle }
エンタングルメント状態への応用 2つ以上の量子ビットを単一の量子状態と見なすと、この複合状態は構成量子ビットのテンソル積に等しくなります。構成サブシステムからテンソル積として表せる状態は、 分離可能状態 と呼ばれます。一方、 エンタングル状態 とは、テンソル分解できない状態、つまり、 エンタングル状態は構成量子ビット状態のテンソル積として表すことができません。エンタングル 状態を構成する構成量子ビットにゲートを適用する際には、特別な注意が必要です。
エンタングルされた N 個の量子ビットの集合があり、 その中の M < N個の量子ビットに量子ゲートを適用したい場合、ゲートを N 個の量子ビットに対応付けるように拡張する必要があります。この適用は、ゲートと 単位行列を結合し、それらのテンソル積が N 個の量子ビットに作用するゲートとなるようにすることで実現できます 。単位行列 ( ) I {\displaystyle I} は、ゲートのすべての状態を自身にマッピングする(つまり、何も行わない)ゲートの表現です。回路図では、単位ゲートまたは単位行列は、多くの場合、単なる裸線として表示されます。
本文中に示されている例。アダマールゲートは 1量子ビットにのみ作用しますが、実際に は2量子ビットにまたがる量子もつれ状態です。この例では、 。 H {\displaystyle H} | ψ ⟩ {\displaystyle |\psi \rangle } | ψ ⟩ = | 00 ⟩ + | 11 ⟩ 2 {\displaystyle |\psi \rangle ={\frac {|00\rangle +|11\rangle }{\sqrt {2}}}} 例えば、アダマールゲート ( ) H {\displaystyle H} は1つの量子ビットに作用しますが、 エンタングルされた ベル状態を構成する2つの量子ビットのうち最初の量子ビットに入力した場合 、その演算は簡単には記述できません。2 つの 量子ビット にまたがる量子状態に作用できるように、アダマールゲートを 恒等ゲートで 拡張する必要があります。 | 00 ⟩ + | 11 ⟩ 2 {\displaystyle {\frac {|00\rangle +|11\rangle }{\sqrt {2}}}} H {\displaystyle H} I {\displaystyle I}
K = H ⊗ I = 1 2 [ 1 1 1 − 1 ] ⊗ [ 1 0 0 1 ] = 1 2 [ 1 0 1 0 0 1 0 1 1 0 − 1 0 0 1 0 − 1 ] {\displaystyle K=H\otimes I={\frac {1}{\sqrt {2}}}{\begin{bmatrix}1&1\\1&-1\end{bmatrix}}\otimes {\begin{bmatrix}1&0\\0&1\end{bmatrix}}={\frac {1}{\sqrt {2}}}{\begin{bmatrix}1&0&1&0\\0&1&0&1\\1&0&-1&0\\0&1&0&-1\end{bmatrix}}} このゲートは 、エンタングル状態であろうとなかろうと、任意の2量子ビット状態に適用できます。ゲートは 2番目の量子ビットには影響を与えず、1番目の量子ビットにアダマール変換を適用します。この例のベル状態に適用すると、次のように書けます。 K {\displaystyle K} K {\displaystyle K}
K | 00 ⟩ + | 11 ⟩ 2 = 1 2 [ 1 0 1 0 0 1 0 1 1 0 − 1 0 0 1 0 − 1 ] 1 2 [ 1 0 0 1 ] = 1 2 [ 1 1 1 − 1 ] = | 00 ⟩ + | 01 ⟩ + | 10 ⟩ − | 11 ⟩ 2 {\displaystyle K{\frac {|00\rangle +|11\rangle }{\sqrt {2}}}={\frac {1}{\sqrt {2}}}{\begin{bmatrix}1&0&1&0\\0&1&0&1\\1&0&-1&0\\0&1&0&-1\end{bmatrix}}{\frac {1}{\sqrt {2}}}{\begin{bmatrix}1\\0\\0\\1\end{bmatrix}}={\frac {1}{2}}{\begin{bmatrix}1\\1\\1\\-1\end{bmatrix}}={\frac {|00\rangle +|01\rangle +|10\rangle -|11\rangle }{2}}}
計算の複雑さとテンソル積 2つの-行列の 乗算にかかる時間計算量は、 古典的なマシンを使用する場合 、 少なくとも です [26] 。量子ビット で動作するゲートのサイズは であるため、 一般的なエンタングルメント状態で動作する量子回路のステップを(ゲートを乗算することによって)シミュレートするのにかかる時間は であることを意味します 。 このため、古典的なコンピュータを使用して大規模なエンタングルメントされた量子システムをシミュレートすることは 困難であると考えられています。ただし、 クリフォードゲート などのゲートのサブセット 、または古典的なブール関数のみを実装する回路の単純なケース(X、CNOT、Toffoliの組み合わせなど)は、古典的なコンピュータで効率的にシミュレートできます。 n × n {\displaystyle n\times n} Ω ( n 2 log n ) {\displaystyle \Omega (n^{2}\log n)} q {\displaystyle q} 2 q × 2 q {\displaystyle 2^{q}\times 2^{q}} Ω ( 2 q 2 log ( 2 q ) ) {\displaystyle \Omega ({2^{q}}^{2}\log({2^{q}}))}
量子ビットを持つ 量子レジスタ の状態ベクトルは 複素要素 です。 確率振幅を 浮動小数点 値のリストとして保存することは 、大きなサイズの場合、扱いにくくなります 。 n {\displaystyle n} 2 n {\displaystyle 2^{n}} n {\displaystyle n}
ゲートのユニタリ反転 例: アダマール-CNOT積のユニタリ逆。3つのゲート 、、 は それぞれユニタリ逆である。 H {\displaystyle H} I {\displaystyle I} C N O T {\displaystyle \mathrm {CNOT} } すべての量子論理ゲートは 可逆で あるため、複数のゲートの任意の組み合わせも可逆です。 ユニタリ行列 のすべての積とテンソル積(つまり、直列および並列の組み合わせ)もユニタリ行列です。これは、ゲートのみを含む限り、すべてのアルゴリズムと関数の逆行列を構築できることを意味します。
初期化、測定、 入出力 、そして自発的な デコヒーレンス は量子コンピュータの 副作用 です。しかし、ゲートは 純粋関数的 かつ 一対一 です。
が ユニタリ行列 の場合 、 および となります 。 ダガー( )は 共役転置行列 を表します。これは エルミート随伴行列 とも呼ばれます。 U {\displaystyle U} U † U = U U † = I {\displaystyle U^{\dagger }U=UU^{\dagger }=I} U † = U − 1 {\displaystyle U^{\dagger }=U^{-1}} † {\displaystyle \dagger }
関数が ゲート の積である場合 、 関数のユニタリ逆関数 を構築できます。 F {\displaystyle F} m {\displaystyle m} F = A 1 ⋅ A 2 ⋅ ⋯ ⋅ A m {\displaystyle F=A_{1}\cdot A_{2}\cdot \dots \cdot A_{m}} F † {\displaystyle F^{\dagger }}
なぜなら 、繰り返し適用した後、 ( U V ) † = V † U † {\displaystyle (UV)^{\dagger }=V^{\dagger }U^{\dagger }}
F † = ( ∏ i = 1 m A i ) † = ∏ i = m 1 A i † = A m † ⋅ ⋯ ⋅ A 2 † ⋅ A 1 † {\displaystyle F^{\dagger }=\left(\prod _{i=1}^{m}A_{i}\right)^{\dagger }=\prod _{i=m}^{1}A_{i}^{\dagger }=A_{m}^{\dagger }\cdot \dots \cdot A_{2}^{\dagger }\cdot A_{1}^{\dagger }} 同様に、関数が 2 つのゲートと を 並列に含む場合、 および となります 。 G {\displaystyle G} A {\displaystyle A} B {\displaystyle B} G = A ⊗ B {\displaystyle G=A\otimes B} G † = ( A ⊗ B ) † = A † ⊗ B † {\displaystyle G^{\dagger }=(A\otimes B)^{\dagger }=A^{\dagger }\otimes B^{\dagger }}
ゲート自体がユニタリ逆であるものは、 エルミート 演算子または 自己随伴演算子 と呼ばれます。アダマールゲート( H )や パウリゲート ( I 、 X 、 Y 、 Z )などの基本ゲートはエルミート演算子ですが、位相シフトゲート( S 、 T 、 P 、 CPhase )などは一般的にエルミート演算子ではありません。
例えば、加算アルゴリズムは、その逆関数として減算にも使用できます。これは、 逆量子フーリエ変換がユニタリ逆関数であることを意味します。ユニタリ逆関数は、 非計算 にも使用できます 。量子コンピュータ用のプログラミング言語、例えば Microsoft の Q# [10] 、 Bernhard Ömerの QCL [13] : 61 、 IBM の Qiskit [ 27] などは、 関数の逆関数をプログラミング概念として含んでいます。
測定 測定の回路表現。右側の2本の線は古典ビットを表し、左側の1本の線は量子ビットを表します。 測定( 観測 と呼ばれることもある)は不可逆であり、したがって量子ゲートではない。なぜなら、測定では観測された量子状態が単一の値に割り当てられるからである。測定は量子状態を取り、その 基底ベクトル の1つに、その基底ベクトルに沿ったベクトルの長さの2乗に等しい尤度( 2-ノルム [4] : 66 [5] : 56, 65 )で投影する。 [1] : 15–17 [28] [29] [30] これは ボルンの規則 として知られており、 [e]測定された状態を表す基底ベクトルに量子状態を等しくする 確率的 非可逆操作として現れる 。測定の瞬間に、状態は測定された明確な単一の値に「 崩壊する 」と言われる。なぜ、どのように、あるいはそもそも崩壊するかどうか [31] [32]は、 測定問題 と呼ばれる 。
確率振幅 を持つ値を測定する確率 は ( 係数 ) です 。 ϕ {\displaystyle \phi } 1 ≥ | ϕ | 2 ≥ 0 {\displaystyle 1\geq |\phi |^{2}\geq 0} | ⋅ | {\displaystyle |\cdot |}
量子状態がベクトル で表される単一の量子ビットを測定すると、 確率 で となり 、 確率 で となります 。 a | 0 ⟩ + b | 1 ⟩ = [ a b ] {\displaystyle a|0\rangle +b|1\rangle ={\begin{bmatrix}a\\b\end{bmatrix}}} | 0 ⟩ {\displaystyle |0\rangle } | a | 2 {\displaystyle |a|^{2}} | 1 ⟩ {\displaystyle |1\rangle } | b | 2 {\displaystyle |b|^{2}}
たとえば、量子状態を持つ量子ビットを測定すると、または の いずれかが等しい確率で得られます 。 | 0 ⟩ − i | 1 ⟩ 2 = 1 2 [ 1 − i ] {\displaystyle {\frac {|0\rangle -i|1\rangle }{\sqrt {2}}}={\frac {1}{\sqrt {2}}}{\begin{bmatrix}1\\-i\end{bmatrix}}} | 0 ⟩ {\displaystyle |0\rangle } | 1 ⟩ {\displaystyle |1\rangle }
単一量子ビットの場合、 の単位球面において と なる 量子状態が存在します 。この状態は 、 または 、 と 書き直すことができます 。 注: は を測定する確率であり 、 は を測定する確率です 。 C 2 {\displaystyle \mathbb {C} ^{2}} a | 0 ⟩ + b | 1 ⟩ {\displaystyle a|0\rangle +b|1\rangle } | a | 2 + | b | 2 = 1 {\displaystyle |a|^{2}+|b|^{2}=1} | cos θ | 2 + | sin θ | 2 = 1 {\displaystyle |\cos \theta |^{2}+|\sin \theta |^{2}=1} | a | 2 = cos 2 θ {\displaystyle |a|^{2}=\cos ^{2}\theta } | b | 2 = sin 2 θ {\displaystyle |b|^{2}=\sin ^{2}\theta } | a | 2 {\displaystyle |a|^{2}} | 0 ⟩ {\displaystyle |0\rangle } | b | 2 {\displaystyle |b|^{2}} | 1 ⟩ {\displaystyle |1\rangle } n 量子ビットにまたがる 量子状態は、 複素 次元 のベクトル として表すことができます 。これは、 n 量子ビットのテンソル積が次元 のベクトルであるためです 。このように、 n 量子ビットの レジスタは 異なる状態として測定できます。これは、 n 古典 ビット のレジスタが異なる状態 を保持できるのと似ています 。古典コンピュータのビットとは異なり、量子状態は複数の測定可能な値において同時に非ゼロの確率振幅を持つことができます。これは 重ね合わせ と呼ばれます。 | Ψ ⟩ {\displaystyle |\Psi \rangle } 2 n {\displaystyle 2^{n}} | Ψ ⟩ ∈ C 2 n {\displaystyle |\Psi \rangle \in \mathbb {C} ^{2^{n}}} 2 n {\displaystyle 2^{n}} 2 n {\displaystyle 2^{n}} 2 n {\displaystyle 2^{n}}
全ての結果に対する全ての確率の合計は常に 1 . [f] 別の言い方をすると、 ピタゴラスの定理 を に一般化すると、 n 量子ビットを持つ すべての量子状態は [g] を 満たす必要があるということです 。 ここで、 は測定可能な状態 の確率振幅です。 これを幾何学的に解釈すると、 n 量子ビットを持つ 量子状態の可能な 値空間 は の 単位球面 の表面であり 、それに適用される ユニタリ変換 (つまり、量子論理ゲート)は球面上の回転です。ゲートが実行する回転は、 対称群 U(2 n )を形成します。測定は、この 複素 球面 の表面の点の、 空間に広がる(そして結果をラベル付けする) 基底ベクトルへの確率的射影です。 C 2 n {\displaystyle \mathbb {C} ^{2^{n}}} | Ψ ⟩ {\displaystyle |\Psi \rangle } 1 = ∑ x = 0 2 n − 1 | a x | 2 , {\textstyle 1=\sum _{x=0}^{2^{n}-1}|a_{x}|^{2},} a x {\displaystyle a_{x}} | x ⟩ {\displaystyle |x\rangle } | Ψ ⟩ {\displaystyle |\Psi \rangle } C 2 n {\displaystyle \mathbb {C} ^{2^{n}}}
多くの場合、空間は特定の - 次元 複素空間ではなく、 ヒルベルト空間 として表現されます。次元数(基底ベクトルによって定義され、したがって測定から得られる可能性のある結果も定義されます)は、多くの場合、オペランドによって暗示されます。例えば、 問題を 解くために必要な 状態空間などです。 グローバーのアルゴリズム において 、 グローバーは この一般的な基底ベクトル集合を 「データベース」 と名付けました。 H {\displaystyle {\mathcal {H}}} 2 n {\displaystyle 2^{n}}
量子状態を測定する際に用いる基底ベクトルの選択は、測定結果に影響を与える。 [1] : 30–35 [4] : 22, 84–85, 185–188 [33]詳細については、 基底変換 と フォン・ノイマン・エントロピー を参照のこと。本稿では、常に 計算 基底 ( つまり、 n 量子ビット レジスタ の基底ベクトルにラベルを付ける) を用いるか 、あるいは 2進表現 (つまり、2進表現) を用いる 。 2 n {\displaystyle 2^{n}} | 0 ⟩ , | 1 ⟩ , | 2 ⟩ , ⋯ , | 2 n − 1 ⟩ {\displaystyle |0\rangle ,|1\rangle ,|2\rangle ,\cdots ,|2^{n}-1\rangle } | 0 10 ⟩ = | 0 … 00 2 ⟩ , | 1 10 ⟩ = | 0 … 01 2 ⟩ , | 2 10 ⟩ = | 0 … 10 2 ⟩ , ⋯ , | 2 n − 1 ⟩ = | 111 … 1 2 ⟩ {\displaystyle |0_{10}\rangle =|0\dots 00_{2}\rangle ,|1_{10}\rangle =|0\dots 01_{2}\rangle ,|2_{10}\rangle =|0\dots 10_{2}\rangle ,\cdots ,|2^{n}-1\rangle =|111\dots 1_{2}\rangle }
量子力学 では 、基底ベクトルは 直交基底 を構成します。
代替測定基準の使用例は、 BB84 暗号にあります。
測定がエンタングルメント状態に与える影響 アダマール-CNOTゲートは、入力を与えると ベル状態 を生成する。 | 00 ⟩ {\displaystyle |00\rangle } 2つの量子状態 ( 量子ビット 、または レジスタ )が エンタングル メント状態にある場合 (つまり、それらの結合状態が テンソル積 として表現できない場合)、一方のレジスタの測定は、もう一方のレジスタの状態を部分的にまたは完全に崩壊させることで、もう一方のレジスタの状態に影響を与えたり、明らかにしたりします。この効果は計算に利用でき、多くのアルゴリズムで用いられています。
アダマール-CNOT の組み合わせはゼロ状態に対して次のように作用します。
CNOT ( H ⊗ I ) | 00 ⟩ = ( [ 1 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 ] ( 1 2 [ 1 1 1 − 1 ] ⊗ [ 1 0 0 1 ] ) ) [ 1 0 0 0 ] = 1 2 [ 1 0 0 1 ] = | 00 ⟩ + | 11 ⟩ 2 {\displaystyle \operatorname {CNOT} (H\otimes I)|00\rangle =\left({\begin{bmatrix}1&0&0&0\\0&1&0&0\\0&0&0&1\\0&0&1&0\end{bmatrix}}\left({\frac {1}{\sqrt {2}}}{\begin{bmatrix}1&1\\1&-1\end{bmatrix}}\otimes {\begin{bmatrix}1&0\\0&1\end{bmatrix}}\right)\right){\begin{bmatrix}1\\0\\0\\0\end{bmatrix}}={\frac {1}{\sqrt {2}}}{\begin{bmatrix}1\\0\\0\\1\end{bmatrix}}={\frac {|00\rangle +|11\rangle }{\sqrt {2}}}} 本文中のベル状態は、 および である 。 したがって、図に示すように 、 基底ベクトル および が張る 平面 で記述できる。2 量子ビット系の 可能な 値空間を表す 単位球面 ( 内 ) は、この平面と交差し、単位球面の表面上に位置する。 であるため 、 この状態をまたは で 測定する確率は等しく 、 または で 測定する確率はゼロで ある 。 | Ψ ⟩ = a | 00 ⟩ + b | 01 ⟩ + c | 10 ⟩ + d | 11 ⟩ {\displaystyle |\Psi \rangle =a|00\rangle +b|01\rangle +c|10\rangle +d|11\rangle } a = d = 1 2 {\displaystyle a=d={\frac {1}{\sqrt {2}}}} b = c = 0 {\displaystyle b=c=0} | 00 ⟩ {\displaystyle |00\rangle } | 11 ⟩ {\displaystyle |11\rangle } C 4 {\displaystyle \mathbb {C} ^{4}} | Ψ ⟩ {\displaystyle |\Psi \rangle } | a | 2 = | d | 2 = 1 / 2 {\displaystyle |a|^{2}=|d|^{2}=1/2} | 00 ⟩ {\displaystyle |00\rangle } | 11 ⟩ {\displaystyle |11\rangle } b = c = 0 {\displaystyle b=c=0} | 01 ⟩ {\displaystyle |01\rangle } | 10 ⟩ {\displaystyle |10\rangle } この結果の状態は ベル状態である 。 これは2つの量子ビットのテンソル積として記述することはできない。 | 00 ⟩ + | 11 ⟩ 2 = 1 2 [ 1 0 0 1 ] {\displaystyle {\frac {|00\rangle +|11\rangle }{\sqrt {2}}}={\frac {1}{\sqrt {2}}}{\begin{bmatrix}1\\0\\0\\1\end{bmatrix}}}
[ x y ] ⊗ [ w z ] = [ x w x z y w y z ] = 1 2 [ 1 0 0 1 ] , {\displaystyle {\begin{bmatrix}x\\y\end{bmatrix}}\otimes {\begin{bmatrix}w\\z\end{bmatrix}}={\begin{bmatrix}xw\\xz\\yw\\yz\end{bmatrix}}={\frac {1}{\sqrt {2}}}{\begin{bmatrix}1\\0\\0\\1\end{bmatrix}},} たとえば、 xw と yw の場合、 w は ゼロ以外とゼロの両方である必要があるためです。
量子状態は 2つの量子ビット にまたがっています。これは エンタングルメント と呼ばれます。このベル状態を構成する2つの量子ビットの1つを測定すると、論理的にもう1つの量子ビットは同じ値を持つことになります。つまり、両方とも同じでなければなりません。つまり、状態 または状態 のいずれかで見つかります 。 例えば 、 一方の量子ビットが であると測定した場合 、 もう一方の量子ビットも でなければなりません 。 なぜなら、それらの結合状態 は になるからです 。 一方の量子ビットを測定すると、2つの量子ビットにまたがる量子状態全体が崩壊します。 | 00 ⟩ {\displaystyle |00\rangle } | 11 ⟩ {\displaystyle |11\rangle } | 1 ⟩ {\displaystyle |1\rangle } | 1 ⟩ {\displaystyle |1\rangle } | 11 ⟩ {\displaystyle |11\rangle }
GHZ 状態は 、3 つ以上の量子ビットにまたがる同様のもつれ量子状態です。
このタイプの値の割り当ては、 距離に関係なく瞬時に 行われ、2018 年現在、 QUESS によって最大 1200 キロメートルの距離で実験的に検証されています。 [34] [35] [36] 量子ビットを隔てる距離を光速で移動するのにかかる時間ではなく、現象が瞬時に発生するように見えることは EPR パラドックスと呼ばれ、これをどのように解決するかは物理学における未解決の問題です。当初は 局所的実在性 の仮定を放棄することによって解決されました が、他の 解釈 も登場しています。詳細については、 ベル テストの実験を 参照してください。 無通信定理は、この現象が 古典情報 の光より速い通信に使用できないことを証明しています 。
ペアワイズエンタングルメントされた量子ビットを持つレジスタの測定 状態の重ね合わせにあり、レジスタ B とペアでエンタングルされている レジスタ A に対するユニタリ変換 F の効果。ここで、 n は 3 です (各レジスタには 3 つの量子ビットがあります)。 2 n {\displaystyle 2^{n}} すべて に初期化されたn 個の 量子ビットを持つ レジスタ Aを 取り 、 これを並列アダマールゲート に入力します 。 すると、レジスタ A は、その 可能な状態 のいずれか、つまり に等しい確率で の 状態になります 。2 つ目のレジスタ B も に初期化された n 個の 量子ビットを持ち 、その量子ビットとレジスタ A の量子ビットとのペアワイズ CNOT を取ります。これにより、各 p に対して、量子ビット と が 状態 を形成します 。 | 0 ⟩ {\displaystyle |0\rangle } H ⊗ n {\textstyle H^{\otimes n}} 1 2 n ∑ k = 0 2 n − 1 | k ⟩ {\textstyle {\frac {1}{\sqrt {2^{n}}}}\sum _{k=0}^{2^{n}-1}|k\rangle } 2 n {\displaystyle 2^{n}} | 0 ⟩ {\displaystyle |0\rangle } | 2 n − 1 ⟩ {\displaystyle |2^{n}-1\rangle } | 0 ⟩ {\displaystyle |0\rangle } A p {\displaystyle A_{p}} B p {\displaystyle B_{p}} | A p B p ⟩ = | 00 ⟩ + | 11 ⟩ 2 {\displaystyle |A_{p}B_{p}\rangle ={\frac {|00\rangle +|11\rangle }{\sqrt {2}}}}
ここでレジスタ A の量子ビットを測定すると、レジスタ B には A と同じ値が含まれていることがわかります。ただし、代わりに量子論理ゲート F をA に適用して を測定すると、 となり 、 は F の ユニタリ逆数 です 。 | A ⟩ = F | B ⟩ ⟺ F † | A ⟩ = | B ⟩ {\displaystyle |A\rangle =F|B\rangle \iff F^{\dagger }|A\rangle =|B\rangle } F † {\displaystyle F^{\dagger }}
ゲートのユニタリ逆がどのように動作するかにより、 。 例えば、 とする と 。 F † | A ⟩ = F − 1 ( | A ⟩ ) = | B ⟩ {\displaystyle F^{\dagger }|A\rangle =F^{-1}(|A\rangle )=|B\rangle } F ( x ) = x + 3 ( mod 2 n ) {\displaystyle F(x)=x+3{\pmod {2^{n}}}} | B ⟩ = | A − 3 ( mod 2 n ) ⟩ {\displaystyle |B\rangle =|A-3{\pmod {2^{n}}}\rangle }
F が完了まで実行されたと仮定すると、測定がどの順序(レジスタ A または B)で実行されて も等式は成立します。1 つの量子ビットの測定割り当てによって、他のエンタングルされた量子ビットから得られる値空間が制限されるため、測定は量子ビットごとにランダムかつ同時にインターリーブすることも可能です。
等式が成り立つとしても、 量子探索アルゴリズムの意図通り、 Fを適用した結果として、起こり得る結果を測定する確率が変わる可能性があります。
エンタングルメントによる値共有のこの効果は、 ショアのアルゴリズム 、 位相推定 、 量子計数 などに利用されています。 フーリエ変換を用いて、ある 問題 の解状態の確率振幅を増幅する手法は、「 フーリエフィッシング 」として知られる一般的な手法です 。 [37]
論理関数合成 1986年にファインマンによって提唱された 量子 全加算器 [3] 。これはトフォリゲートとCNOTゲートのみで構成されています。図中の点線の四角で囲まれたゲートは、 B出力 を復元するための 逆計算が 不要な 場合は省略できます。 ゲートのみを使用する関数やルーチンは、小さなゲートと同様に、それ自体が行列として記述できます。 量子ビットに作用する量子関数を表す行列のサイズは です 。例えば、「量子バイト」(8量子ビットの レジスタ )に作用する関数は、個の要素 を持つ行列で表されます 。 q {\displaystyle q} 2 q × 2 q {\displaystyle 2^{q}\times 2^{q}} 2 8 × 2 8 = 256 × 256 {\displaystyle 2^{8}\times 2^{8}=256\times 256}
量子コンピュータでネイティブに使用できるゲートのセット(プリミティブゲート)にないユニタリ変換は、 回路 で利用可能なプリミティブゲートを組み合わせることによって合成または近似できます。これを行う1つの方法は、ユニタリ変換をエンコードする行列を、利用可能なプリミティブゲートのテンソル積(つまり、直列回路と並列回路)の積に因数分解することです。グループ U (2 q ) は、量子ビット に作用するゲートの 対称グループ です。 [2] 因数分解は、プリミティブゲートの 生成セットからU(2 q ) 内のパスを見つける 問題 です。 ソロベイ-キタエフの定理は、 プリミティブゲートの十分なセットが与えられれば、どのゲートにも効率的な近似が存在することを示しています。量子ビットの数が多い一般的なケースでは、回路合成へのこの直接的なアプローチは 扱いにくい です。 [38] [39] これにより、大規模な関数を総当たり方式で原始的な量子ゲートに分解できる範囲が制限されます。通常、量子プログラムは、通常の古典プログラミングと同様に、比較的小さく単純な量子関数を用いて構築されます。 q {\displaystyle q}
ゲートの ユニタリ 性のため、すべての関数は 可逆で なければならず、常に入力から出力への 全単射の 写像でなければならない。となる 関数が常に存在しなければならない 。 可逆でない関数は、 補助量子ビット を入力または出力、あるいはその両方に追加することで可逆とすることができる。関数の実行が完了した後、補助量子ビットは 計算され ないか、そのまま残される。計算されない 補助量子ビットの量子状態を測定したり崩壊させたりすると(例えば、補助量子ビットの値を再初期化する、またはその自発的な デコヒーレンスによって)、エラーが発生する可能性がある。 [40] [41] これは、補助量子ビットの状態が、計算にまだ使用されている量子ビットとエンタングルされている可能性があるためである。 F − 1 {\displaystyle F^{-1}} F − 1 ( F ( | ψ ⟩ ) ) = | ψ ⟩ {\displaystyle F^{-1}(F(|\psi \rangle ))=|\psi \rangle }
論理的に不可逆な演算、例えば 2つの -量子ビットレジスタ a と b を法とする加算、 、 [h] は 、出力に情報を追加することで論理的に可逆になり、出力から入力を計算できるようになります(つまり、関数 が存在する )。 この例では、入力レジスタの1つを出力に渡すことでこれを実現できます: 。 その後、出力を使用して入力を計算できます(つまり、出力 と が与えられれば 、 入力 は簡単に見つけることができます。 が与えられ、 ) 、関数 は一対一になります。 2 n {\displaystyle 2^{n}} n {\displaystyle n} F ( a , b ) = a + b ( mod 2 n ) {\displaystyle F(a,b)=a+b{\pmod {2^{n}}}} F − 1 {\displaystyle F^{-1}} F ( | a ⟩ ⊗ | b ⟩ ) = | a + b ( mod 2 n ) ⟩ ⊗ | a ⟩ {\displaystyle F(|a\rangle \otimes |b\rangle )=|a+b{\pmod {2^{n}}}\rangle \otimes |a\rangle } a + b {\displaystyle a+b} a {\displaystyle a} a {\displaystyle a} ( a + b ) − a = b {\displaystyle (a+b)-a=b}
すべての ブール代 数式は、例えばPauli-Xゲート、CNOTゲート、Toffoliゲートなどを組み合わせることで、ユニタリ変換(量子論理ゲート)として符号化できます。これらのゲートは、ブール論理領域において 機能的に完全 です。
Q# 、 QCL 、 Qiskit 、その他の 量子プログラミング 言語のライブラリには、多くのユニタリ変換が用意されています 。また、文献にも記載されています。 [42] [43]
例えば、 レジ スタ を構成する量子ビットの数である は 、 QCLでは次のように実装される: [44] [13] [12] i n c ( | x ⟩ ) = | x + 1 ( mod 2 x length ) ⟩ {\displaystyle \mathrm {inc} (|x\rangle )=|x+1{\pmod {2^{x_{\text{length}}}}}\rangle } x length {\displaystyle x_{\text{length}}} x {\displaystyle x}
cond qufunct inc ( qureg x ) { // レジスタをインクリメント int i ; for i = # x - 1から 0 へ step - 1 { CNot ( x [ i ], x [ 0 :: i ]); // MSB から LSB へ制御否定を適用 } // MSB から LSB へ } のときに生成される回路 。記号 、 、 はそれぞれ XOR 、 AND 、 NOT を表し、計算基底にある状態に適用された場合の 0 個以上の制御量子ビットを持つ Pauli- X のブール表現から得られ ます。 x length = 4 {\displaystyle x_{\text{length}}=4} ⊕ {\displaystyle \oplus } ∧ {\displaystyle \land } ¬ {\displaystyle \neg } QCLでは、デクリメントはインクリメントを「元に戻す」ことで実行されます。接頭辞 は、 !関数 のユニタリ逆関数を実行するために使用されます。 !inc(x)は の逆関数であり inc(x)、代わりに の演算を実行します 。 キーワード は、関数が条件付きであることを意味します。 [11] i n c † | x ⟩ = i n c − 1 ( | x ⟩ ) = | x − 1 ( mod 2 x length ) ⟩ {\displaystyle \mathrm {inc} ^{\dagger }|x\rangle =\mathrm {inc} ^{-1}(|x\rangle )=|x-1{\pmod {2^{x_{\text{length}}}}}\rangle } cond
この記事で使用されている 計算モデル( 量子回路 モデル)では 、古典コンピュータが量子コンピュータのゲート構成を生成し、量子コンピュータは、 どの基本ゲートをどの量子ビットに適用するかについての命令を古典コンピュータから受け取る コプロセッサとして動作します。 [13] :36〜43 [14] 量子レジスタの測定は、古典コンピュータが計算に使用できるバイナリ値になります。 量子アルゴリズム には、多くの場合、古典的な部分と量子的な部分の両方が含まれます。 測定されていない I/O (量子状態を崩壊させずに量子ビットをリモートコンピュータに送信すること)を使用して、 量子コンピュータのネットワーク を作成できます。その後、 エンタングルメントスワッピングを使用して、直接接続されていない量子コンピュータで 分散アルゴリズム を実現できます 。 少数の量子論理ゲートのみを使用する分散アルゴリズムの例としては、 超高密度符号化 、 量子ビザンチン合意 、 BB84 暗号鍵交換プロトコル などがあります。
参照
注記 ^ 量子ゲートの行列乗算は直列回路として定義されます。 ^ ここで注意すべきは、ブロッホ球面の周りの完全な回転は ラジアンであるが、 回転演算子ゲート では完全な回転は 2 π {\displaystyle 2\pi } 4 π . {\displaystyle 4\pi .} ^ P ゲートまたは Ph ゲートのいずれか を使用することができる。 [2] : 11 [1] : 76–83 R z ( δ ) Ph ( δ / 2 ) = P ( δ ) {\displaystyle R_{z}(\delta )\operatorname {Ph} (\delta /2)=P(\delta )} ^ この集合は、あらゆる可能なユニタリゲートを正確に生成します。しかし、測定出力においてグローバル位相は無関係であるため、普遍的な量子部分集合を構築することができます。例えば、 R y ( θ ) 、 R z ( θ ) 、CNOT を含む集合は、行列式が ±1 であるすべてのユニタリゲートのみを張ることになりますが、量子計算には十分です。 ^ ab これが実際に 確率的効果であるかどうかは 、量子力学のどの解釈 が正しいか(そして、どんな解釈も正しい可能性があるかどうか) によって決まります。例えば、 ド・ブロイ=ボーム理論 と 多世界解釈は 決定論 を主張します 。(多世界解釈では、量子コンピュータとは、 問題 の解の状態を持つ確率が高い現実を選択するプログラム( 量子回路 )を実行する機械です。つまり、機械は正しい答えを出す現実にたどり着くことが多いのです。多世界解釈によれば、 すべての 結果は別々の宇宙で実現されるため、全体的な結果は決定論的です。しかし、この 解釈 によって機械が動作する 仕組み が変わることはありません。) ^ 確率公理を参照 § 第二公理 ^ 確率の合計 が 1 なので斜辺の 長さは 1 となり、量子状態ベクトルは 単位ベクトル になります。 ^ 入力は 量子ビットですが、出力は単なる 量子ビットです。情報の消去は可逆(または ユニタリ )な操作ではないため、許可されません。 ランダウアーの原理 も参照してください。 2 n {\displaystyle 2n} n {\displaystyle n}
参考文献 ^ abcdefghijk コリン・P・ウィリアムズ (2011). 『量子コンピューティングの探究 』 シュプリンガー . ISBN 978-1-84628-887-6 。 ^ abcdefg Barenco, Adriano; Bennett, Charles H.; Cleve, Richard; DiVincenzo, David P.; Margolus, Norman; Shor, Peter; Sleator, Tycho; Smolin, John A.; Weinfurter, Harald (1995-11-01). 「量子計算のための基本ゲート」. Physical Review A. 52 ( 5). American Physical Society (APS): 3457– 3467. arXiv : quant-ph/9503016 . Bibcode :1995PhRvA..52.3457B. doi :10.1103/physreva.52.3457. ISSN 1050-2947. PMID 9912645. S2CID 8764584. ^ ab ファインマン, リチャード・P. (1986). 「量子力学コンピュータ」. 『物理学の基礎』 . 16 (6). Springer Science and Business Media LLC: 507–531 . Bibcode :1986FoPh...16..507F. doi :10.1007/bf01886518. ISSN 0015-9018. S2CID 122076550. ^ abcdefghi ニールセン, マイケル・A. ; チュアン, アイザック (2010). 『量子計算と量子情報』ケンブリッジ: ケンブリッジ大学出版局 . ISBN 978-1-10700-217-3 . OCLC 43641333。 ^ abcde Yanofsky, Noson S.; Mannucci, Mirco (2013). 量子コンピューティングとコンピュータ科学者 . Cambridge University Press . ISBN 978-0-521-87996-5 。 ^ Preskill, John (2021-06-06). 「量子コンピューティング40年後」pp. 10– 15. arXiv : 2106.10522 [quant-ph]. ^ 「回路ライブラリ」IBM ( Qiskit )。 ^ “cQASM: Qubit gate operations”. QuTech. 2024年5月11日時点のオリジナルよりアーカイブ 。 2021年10月6日 閲覧。 ^ “Microsoft.Quantum.Intrinsic 名前空間”. Microsoft ( Q# ). 2023年7月28日. ^ ab 演算と関数 (Q# ドキュメント) ^ ab Ömer, Bernhard (2009年9月2日). 「構造化量子プログラミング」 (PDF) . ウィーン工科大学理論物理学研究所. pp. 72, 92– 107. 2022年3月27日時点のオリジナルよりアーカイブ (PDF) . 2021年 7月28日 閲覧 。 ^ ab Ömer, Bernhard (2003年4月29日). 「量子プログラミングにおける古典的概念」. International Journal of Theoretical Physics . 44 (7): 943– 955. arXiv : quant-ph/0211100 . doi :10.1007/s10773-005-7071-x. S2CID 119373370. ^ abcd Ömer, Bernhard (2000-01-20). QCLにおける量子プログラミング (PDF) (論文). ウィーン工科大学理論物理学研究所. 2022年6月1日時点の オリジナル (PDF)からアーカイブ。 2021年5月24日 閲覧 。 ^ ab Pauka SJ, Das W, Kalra R, Moini A, Yang Y, Trainer M, Bousquet A, Cantaloube C, Dick N, Gardner GC, Manfra MJ, Reilly DJ (2021). 「複数量子ビットの制御信号を生成する極低温CMOSチップ」. Nature Electronics . 4 (4): 64– 70. arXiv : 1912.01299 . doi :10.1038/s41928-020-00528-y. S2CID 231715555. ^ 「TdgGate」. Qiskit オンライン ドキュメント。 ^ 「Tダガーゲート」. cQASM オンライン ドキュメント。 ^ ab Aharonov, Dorit (2003-01-09). 「ToffoliとHadamardが量子普遍性を持つことの簡単な証明」. arXiv : quant-ph/0301040 . ^ サウィッキー、アダム;カルナス、カタルジナ (2017-11-01)。 「シングルクイットゲートの普遍性」。 アナレス・アンリ・ポアンカレ 。 18 (11 ) : 3515–3552.arXiv : 1609.05780 。 Bibcode :2017AnHP...18.3515S。 土井 :10.1007/s00023-017-0604-z。 ISSN 1424-0661。 S2CID 253594045。 ^ Sawicki, Adam; Mattioli, Lorenzo; Zimborás, Zoltán (2022-05-12). 「量子ゲート集合の普遍性検証」. Physical Review A. 105 ( 5) 052602. arXiv : 2111.03862 . Bibcode :2022PhRvA.105e2602S. doi :10.1103/PhysRevA.105.052602. S2CID 248761038. ^ ウィリアムズ、コリン・P. (2011)、ウィリアムズ、コリン・P. (編)、「量子ゲート」、 量子コンピューティングの探究 、コンピュータサイエンスのテキスト、ロンドン、イギリス:シュプリンガー、pp. 51– 122、 doi :10.1007/978-1-84628-887-6_2、 ISBN 978-1-84628-887-6 ^ Deutsch, David (1989年9月8日)、「量子計算ネットワーク」、 Proc. R. Soc. Lond. A 、 425 (1989): 73– 90、 Bibcode :1989RSPSA.425...73D、 doi :10.1098/rspa.1989.0099、 S2CID 123073680 ^ Shi, Xiao-Feng (2018-05-22). 「中性原子のリュードベリ遮断によるDeutsch、Toffoli、およびcnotゲート」. Physical Review Applied . 9 (5) 051001. arXiv : 1710.01859 . Bibcode :2018PhRvP...9e1001S. doi :10.1103/PhysRevApplied.9.051001. ISSN 2331-7019. S2CID 118909059. ^ 「I オペレーション」. docs.microsoft.com . 2023年7月28日. ^ 「IGate」 。qiskit.org 。 Qiskit オンライン ドキュメント。 ^ ab Loss, Daniel; DiVincenzo, David P. (1998-01-01). 「量子ドットによる量子計算」. Physical Review A. 57 ( 1): 120– 126. arXiv : cond-mat/9701055 . Bibcode :1998PhRvA..57..120L. doi : 10.1103/physreva.57.1 20. ISSN 1050-2947. 式2の例。 ^ Raz, Ran (2002). 「行列積の計算量について」. 第34回 ACM計算理論シンポジウム 議事録. pp. 144– 151. doi :10.1145/509907.509932. ISBN 1-58113-495-9 . S2CID 9582328。 ^ "UnitaryGate § UnitaryGate adjoint()". docs.quantum.ibm.com . ^ グリフィス, DJ (2008). 『素粒子入門(第2版) 』 ジョン・ワイリー・アンド・サンズ pp. 115– 121, 126. ISBN 978-3-527-40601-2 。 ^ アルバート、デイヴィッド (1994). 『量子力学と経験 』 ハーバード大学出版局 . p. 35. ISBN 0-674-74113-7 。 ^ ショーン・M・キャロル (2019). 時空と幾何学:一般相対性理論入門 . ケンブリッジ大学出版局 . pp. 376– 394. ISBN 978-1-108-48839-6 。 ^ ウォレス、デイヴィッド (2012年) 『創発する多元宇宙:エヴェレット解釈による量子論 』 オックスフォード大学出版局 、 ISBN 978-0-19-954696-1 。 ^ キャロル、ショーン・M. (2019). 『深く隠されたもの:量子世界と時空の出現 』 ペンギンランダムハウス . ISBN 978-1-5247-4301-7 。 ^ Q# オンラインマニュアル: 測定 ^ フアン・イン;袁操。ユ・フアイ・リー;シェンカイ・リャオ。梁張。ジ・ガン・レン;蔡ウェンチー。ウェイ・ユエ・リウ。ボー・リー。ホイダイ。リー・グアンビン;ルー・キミン;ゴン・ユンホン。ユウ・シュウ;リー・シュアンリン。李鳳志;ヤユンイン。ジャン・ジーチン。ミン・リー; Jian-Jun Jia;ゲ・レン。ドンヘ。周イーリン;チャン・シャオシャン。ナ・ワン;シャン・チャン。 Zhen-Cai Zhu;ナイレ・リュー。ユアオ・チェン;ルー・チャオヤン。栄秀。チェン・ジー・ペン;ワン・ジャンユー; ジャンウェイ・パン (2017) 「1200キロメートルにわたる衛星ベースのもつれ分布」。 量子光学 . 356 (6343): 1140– 1144. arXiv : 1707.01339 . doi :10.1126/science.aan3211. PMID 28619937. S2CID 5206894. ^ ビリングス、リー(2020年4月23日)「中国が『遠隔地における不気味な作用』の記録を破り、量子インターネットに備える」 サイエンティフィック・アメリカン 。 ^ ポプキン、ガブリエル(2017年6月15日)「中国の量子衛星、記録的な距離で『不気味な作用』を達成」 サイエンス誌 - AAAS 。 ^ Aaronson, Scott (2009). 「BQPと多項式階層」. arXiv : 0910.4698 [quant-ph]. ^ Dawson, Christopher M.; Nielsen, Michael (2006-01-01). 「ソロベイ・キタエフアルゴリズム」. 量子情報・計算 . 6 (1). セクション5.1、式23. arXiv : quant-ph/0505030 . doi :10.26421/QIC6.1-6. ^ Matteo, Olivia Di (2016). 「量子回路合成の並列化」. 量子科学技術 . 1 (1) 015003. arXiv : 1606.07413 . Bibcode :2016QS&T....1a5003D. doi :10.1088/2058-9565/1/1/015003. S2CID 62819073. ^ Aaronson, Scott (2002). 「再帰フーリエサンプリングの量子下限値」. 量子情報・計算 . 3 (2): 165– 174. arXiv : quant-ph/0209060 . Bibcode :2002quant.ph..9060A. doi :10.26421/QIC3.2-7. ^ Q# オンラインマニュアル: 量子メモリ管理 ^ 浅香 亮; 坂井 一光; 矢作 亮子 (2020). 「高速フーリエ変換のための量子回路」. 量子情報処理 . 19 (277): 277. arXiv : 1911.03055 . Bibcode :2020QuIP...19..277A. doi :10.1007/s11128-020-02776-5. S2CID 207847474. ^ Montaser, Rasha (2019). 「Rゲートを用いた可逆全加算器/減算器の新設計」. International Journal of Theoretical Physics . 58 (1): 167– 183. arXiv : 1708.00306 . Bibcode :2019IJTP...58..167M. doi :10.1007/s10773-018-3921-1. S2CID 24590164. ^ QCL 0.6.4 ソースコード、ファイル「lib/examples.qcl」
出典