Slide 1

Slide 1 text

Quantum Tokyo Qt IBM Quantum Challenge Spring 2023 Lab5解説 Ayumu Shiraishi (ISE, Data Science Lab) Qiskit Advocate

Slide 2

Slide 2 text

Quantum Tokyo アジェンダ ⚫ Lab5の概要 ⚫ Exercise1 ⚫ Exercise2 ⚫ Exercise3 ⚫ Depthを改良する ⚫ 最後に

Slide 3

Slide 3 text

Quantum Tokyo Lab5概要

Slide 4

Slide 4 text

Quantum Tokyo 余談)Sherbrooke

Slide 5

Slide 5 text

Quantum Tokyo GHZ状態とは

Slide 6

Slide 6 text

Quantum Tokyo GHZ状態とは 全ての量子ビットが|0>もしくは|1>がちょうど1/2の確率で観測される状態 | ۧ 0 + | ۧ 1 2 | ۧ 00 + | ۧ 11 2 | ۧ 000 + | ۧ 111 2 | ۧ 00 ⋯ 0 + | ۧ 11 ⋯ 1 2 = | ۧ 0 ⊗𝑛 + | ۧ 1 ⊗𝑛 2 𝑛 = 1: 𝑛 = 2: 𝑛 = 3: 一般の𝑛: ←1量子ビットの単なる重ね合わせ ←EPR状態 ←(歴史的に最初に定義された)GHZ状態 ←一般化されたGHZ状態

Slide 7

Slide 7 text

Quantum Tokyo ibm_sherbrooke

Slide 8

Slide 8 text

Quantum Tokyo Exercise1

Slide 9

Slide 9 text

Quantum Tokyo Exercise1 このexerciseのGraderを通すだけなら、量子H/Wデバイスのレイアウトを無視して、 GHZ状態をシンプルに生成することでも可能 Depth = 127

Slide 10

Slide 10 text

Quantum Tokyo Exercise2

Slide 11

Slide 11 text

Quantum Tokyo Exercise2 GHZビット(”odd”) スタビライザー ビット(“even”)

Slide 12

Slide 12 text

Quantum Tokyo Exercise2 このexerciseもGraderを通すだけなら、レイアウトを無視して、GHZ量子ビットのい ずれかから、スタビライザー量子ビットにCNOTを通すだけで良い 最も単純には量子ビット0をコントロールとする Depth = 73

Slide 13

Slide 13 text

Quantum Tokyo 実機で動かすための準備(Step2続き)

Slide 14

Slide 14 text

Quantum Tokyo 実機で動かす(Step3)

Slide 15

Slide 15 text

Quantum Tokyo 実機で動かす(Step3)

Slide 16

Slide 16 text

Quantum Tokyo Exercise3

Slide 17

Slide 17 text

Quantum Tokyo Exercise3 1回ごとの出力結果をget_memory関数で取得することが前提となる

Slide 18

Slide 18 text

Quantum Tokyo Exercise3 |0>か|1>の状態が多い方を観測時に決定した状態とみなすと、少ない方の数をエラー 数としてカウントする 配列の右側から小さいビット 番号になることに注意し、 GHZビットの’1’の数を数える 最後に平均を取る ‘0’と’1’の少ない方を エラーとみなして選定

Slide 19

Slide 19 text

Quantum Tokyo Exercise3 研究者の皆さん、 教えてください!

Slide 20

Slide 20 text

Quantum Tokyo ボーナス:エラー訂正への道 ごめんなさい、ここから先はできていません。。。

Slide 21

Slide 21 text

Quantum Tokyo 回路全体の更なる改良 実機で動かす上ではエラーを減らして計算精度を高い状態にするためには、Depthを 減らすことが重要になってくるので、その観点で改良を試みる • GHZ状態をどう効率的作るか(Exercise1の改良) → hard • Stabilizer状態の生成をどう効率的に作るか(Exercise2の改良)→ easy(先にこち らから)

Slide 22

Slide 22 text

Quantum Tokyo Exercise2の改良 物理的に隣合う量子ビットで交互にGHZ状態とスタビライザー状態が折りたたまれて いるので、GHZ状態を残す量子ビットを制御に、隣合うスタビライザー用の量子ビッ トをターゲットにすることで少ないdepthで構成が可能 例えば0->1、18->19、・・・・

Slide 23

Slide 23 text

Quantum Tokyo Exercise2の改良

Slide 24

Slide 24 text

Quantum Tokyo Exercise1の改良 まだレイアウトを無視した上で、もう少し効率的な方法は樹形図的にGHZ状態を波及 させていく方法がある

Slide 25

Slide 25 text

Quantum Tokyo Exercise1のさらなる改良 着想: • 端から始めるのではなく、真ん中から始めてGHZ状態を波及させていてくのが速 いのでは???

Slide 26

Slide 26 text

Quantum Tokyo Transpiled Depthは何故増えるのか① • 直接接続が無い量子ビット同士に対して、多量子ビットゲート(例:CNOT)を使 う場合には、接続できている量子ビット間を経由して、より多くのDepthを使うこ とで同一の処理となるゲートを再構成しなければならない Transpile Sherbrookeの量 子ビット0から2 をCNOTする

Slide 27

Slide 27 text

Quantum Tokyo Depth=1(63にHadamardをかける) H

Slide 28

Slide 28 text

Quantum Tokyo Depth=2 (63を制御に64にCNOT) +

Slide 29

Slide 29 text

Quantum Tokyo Depth=3 (63->64、62->72それぞれ同時に CNOT) + +

Slide 30

Slide 30 text

Quantum Tokyo Depth=4 (63->64、62->72それぞれ同時に CNOT) + + +

Slide 31

Slide 31 text

Quantum Tokyo Depth=5 ~ + + + +

Slide 32

Slide 32 text

Quantum Tokyo クリティカルパスに如何に早く届けるかを意識 する

Slide 33

Slide 33 text

Quantum Tokyo 白石が書いた最小Depthコード (Depth=18) 実は124に向か うルートが最後 の改良ポイント になる

Slide 34

Slide 34 text

Quantum Tokyo 描画してみたんですが・・・

Slide 35

Slide 35 text

Quantum Tokyo 最終的なTranspiled Depth しかし、人によっては似たような回路を作っているけども、depthがこれよりも長く なってしまっているケースがある → 疑問

Slide 36

Slide 36 text

Quantum Tokyo Transpiled Depthは何故増えるのか② • 直接接続がある量子ビット間でも、直接CNOT可能な“向き”が存在し、コントロー ルとターゲットをどちらにするかで追加のゲートを必要とする場合がある • 以下はibm_sherbrookeの量子ビット0番と1番の場合

Slide 37

Slide 37 text

Quantum Tokyo Transpiled Depthは何故増えるのか②

Slide 38

Slide 38 text

Quantum Tokyo Depth=52の人もいる? おそらく、この“向き”も考慮しているのではないか?

Slide 39

Slide 39 text

Quantum Tokyo 参考情報 https://soon-teh.github.io/blog/2023/quantum-challenge-spring-ghz/

Slide 40

Slide 40 text

Quantum Tokyo 最後に 近い内にQiitaにでもコチラの解説記事を書きます。