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で量子振幅増幅回路

Yuichiro Minato

2021/04/24 16:29

#IonQ

今回は以前Rigettiで行った振幅増幅回路をIonQで実行してみます。 参考:https://blueqat.com/yuichiro_minato2/c857f49e-5165-46a4-aa2d-8bc30bb7db2d

!pip install -U blueqat-cloud

まずはツールとAPIkeyの読み込みです。

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

まずはマーキング回路です。Rigettiの時と同じ回路を使います。

#marking on |01>
 
----S--*--S---
-------Z-------

そして、増幅反転回路は共通です。

--H-X-*-X-H--
--H-X-Z-X-H--

これらを実装しますが、IonQのデフォルトにCZがないので、H,CX,HでCZを作ります。

a = Circuit(2).h[:].x[:].h[1].cnot[0,1].h[1].x[:].h[:] task = api.execute(Circuit(2).h[:].s[0].h[1].cnot[0,1].h[1].s[0] + a, Device.IonQDevice, 100)
result = task.wait(timeout=10) if result: print(result.shots()) else: print("timeout")
Counter({'10': 96, '00': 2, '01': 1, '11': 1})

できました!これくらいの回路ですと精度はRigettiと同じくらい出てますね。以上です。

© 2024, blueqat Inc. All rights reserved