common.title
Cloud support

Nobisuke

Dekisugi

RAG


autoQAOA
RAG for dev
Fortune telling app
Annealing
DEEPSCORE
Translation

Overview
Service overview
Terms of service

Privacy policy

Contact
Research

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