量子コンピュータ
飯山悠太郎
ICEPP, The University of Tokyo@ Flavor Physics workshop 2021
September 30, 2021

2

量子コンピュータとは？
「量子演算子」のほうが的確•

最近では「QPU」と呼ぶほうが玄人っぽいようです•

メールを読んだり動画を見たりするのには使いません•

原理的には可能© IBM© D-Wave3

量子コンピュータの持つべき性質
広く捉えて•特定の状態に準備できる量子系を持ち•その系に対して決まった操作を繰り返し実行でき•系の状態を測定することができる

補助的に•量子系は多体系•

上の全てを高速で繰り返せる

4

量子コンピュータの何が嬉しいか・１
２準位系（量子ビット）n個からなる系を考える•

２つの準位を | 0⟩と | 1⟩と呼ぶことにする•

例えばn = 3の場合で量子ビットがそれぞれ | 1⟩, | 0⟩, | 1⟩状態にあるとき
全系の状態は | 1⟩ ⊗ | 0⟩ ⊗ | 1⟩ =: | 101⟩ =: | 5⟩

一般に全系では | 0⟩から | 2n − 1⟩の2n通りの直交基底が存在「計算基底」と呼ぶ⊗⊗= 8-dim hypersphere5

量子コンピュータの何が嬉しいか・２
量子力学なので、系の一般の状態は基底の線形和
2n−1| ψ⟩ = ∑k=0 ψk | k⟩

例：n個の量子ビット全て | + ⟩ =

1
=
=2n1
2n1

12

( | 0⟩ + | 1⟩) 状態なら系全体は( | 0⟩ + | 1⟩) ⊗ ( | 0⟩ + | 1⟩) ⊗ ⋯ ⊗ ( | 0⟩ + | 1⟩)( | 00…0⟩ + | 00…1⟩ + ⋯ + | 11…1⟩)
2n−1∑n2 k=0| k⟩

6

量子コンピュータの何が嬉しいか・３n量子ビット系のヒルベルト空間は2n次元n個の物体を並べて2nの複素自由度を得る
n = 300で Ndof > number of atoms in the observable universe（！）

QCの操作は個々の量子ビットに作用＝全計算基底に同時に作用→ QCは巨大な並列演算子**ただしそんなに簡単な話ではありません“SIMD = Single instruction, multiple data”
U…

ψ0 | 0⟩ + ψ1 | 1⟩ + ⋯ + ψN−1 | N − 1⟩

￼

￼

￼

ψ′0 | 0⟩ + ψ′1 | 1⟩ + ⋯ + ψ′N−1 | N − 1⟩7量子状態で計算をするとはどういうことか
量子プログラム“初期化”| initial⟩∑k ψk | k⟩

測定2

確率 | ψj | で | j⟩を得る

×
多数回の試行
測定結果のヒストグラムから計算結果を読み取る
問題に応じて読み出す内容は異なる：• 平均値（期待値）
特定のピーク値• 分布の形•

•

etc.

8

量子コンピュータのスキーム•

量子回路型（Quantum circuit model）a.k.a. ゲート型QC•

初期状態は通常 | 0⟩•

計算（ターゲット終状態の生成）方法：
••

•

•

１量子ビットの「回転」exp(i θ ⃗ ⋅ σ ⃗)特定の複数量子ビット演算
e.g. “Controlled-X” | 0⟩⟨0 | ⊗ I + | 1⟩⟨1 | ⊗ σ X

量子回路＝量子ビットに対する操作（ゲート）の全体

量子アニーリング（Quantum annealing）•

イジングモデルハミルトニアンの基底状態（＝最適解）を探す•••

今日はこれの話に限ります

ハミルトニアンのバイアスやカップリングパラメータで問題を表現

計算方法：初期ハミルトニアンを断熱的に問題ハミルトニアンに置換

連続変数型（ゲート型の一種）etc.

9

魔法の箱ではない
量子計算の原理は古典計算と根本的に違うが、未知ではない
言ってしまえばただの行列計算•

量子状態 → 2n個の複素数•

ゲート → 2n×2nのユニタリ行列→ 量子は古典でエミュレートできる

ただし、複素数一つ128ビットなら状態の記述に2n+4バイト必要
n=50で16PB ← cf. 富岳 5PB、Summit 10PB

Cannot emulate

10「QCにしかできないこと」とは？
• ユニタリ演算で実装するのが最も効率的であるような計算•

古典コンピュータでも結局QCのエミュレーションをすることになる•

Googleの2018年量子超越実験のタネ：
ランダム量子回路の出力を計算するには量子回路を組むしかない→ 53ビット回路のエミュレーションにはRAMが128PB必要＝無理•

ユニタリで実装でき、どんな実装でも莫大なRAMを使う計算•（量子）物理系のシミュレーションなど

11

QCの適用例候補•••

状態空間の多次元性に注目•

量子系のシミュレーション•

ある種の最適化問題•

ある種の機械学習

干渉効果に注目
•

素因数分解

•

逆行列計算

•

データベース検索？？？？

𝒪𝒪

12

有名なアルゴリズム１
量子位相推定（Quantum phase estimation）•多項式時間での素因数分解（Shorのアルゴリズム）で利用される••大きい数の素因数分解が早くできるとRSA暗号が解けてしまう

入力：ユニタリUと固有状態 | ψ⟩

U | ψ⟩ = e 2πiθ | ψ⟩ (θ ∈ [0,1] は未知)•

出力：状態 ∑k ϕkθ | k⟩

| ϕkθ | ∼ 1 if k ∼ 2nθ•(poly(n))個のゲートで実現← 古典的実装では (poly(n) ⋅ 2n)回の演算が必要

例：n = 5, θ = 0.225

𝒪13

有名なアルゴリズム２
非構造化データベース検索（Groverのアルゴリズム）•

入力：探す対象を表す状態 | ω⟩と、以下のように作用する演算G

G | x⟩ = − | x⟩ for x = ω,
{G | x⟩ = | x⟩ otherwise•

初期状態：N次元空間の基底{ | x⟩}の均一な重ね合わせ 1/
ただし | ω⟩ ∈ { | x⟩}

•

•

出力：状態

11 + |ϵ|| ω⟩ + ϵ | Ω⟩), | ϵ | ≪ 1(2( N) 回のGの作用（クエリ）で実現← 古典実装なら最大 N クエリ必要

N ∑x | x⟩

14

素粒子屋がQCを研究する理由
量子機械学習•データ点を超多次元のヒルベルト空間にマッピングする→未知の特徴量に対して感度を持つかも？

•

逆行列計算、近似最適化、etc.
→学習の高速化？

•

機械学習＝高次のフィッティング
回転ゲートの集まり＝フーリエ変換→学習の効率化？

© Google

15

素粒子屋がQCを研究する理由
量子シミュレーション•

大きい量子系のダイナミクスを追うには量子系が必要•

場の量子論の第一原理計算ができるか？

•第一原理でなくても、分岐が指数関数的に増えていくような問題に適応できる？

•

量子測定のランダム性→MC

2109.13975© E-CAM
Figure 6: Probability distribution of the number of gluons measured at the end of the16

なぜ疑問符ばかり？
プログラマブル量子コンピュータはすでに存在する紹介したアルゴリズムが走るような汎用量子計算機はまだない→ QCの応用研究はまだ Proof of principle / extrapolation の世界→ 「やってみないとわからないこと」はまだわからない

17

汎用量子計算機の必須条件：エラー耐性
QCはほぼ原理的にエラーを起こす•

量子系が状態を保つ ← 外部との相互作用がない•

量子系を操作する ← 外部からガンガン手を入れる

QCエラーの現状：•IBMのマシンのゲートあたりエラー率＝10-3~10-2•35を素因数分解するのに必要なゲート数 ~20000→ 限りなく1に近い確率で計算結果が間違えている！
エラー率は下げられても0にはならない→ リアルタイムでエラーを訂正しながら計算を行う必要

𝒪

18

エラー耐性の必要条件
エラー訂正の根本原理：
一つの量子ビットの状態をたくさんの量子ビットで共有する＝たくさんの「物理的ビット」を「論理的ビット」に
エラー率10-3~10-2 →(102∼3) 物理的ビット／論理的ビット≳50論理的ビットで計算したい → 数千〜数万物理的ビット必要© Google

19

量子ビット数
物理的ビット数のロードマップ（IBM）

論理的ビット数のロードマップ（IONQ）* IONQのゲートあたりエラー率はIBMより一桁小さい

20

量子計算の具体例：1+2を計算する※量子ビットを下から上に順序づけている| 0⟩

入力レジスタ１| 0⟩

Xはビットを反転（ | 0⟩ ↔ | 1⟩）
入力レジスタ２| 0⟩
| 0⟩
| 0⟩

出力レジスタ| 0⟩| 0⟩

補助ビット（読まない）| 0⟩| 000⟩ ⊗ | 00⟩ ⊗ | 00⟩ 初期状態

逆フーリエ変換
出力レジスタの各基底に入力に応じた位相がかかる
2n−1| 000⟩ ⊗ | 00⟩ ⊗ | 01⟩ 下一桁が反転： | 1⟩

2πi
I.F.T.
|| j⟩
exp
jkk⟩
∑
( 2n )
k=0

3 = 2 +1
測定結果：ビット列
011 10 01| 000⟩ ⊗ | 10⟩ ⊗ | 01⟩ 上一桁が反転：| 2⟩
1 7| k⟩ ⊗ | 10⟩ ⊗ | 01⟩∑
4 k=0

1 72πiexp
3k | k⟩ ⊗ | 10⟩ ⊗ | 01⟩∑()
4 k=08U∑ ( | 000⟩ | m⟩ | n⟩) = | m + n⟩ | m⟩ | n⟩
| 011⟩ ⊗ | 10⟩ ⊗ | 01⟩

21

16個の足し算を並列計算する
| 0⟩
| 0⟩
| 0⟩
| 0⟩
| 0⟩
| 0⟩

一つの回路で2n個の並列計算ができるが、一度の計算で取り出せる答えはランダムに一つ→単純な超並列計算機ではない

| 0⟩
| 0⟩

{0,1,2,3}×{0,1,2,3} 重ね合わせで始める
1 3
1 3| m⟩ ⊗| n⟩U∑ | 000⟩ ⊗∑∑22()
m=0n=01 3 3| m + n⟩ ⊗ | m⟩ ⊗ | n⟩=∑∑4 m=0n=0

各m, nの組み合わせに対して答えが出る

10000回計算＋測定(shot)を実行しヒストグラムを得ると：

22

量子ビットをどう作る？
コントロールと測定ができる２準位系ならなんでもいい•

超電導非調和振動子•

イオントラップ

•光子

•

核磁気共鳴

•

浮揚電子

•

ダイアモンド格子欠陥•量子ドット© The Economist

23

超電導量子ビット
LC振動回路のLをジョセフソン結合で置き換える→ 非調和振動子回路になる（ω01≠ω12）

Lr

ω01のマイクロ波パルスでコントロール(b)→ QC競争のフロントランナー(d)]]

432
10-

LJ
CJv
-

Energy [作製・コントロール技術が確立している• 早い• ある程度スケーラブル
•

Cr+

5

Energy [→ | 0⟩と | 1⟩だけの系とみなせる(c)iQHO0/2- /2
Superconducting phase,

5Cs

Transmon432
10-Comp.
subspace(a)0/2- /2
Superconducting phase,

FIG. 1. (a) Circuit for a parallel LC-oscillator (quantum harmonic oscillator, QHO), with inductance L in parallel withcapacitance, C. The superconducting phase on the island isdenoted „, referencing ground as zero. (b) Energy potential
for the QHO, where energy levels are equidistantly spaced~Êr apart. (c) Josephson qubit circuit, where the nonlinear
inductance LJ (represented with the Josephson-subcircuit in
the dashed orange box) is shunted by a capacitance, Cs . (d)The Josephson inductance reshapes the quadratic energy potential (dashed red) into sinusoidal (solid blue), which yields
non-equidistant energy levels. This allows us to isolate thetwo lowest energy levels |0Í and |1Í, forming
a computational
Photos:© IBM

24

素粒子物理への応用例
物理解析•

ヒッグスボゾン信号識別 10.1038/nature24047, 10.1103/PhysRevA.102.062405, 10.1051/epjconf/202125103070•SUSY信号識別 10.1007/s41781-020-00047-7•

Υ(4S) → BB̄ 崩壊識別 2103.12257•

Unfolding 10.1007/JHEP11(2019)128

事象再構成・検出器•

トラッキング 1902.08324, 10.1051/epjconf/202024509013, 10.5281/zenodo.4088473, 10.1051/epjconf/201921401012•

バーテックス再構成 1903.08879•

ジェットクラスタリング 10.1103/PhysRevD.101.094015

シミュレーション•場の理論シミュレーション (例多数)•

パートンシャワー 10.1103/PhysRevLett.126.062001

25

Υ(4S) → BB̄ 崩壊識別2103.12257

入力：事象中のB-candidates以外の粒子の運動量
出力：BB̄ / continuum discriminant
4Quantum support vector machine•

量子回路で入力データ点を量子状態にマッピング••

回転ゲートの角度にデータ値データ点間の内積＝距離を算出し、6ne
Jamie HeretevtusithsiFig. 7 a) The raw data classical input for a two particlethevent. b) The separate particle encoding gate U (x). Initiallysta 2 qubit entangled state is produced for each particle basedthon each particle’s momentum variables. After individual particle are separately encoded, each particle is then entangled
stwith every other particle through one of its qubits. We alsoc
combine the previous bloch sphere encoding from the previoussubsection. This results in the ✓, variables of the particle,being encoded into the ✓b , b of a single qubit’s bloch sphere.

wso
Table 1 Results obtained by classically simulating variFig. 2 (Lower Path) The concept of a classicalSVM.
Dataisencodedinahigher
dimensional
space
wherethesepa
ous encoding circuits using Qiskit statevector simulator with 5 si
Quantum Support Vector Machines for Continuum Suppressionin B Meson Decays
performed. The inner products between datapoints
forms theevents
kernel andmatrix;
this canusually
be given as an explicit
60,000 training
10,000testingevents.
c(Upper Path) The concept of a QSVM. Raw data is encoded into a quantum state using a quantum circuit that is paramby the classical data. The separation is madebetween signal
dimensional
quantuma
Encoding
Circuitand background in the higher
Accuracy
AUC
order to achieve this we need to measure the inner product between the quantum states produced in the circuit.
cCombinatorial Encoding
0.765
0.827
c
Separate Particle (Without Bloch) 0.787
0.853
0Bloch Sphere Encoding
0.786
0.861
Separate Particle (with Bloch)
0.808
0.877
na
Classical RBF Kernel SVM
0.794
0.865

データを２つのクラスに分けるQSVM回路

XGBoost0.617
0.648
Fig. 5 The generalfor estimating
V †the(xi)inner productV(xjcircuit)
Fig. 3 a) The circuit notation for the single qubit part ofof two quantum encoded states. The probability of measuring
the encoding gate. The e↵ect of this Z rotation gate is a Z
3xkparticle
eventsでの性能比較
nrotation †of the qubit’s bloch sphere2 by an angle. b) The
eventsusingtheQiskit
statevector simulator in the ab|0i as the final state of this circuit will estimate
thequantity| Vnotation
P(0) = | ⟨0(xi)V(x) |the0⟩two| qubit entangling
circuitwe usejfor
part of2
senceof noise
the encoding gate. The explicit construction
in a realquan- [1]. The results of the di↵erent encoding| h (xi )| (xj )i | .

thinthre26

もっと知りたい人のために•

Qiskit textbook•

Youtube channel•

Quantum Native Dojo•

量子コンピューティング・ワークブック•

PennyLane•

Stanford lecture notes•

John Preskill (Caltech) lecture notes