common.title

Overview
Service overview
Terms of service

Privacy policy

Contact

Sign in
Sign up
common.title

blueqat cloudで始める量子コンピュータプログラミング02(2量子ビット)

Yuichiro Minato

2021/01/29 14:16

#量子ゲート

はじめに

前回は1量子ビットの計算の概要を見ました。今回は2量子ビットを見てみます。

前回まで

「blueqat cloudで始める無料量子コンピュータプログラミング01(1量子ビットの計算)」 https://blueqat.com/yuichiro_minato2/6d3cf2e7-4fdd-4aa5-b211-0e039ded6967

まずは手始めに簡単な回路

まずはblueqatを書き始めましょう。1行で読み込めます。次にcx回路を書いて、測定をして、実行をします。

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を行なっても何も起きません。

次に最初の量子ビットを1にしてからCXをやってみる

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量子ビット

3つ量子ビットがあった時はどうなるでしょうか?

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