Nobisuke
Dekisugi
RAG
Privacy policy
2021/01/31 13:52
前回は1量子ビットと2量子ビットと重ね合わせを見ました。今回は量子もつれと呼ばれる特殊な回路を見てみます。
回路は簡単です。アダマールゲートとCXゲートを使います。
Copy from blueqat import Circuit Circuit().h[0].cx[0,1].m[:].run(shots=100)
Counter({'11': 42, '00': 58})
まずはツールを読み込んで、上記の回路を実行してみます。
Counter({'00': 47, '11': 53})
結果は、、、00と11が約半分ずつ出ました。こちらは重ね合わせの後にさらに2量子ビットを使うことでもつれを実現しています。
ここで、もつれと重ね合わせの違いを確認しておきましょう。重ね合わせは2量子ビットあると、最大で00,01,10,11の4つの組み合わせがあります。ただ重ね合わせただけでは組み合わせが多すぎて計算結果をうまく選べません。ここでもつれを使います。上記のもつれでは2つの解だけが出ます。
これによって答えを絞り込むことができます。たくさん重ねてうまく絞り込むことで速度を生かしたアルゴリズムを作り出すことができます。
2量子ビットの重ね合わせ回路は、
Copy Circuit().h[0,1].m[:].run(shots=100)
Counter({'00': 21, '11': 22, '01': 29, '10': 28})
こうなり、実行すると、
Counter({'00': 20, '01': 30, '10': 27, '11': 23})
このようになりました。重ね合わせを実行しただけでは4つの答えが出ました。もつれを使ってうまく絞り込みましょう。今後はより複雑な回路を見ていきたいと思います。今回は以上です。
© 2024, blueqat Inc. All rights reserved