Help us understand the problem. What is going on with this article?

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

はじめに

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

前回まで

「Google ColaboratoryとBlueqatで始める量子コンピュータプログラミング01(1量子ビット)」
https://qiita.com/YuichiroMinato/items/6908e00c98843cc64bf0

早速やってみます

youtubeでは動画を、google colabのリンクでは実際にプログラミングがされた状態が準備できます。

今回のyoutubeのリンク
https://www.youtube.com/watch?v=ySxwkGvT8To

今回のgoogle colabリンク
https://colab.research.google.com/github/Blueqat/Blueqat-tutorials/blob/master/tutorial-ja/002_basic_two_qubits.ipynb

インストール

まずはインストールです。google colabでは毎回インストールが必要です。

!pip install blueqat

!マークをつけてインストールをします。完了したら次に進みます。

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

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

from blueqat import Circuit

Circuit().cx[0,1].m[:].run(shots=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)

結果として先ほどと異なる11が出ました。

Counter({'11': 1})

これは、最初の量子ビットを1にしてからCXを行うと、もう一つの量子ビットにXゲートが適用されて、0から1になりました。両方の量子ビットが1なので11がでます。

応用3量子ビット

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

Circuit(3).x[0].cx[0,1].m[:].run(shots=1)

blueqatでは最初にCircuit()のなかに量子ビット数を指定することができます。その後回路を実行すると、、、

Counter({'110': 1})

このように最後の量子ビットは利用されず0のまま出てきました。

まとめ

今回は2量子ビットの回路を見てみました。CX回路の他に色々な回路がありますので、そのうち確認したいと思います。以上です。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away