common.title

Docs
Quantum Circuit
TYTAN CLOUD

QUANTUM GAMING


autoQAOA
Desktop RAG

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と同じくらい出てますね。以上です。

© 2025, blueqat Inc. All rights reserved