簡単な量子アルゴリズム
これまでの章で紹介したゲートを使って、回路上に簡単なアルゴリズムを作成できるようになりました。そのためにはまず、次に示すように、1 つの量子ビットに複数のゲートを適用する場合を調べる必要があります:
QASM 言語では、3 つの異なる u3 ゲートを定義することで、3 つの異なるゲート
OpenQASM
OPENQASM 2.0; include "qelib1.inc"; qreg q[1]; u(pi,pi,pi) q[0]; u(pi/2,pi/2,pi/2) q[0]; u(pi/4,pi/4,pi/4) q[0];
Der interaktive QASM-Playground ist auf PhotonQ verfügbar. Diesen Abschnitt auf PhotonQ öffnen
中間ステップの状態
一般に、ゲートの順序を入れ替えることはできない点に注意してください。
乱数生成器
状態と、ある最終状態が得られる対応する確率は計算できますが、確実性は測定によってのみ得られます。そして測定は、量子ビットが持ち得る重ね合わせを壊してしまいます。この講義の中で、この測定の効果が、課題のための特定のツールとしても利用できることを、私たちは繰り返し見ていきます。
簡単な例は、アダマールゲートと測定の組み合わせであり、これは 真の 乱数生成器を作り出します:
OpenQASM
OPENQASM 2.0; include "qelib1.inc"; qreg q[1]; creg c[1]; h q[0]; measure q[0] -> c[0];
Der interaktive QASM-Playground ist auf PhotonQ verfügbar. Diesen Abschnitt auf PhotonQ öffnen
入力量子ビットの状態は
エンタングルメント
一見すると非常に単純に見えるもう 1 つの回路が、2 つの量子ビットのエンタングルメント(量子もつれ)です。
OpenQASM
OPENQASM 2.0; include "qelib1.inc"; qreg q[2]; h q[0]; cx q[0], q[1];
Der interaktive QASM-Playground ist auf PhotonQ verfügbar. Diesen Abschnitt auf PhotonQ öffnen
もし
時間ステップ
この状態は、アイルランドの物理学者ジョン・ベルにちなんで名付けられました。入力レジスタ
4 つの状態の主な違いは、
この最終状態からは、それが個々の量子ビットのテンソル積として書けないことがわかります。エンタングルメントはまさにこのように定義されます2:
定義
いま、
そのような分解が存在しない場合、その状態はエンタングルしていると呼ばれます。
エンタングル状態を作るには、それ自体が個々の量子ビット上のテンソル積として表現できないユニタリ変換が必要です。重ね合わせと並んで、エンタングルメントは量子コンピューティングにおける最も強力なツールの 1 つです。物理的には、これらの状態を作り出すのは難しく、それゆえコストがかかります。長距離にわたって作り出す場合には特にそうです。