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

こんなに簡単に量子重ね合わせやもつれが実機で計算できるとは?!IonQとRigettiにジョブを投げる。

Yuichiro Minato

2021/04/22 15:55

#量子コンピュータ

ついにこの日が来ました。量子コンピュータを世界一簡単に使いたいですよね。RigettiとIonQを超簡単にblueqat cloudから使えます。便利なツールも出来上がりました。基本的な記事はこちらを参照していただいて、

https://blueqat.com/gyu-don/87fcb9ce-f5c2-4f9e-8697-191c8781d70b

具体的な問題を解いてみたいと思います。まずはクラウドにつなぐツールをインストール確認します。

!pip install -U blueqat-cloud

次に先ほどの記事で書いてあるAPIkeyは設定されていることとします。キーは blueqat.com の右上のメニューから発行できます。早速保存されたキーを使って回路を実装してみましょう。

from blueqat import Circuit from bqcloud import load_api, Device #キーの読み込み api = load_api()

今回は基本的な重ね合わせ回路と量子もつれ回路を作ってみます。

a = Circuit().h[0]

まずは0と1の重ね合わせをIonQとRigettiのデバイスにそれぞれ投げてみます。まずはRigetti

task2 = api.execute(a, Device.Aspen9, 100) print(task2.status())
Status.RUNNING
result2 = task2.wait(timeout=100) if result2: print(result2.shots()) else: print("timeout")
Counter({'1': 55, '0': 45})

きちんと重ね合わせができています。続いてIonQを試してみます。

task = api.execute(a, Device.IonQDevice, 100) print(task.status())
Status.CREATED
result = task.wait(timeout=100) if result: print(result.shots()) else: print("timeout")
Counter({'0': 53, '1': 47})

2021年4月段階ではまだIonQはジョブの処理に時間がかかります。計算結果は素晴らしいです。

続いて量子もつれです。

b = Circuit().h[0].cx[0,1]

先ほどと同じでまずはRigettiのAspen9で、

task3 = api.execute(b, Device.Aspen9, 100) print(task3.status())
Status.RUNNING
result3 = task3.wait(timeout=100) if result3: print(result3.shots()) else: print("timeout")
Counter({'11': 38, '00': 36, '10': 21, '01': 5})

こちらは意外と早く結果が出ました。多少間違っておりますが、まぁある程度答え出ています。続いてIonQです。

task4 = api.execute(b, Device.IonQDevice, 100) print(task4.status())
Status.CREATED
result4 = task4.wait(timeout=100) if result4: print(result4.shots()) else: print("timeout")
Counter({'11': 50, '00': 47, '10': 3})

こちらは多少間違えましたが、おおむねいい感じですね!こんな簡単に量子コンピュータが使える時代が来たのはすごいと思います。以上です。

© 2024, blueqat Inc. All rights reserved