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

Google ColaboratoryとBlueqatで始める量子コンピュータプログラミング04(量子もつれ)

はじめに

前回は1量子ビットと2量子ビットと重ね合わせを見ました。今回は量子もつれと呼ばれる特殊な回路を見てみます。

前回まで

前回までのおさらいはこちらです。

「Google ColaboratoryとBlueqatで始める量子コンピュータプログラミング03(重ね合わせ)」
https://qiita.com/YuichiroMinato/items/58d43c55f7a46b9e9b23

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

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

早速やってみます

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

youtube動画は、
https://www.youtube.com/watch?v=k1k7U0ZK-BQ

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

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

!pip install blueqat

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

早速回路を作ってみます

回路は簡単です。アダマールゲートとCXゲートを使います。

from blueqat import Circuit

Circuit().h[0].cx[0,1].m[:].run(shots=100)

まずはツールを読み込んで、上記の回路を実行してみます。

Counter({'00': 47, '11': 53})

結果は、、、00と11が約半分ずつ出ました。こちらは重ね合わせの後にさらに2量子ビットを使うことでもつれを実現しています。

重ね合わせとの違い

ここで、もつれと重ね合わせの違いを確認しておきましょう。重ね合わせは2量子ビットあると、最大で00,01,10,11の4つの組み合わせがあります。ただ重ね合わせただけでは組み合わせが多すぎて計算結果をうまく選べません。ここでもつれを使います。上記のもつれでは2つの解だけが出ます。

これによって答えを絞り込むことができます。たくさん重ねてうまく絞り込むことで速度を生かしたアルゴリズムを作り出すことができます。

2量子ビットの重ね合わせ回路は、

Circuit().h[0,1].m[:].run(shots=100)

こうなり、実行すると、

Counter({'00': 20, '01': 30, '10': 27, '11': 23})

このようになりました。重ね合わせを実行しただけでは4つの答えが出ました。もつれを使ってうまく絞り込みましょう。今後はより複雑な回路を見ていきたいと思います。今回は以上です。

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