Nobisuke
Dekisugi
RAG
Privacy policy
2021/01/29 14:16
前回は1量子ビットの計算の概要を見ました。今回は2量子ビットを見てみます。
「blueqat cloudで始める無料量子コンピュータプログラミング01(1量子ビットの計算)」 https://blueqat.com/yuichiro_minato2/6d3cf2e7-4fdd-4aa5-b211-0e039ded6967
まずはblueqatを書き始めましょう。1行で読み込めます。次にcx回路を書いて、測定をして、実行をします。
Copy from blueqat import Circuit Circuit().cx[0,1].m[:].run(shots=1)
Counter({'00': 1})
これを実行すると、
Counter({'00': 1})
00という答えが出ました。CX回路は最初に指定したビットをコントロールビット、後に指定したビットをターゲットビットと呼び、コントロールビットが1の時に、CXの場合にはターゲットビットにXゲートを適用します。今回は初期化してそのままCXゲートを作用させました。0番目の量子ビットは0のままCXゲートを実行するとCXを行なっても何も起きません。
Copy Circuit().x[0].cx[0,1].m[:].run(shots=1)
Counter({'11': 1})
結果として先ほどと異なる11が出ました。
Counter({'11': 1})
これは、最初の量子ビットを1にしてからCXを行うと、もう一つの量子ビットにXゲートが適用されて、0から1になりました。両方の量子ビットが1なので11がでます。
3つ量子ビットがあった時はどうなるでしょうか?
Copy Circuit(3).x[0].cx[0,1].m[:].run(shots=1)
Counter({'110': 1})
blueqatでは最初にCircuit()のなかに量子ビット数を指定することができます。その後回路を実行すると、、、
Counter({'110': 1})
このように最後の量子ビットは利用されず0のまま出てきました。
今回は2量子ビットの回路を見てみました。CX回路の他に色々な回路がありますので、そのうち確認したいと思います。以上です。
© 2024, blueqat Inc. All rights reserved