SlideShare a Scribd company logo
QuantumTokyo
Qt
Yuma Nakamura
Qiskit Advocate
Last updated: 2020-10-02
Qiskit Textbook Chap.5
QuantumTokyoQiskit Textbook 5章の立ち位置
2
ここまでのQiskit Textbookでのアルゴリズムはエラーなしの前提か、エラーを受け入れたNISQデバイスでの議論でした。
量
子
ア
ル
ゴ
リ
ズ
ム
QuantumTokyo
3
ここまでのQiskit Textbookでのアルゴリズムはエラーなしの前提か、エラーを受け入れたNISQデバイスでの議論でした。
エラーなしの前提
エラーありの前提
量
子
ア
ル
ゴ
リ
ズ
ム
Qiskit Textbook 5章の立ち位置
QuantumTokyo
4
ここまでのQiskit Textbookでのアルゴリズムはエラーなしの前提か、エラーを受け入れたNISQデバイスでの議論でした。
エラーなしの前提
エラーありの前提
素因数分解アルゴリズム
データベース探索アルゴリズム
量
子
ア
ル
ゴ
リ
ズ
ム
Qiskit Textbook 5章の立ち位置
QuantumTokyo
5
ここまでのQiskit Textbookでのアルゴリズムはエラーなしの前提か、エラーを受け入れたNISQデバイスでの議論でした。
エラーなしの前提
エラーありの前提
エラーを受け入れる
エラーを減らす
素因数分解アルゴリズム
データベース探索アルゴリズム
量
子
ア
ル
ゴ
リ
ズ
ム
Qiskit Textbook 5章の立ち位置
QuantumTokyo
6
ここまでのQiskit Textbookでのアルゴリズムはエラーなしの前提か、エラーを受け入れたNISQデバイスでの議論でした。
エラーなしの前提
エラーありの前提
エラーを受け入れる
エラーを減らす
素因数分解アルゴリズム
データベース探索アルゴリズム
変分量子固有値計算(VQE)
量子近似最適化計算(QAOA)
量子機械学習
エラー訂正アルゴリズム
量
子
ア
ル
ゴ
リ
ズ
ム
Qiskit Textbook 5章の立ち位置
QuantumTokyo
7
ここまでのQiskit Textbookでのアルゴリズムはエラーなしの前提か、エラーを受け入れたNISQデバイスでの議論でした。
今回はエラーを減らすためのアルゴリズムの解説です。
エラーなしの前提
エラーありの前提
エラーを受け入れる
エラーを減らす
素因数分解アルゴリズム
データベース探索アルゴリズム
変分量子固有値計算(VQE)
量子機械学習
エラー訂正アルゴリズム
量
子
ア
ル
ゴ
リ
ズ
ム
量子近似最適化計算(QAOA)
Qiskit Textbook 5章の立ち位置
QuantumTokyoアジェンダ
8
1. 測定エラー軽減
2. 反復符号によるエラー訂正
3. ランダム化ベンチマーキング
QuantumTokyo測定エラー軽減
9
量子回路のエラーの発生源は複数がありますが、今回は測定エラーの軽減に焦点をおきます
1量子ゲートのエラー
2量子ゲートのエラー
測定エラー
|0>
|0>
生成エラー
QuantumTokyo
10
確率p=1%で各ビットがフリップするモデルから議論を始めます。
|0>1量子ビットの場合: |1>
𝑃0→1 = 𝑝
𝑃1→0 = 𝑝
2量子ビットの場合:
|00> |01>
𝑃00→01
𝑃01→00
|10> |11>
𝑃10→11
𝑃11→10
𝑃00→10𝑃00→10 𝑃01→11𝑃11→01𝑃𝑥𝑦→ 𝑥𝑦 = 𝑃𝑥𝑦→𝑥 𝑦 = 𝑝
𝑃𝑥𝑦→𝑥𝑦 = 𝑝2
𝑃𝑥→ 𝑥 = 𝑝
測定エラー軽減
QuantumTokyo
11
次のような観測結果が得られたとき、観測前の状態は何だったでしょうか?
測定エラー軽減
Counts = {'00': 4901, '01’: 95, '10’: 116, '11': 4888}
Shots=10,000
(1) |00>
(2) |11>
(3)
1
2
|00> + |11>
QuantumTokyo
12
次のような観測結果が得られたとき、観測前の状態は何だったでしょうか?
測定エラー軽減
Counts = {'00': 4901, '01’: 95, '10’: 116, '11': 4888}
Shots=10,000
(1) |00>
(2) |11>
(3)
1
2
|00> + |11>
QuantumTokyo
13
測定エラー軽減
Observed Counts
{'00’: 𝐶00
𝑜𝑏𝑠
, '01’: 𝐶01
𝑜𝑏𝑠
, '10’: 𝐶10
𝑜𝑏𝑠
, '11’: 𝐶11
𝑜𝑏𝑠
}
では、定量的に先ほどの判断を行うにはどうしたらいいでしょうか?
True Counts
{'00’: 𝐶00
𝑖𝑑𝑖𝑎𝑙
, '01’: 𝐶01
𝑖𝑑𝑖𝑎𝑙
, '10’: 𝐶10
𝑖𝑑𝑖𝑎𝑙
, '11’: 𝐶11
𝑖𝑑𝑖𝑎𝑙
}
?
QuantumTokyo
14
測定エラー軽減
Observed Counts
{'00’: 𝐶00
𝑜𝑏𝑠
, '01’: 𝐶01
𝑜𝑏𝑠
, '10’: 𝐶10
𝑜𝑏𝑠
, '11’: 𝐶11
𝑜𝑏𝑠
}
観測エラー軽減ではこれを目標にします
では、定量的に先ほどの判断を行うにはどうしたらいいでしょうか?
Predicted Counts
{'00’: 𝐶00
𝑝𝑟𝑒𝑑
, '01’: 𝐶01
𝑝𝑟𝑒𝑑
, '10’: 𝐶10
𝑝𝑟𝑒𝑑
, '11’: 𝐶11
𝑝𝑟𝑒𝑑
}
True Counts
{'00’: 𝐶00
𝑖𝑑𝑖𝑎𝑙
, '01’: 𝐶01
𝑖𝑑𝑖𝑎𝑙
, '10’: 𝐶10
𝑖𝑑𝑖𝑎𝑙
, '11’: 𝐶11
𝑖𝑑𝑖𝑎𝑙
}
QuantumTokyo
15
測定エラー軽減
Observed Counts
{'00’: 𝐶00
𝑜𝑏𝑠
, '01’: 𝐶01
𝑜𝑏𝑠
, '10’: 𝐶10
𝑜𝑏𝑠
, '11’: 𝐶11
𝑜𝑏𝑠
}
観測エラー軽減ではこれを目標にします
では、定量的に先ほどの判断を行うにはどうしたらいいでしょうか?
Predicted Counts
{'00’: 𝐶00
𝑝𝑟𝑒𝑑
, '01’: 𝐶01
𝑝𝑟𝑒𝑑
, '10’: 𝐶10
𝑝𝑟𝑒𝑑
, '11’: 𝐶11
𝑝𝑟𝑒𝑑
}
つまり
𝐶00
𝑜𝑏𝑠
𝐶01
𝑜𝑏𝑠
𝐶10
𝑜𝑏𝑠
𝐶11
𝑜𝑏𝑠
𝐶00
𝑝𝑟𝑒𝑑
𝐶01
𝑝𝑟𝑒𝑑
𝐶10
𝑝𝑟𝑒𝑑
𝐶11
𝑝𝑟𝑒𝑑
𝑓
とする𝑓を決める
True Counts
{'00’: 𝐶00
𝑖𝑑𝑖𝑎𝑙
, '01’: 𝐶01
𝑖𝑑𝑖𝑎𝑙
, '10’: 𝐶10
𝑖𝑑𝑖𝑎𝑙
, '11’: 𝐶11
𝑖𝑑𝑖𝑎𝑙
}
QuantumTokyo
16
観測エラー軽減をするため、計算基底がどのように観測されるかを事前に調べます。
|00> |01>
𝑃00→01
|10> |11>
𝑃00→10
測定エラー軽減
|00> |01> |10> |11>
00の出現率 0.9808
01の出現率 0.0095
10の出現率 0.0096
11の出現率 0.0001
Step 1: |00>を観測
Counts = {'00': 9808, '01': 95, '10': 96, '11': 1}
Shots=10,000
QuantumTokyo
17
観測エラー軽減をするため、計算基底がどのように観測されるかを事前に調べます。
|00> |01>
𝑃01→00
|10> |11>
𝑃01→11
測定エラー軽減
Counts = {'00': 107, '01': 9788, '10': 2, '11': 103}
|00> |01> |10> |11>
00の出現率 0.9808 0.0107
01の出現率 0.0095 0.9788
10の出現率 0.0096 0.0002
11の出現率 0.0001 0.0103
Step 2: |01>を観測
Shots=10,000
QuantumTokyo
18
観測エラー軽減をするため、計算基底がどのように観測されるかを事前に調べます。
|00> |01>
|10> |11>
𝑃10→11
𝑃00→10
測定エラー軽減
Counts = {'00': 95, '01': 1, '10': 9814, '11': 90}
|00> |01> |10> |11>
00の出現率 0.9808 0.0107 0.0095
01の出現率 0.0095 0.9788 0.0001
10の出現率 0.0096 0.0002 0.9814
11の出現率 0.0001 0.0103 0.0090
Step 3: |10>を観測
Shots=10,000
QuantumTokyo
19
観測エラー軽減をするため、計算基底がどのように観測されるかを事前に調べます。
|00> |01>
|10> |11>
𝑃11→10
測定エラー軽減
Counts = {'00': 1, '01': 107, '10': 87, '11': 9805}
|00> |01> |10> |11>
00の出現率 0.9808 0.0107 0.0095 0.0001
01の出現率 0.0095 0.9788 0.0001 0.0107
10の出現率 0.0096 0.0002 0.9814 0.0087
11の出現率 0.0001 0.0103 0.0090 0.9805
Step 4: |11>を観測
𝑃11→01
Shots=10,000
QuantumTokyo
20
測定エラー軽減
得られた表を行列Mとすると、ノイズレスの真の観測値から測定ノイズのある場合の観測値を再現できます。
|00> |01> |10> |11>
00の出現率 0.9808 0.0107 0.0095 0.0001
01の出現率 0.0095 0.9788 0.0001 0.0107
10の出現率 0.0096 0.0002 0.9814 0.0087
11の出現率 0.0001 0.0103 0.0090 0.9805
このとき 𝑀 𝐶𝑖𝑑𝑒𝑎𝑙 = 𝐶 𝑛𝑜𝑖𝑠𝑦
このMを校正行列と呼びます
QuantumTokyo
21
測定エラー軽減
実際にQasm_simulationで観測した結果と比べると、非常に近い結果となってます。
|00> |01> |10> |11>
00の出現率 0.9808 0.0107 0.0095 0.0001
01の出現率 0.0095 0.9788 0.0001 0.0107
10の出現率 0.0096 0.0002 0.9814 0.0087
11の出現率 0.0001 0.0103 0.0090 0.9805
1
2
|00> + |11> の観測値𝐶𝑖𝑑𝑒𝑎𝑙から𝐶 𝑛𝑜𝑖𝑠𝑦を計算してみます。
𝐶𝑖𝑑𝑒𝑎𝑙 =
5000
0
0
5000
より
𝐶 𝑛𝑜𝑖𝑠𝑦 = 𝑀𝐶𝑖𝑑𝑒𝑎𝑙 = 𝑀
5000
0
0
5000
=
4904.5
101
91.5
4903
ノイズモデルでのQasm_simulation
𝐶 𝑛𝑜𝑖𝑠𝑦
𝑜𝑏𝑠
={'00': 4904, '01': 100, '10': 85, '11': 4911}
QuantumTokyo
22
測定エラー軽減
較正行列Mの逆行列を使うと、観測ノイズありの観測結果から観測ノイズなしの結果をよく再現できます。
先ほどの観測結果に適用してみます。
𝐶𝑖𝑑𝑒𝑎𝑙 = 𝑀−1
𝐶 𝑛𝑜𝑖𝑠𝑦
𝐶 𝑛𝑜𝑖𝑠𝑦
𝑜𝑏𝑠
=
4904
100
85
4911
{'00': 4904, '01': 100, '10': 85, '11': 4911}
𝐶𝑖𝑑𝑒𝑎𝑙 = 𝑀−1 4904
100
85
4911
=
4999.6
−1.1
−6.7
5008.2
≈
5000
−1
−7
5008
より
QuantumTokyo
23
測定エラー軽減(ここからはPythonコードと合わせて説明します)
次にノイズを10倍(p=10%)にしてエラー軽減を試します。
from qiskit import *
from qiskit.providers.aer.noise import NoiseModel
from qiskit.providers.aer.noise.errors import pauli_error, depolarizing_error
# 確率pでビットフリップするノイズモデルを作成
def get_noise(p):
# Xゲートでビットフリップを定義
error_meas = pauli_error([('X',p), ('I', 1 - p)])
noise_model = NoiseModel()
# 観測エラーを適用
noise_model.add_all_qubit_quantum_error(error_meas, "measure")
return noise_model
まずビットフリップ型のノイズモデルを定義します
2量子ビットの場合:
𝑃𝑥𝑦→ 𝑥𝑦 = 𝑃𝑥𝑦→𝑥 𝑦 = 𝑝
𝑃𝑥𝑦→𝑥𝑦 = 𝑝2
QuantumTokyo
24
測定エラー軽減(ここからはPythonコードと合わせて説明します)
次にノイズを10倍(p=10%)にしてエラー軽減を試します。
次に校正行列Mを作成します。
from qiskit.ignis.mitigation.measurement import (complete_meas_cal,CompleteMeasFitter)
#行列Mの計算用のため |00>、|01>、|10>、|11>を観測する回路を作成
meas_calibs, state_labels = complete_meas_cal(qr=qiskit.QuantumRegister(2))
# backendでqasm_simulatorを選択
backend = qiskit.Aer.get_backend('qasm_simulator')
# noise_modelを指定して、|00>、|01>、|10>、|11>の回路それぞれを実行
cal_results = qiskit.execute(meas_calibs, backend=backend,
shots=1000,noise_model=get_noise(0.1)).result()
# 実行結果から校正行列Mを取得
meas_fitter = CompleteMeasFitter(cal_results, state_labels)
calibulation_matrix = meas_fitter.cal_matrix)
QuantumTokyo
25
測定エラー軽減(ここからはPythonコードと合わせて説明します)
次にノイズを10倍(p=10%)にしてエラー軽減を試します。
from qiskit.visualization import *
qc = QuantumCircuit(2, 2)
qc.h(0)
qc.cx(0,1)
qc.barrier()
qc.measure([0, 1], [0, 1])
results = execute(qc,Aer.get_backend('qasm_simulator'),noise_model=get_noise(0.1),shots=10000).result()
noisy_counts = results.get_counts()
qc.draw(output="mpl")
print({x: noisy_counts[x] for x in sorted(noisy_counts)})
plot_histogram(noisy_counts, color='midnightblue',)
1
2
|00> + |11> に対して𝐶 𝑛𝑜𝑖𝑠𝑦を計算します
{'00': 4049, '01': 889, '10': 953, '11': 4109}
𝐶 𝑛𝑜𝑖𝑠𝑦
𝑜𝑏𝑠
=
4049
889
953
4109
QuantumTokyo
26
測定エラー軽減(ここからはPythonコードと合わせて説明します)
次にノイズを10倍(p=10%)にしてエラー軽減を試します。
# オブジェクトをフィルターする(詳しくは不明)
meas_filter = meas_fitter.filter
# 測定結果に校正行列を作用させる
mitigated_results = meas_filter.apply(results)
mitigated_counts = mitigated_results.get_counts(0)
print(mitigated_counts)
𝐶 𝑛𝑜𝑖𝑠𝑦と校正行列Mから𝐶 𝑝𝑟𝑒𝑑計算します
𝐶 𝑝𝑟𝑒𝑑 = 𝑀−1 𝐶 𝑛𝑜𝑖𝑠𝑦
𝑜𝑏𝑠
= 𝑀−1 4049
889
953
4109
=
4873
−60
99
5089
エラーが軽減されてます!!
QuantumTokyoアジェンダ
27
1. 測定エラー軽減(まとめ)
2. 反復符号によるエラー訂正
3. ランダム化ベンチマーキング
・計算基底(|00>,…|11>)の観測結果から校正行列Mを作成
・Mの逆行列で観測エラーを軽減
QuantumTokyoアジェンダ
28
1. 測定エラー軽減
2. 反復符号によるエラー訂正
3. ランダム化ベンチマーキング
QuantumTokyo反復符号によるエラー訂正
29
量子アルゴリズムを学ぶ時には論理量子ビットを前提に使っていましたが、
今回は論理ビットと物理ビットの関係を考えます。
Groverアルゴリズム
Shorアルゴリズム
オラクル 拡散変換(平均値周りで反転)
オラクル
量子逆フーリエ変換
|0>
|0>
|0>
|0>
|0>
|0>
|0>
|1>
|0>
論理量子ビット 物理量子ビット
5量子ビットプロセッサー ibmqx4
論理量子ビット
QuantumTokyo反復符号によるエラー訂正
30
反復符号を使って、多数物理ビットが1つの論理ビットに対応させます。多数決でエラー訂正をします。
論理ビット
反復回数n=3で、エラーモデルは確率p=1%でビットフリップが起きることを仮定
物理量子ビット
0
1
|000⟩
|111⟩
符号化(エンコード)
観測
Shots=1024
0
1
000: 987
001: 13
010: 9
100: 15
011: 17
101: 11
110: 12
111: 984
復号(デコード)
多数決エラーを訂正確率pでビットフリップビットを反復で冗長化
QuantumTokyo反復符号によるエラー訂正
31
しかしエラーの発生確率が高いとエラー訂正が機能しなくなります。
反復回数n=3, 観測数shot=1024、ビットフリップエラー確率をp=1%, 10%, 50%で比較してみる
物理量子ビット
|000⟩
|111⟩
000: 987
001: 13
010: 9
100: 15
011: 17
101: 11
110: 12
111: 984
観測値(p=1%)
全て訂正可能
観測値(p=10%) 観測値(p=50%)
QuantumTokyo反復符号によるエラー訂正
32
しかしエラーの発生確率が高いとエラー訂正が機能しなくなります。
反復回数n=3, 観測数shot=1024、ビットフリップエラー確率をp=1%, 10%, 50%で比較してみる
物理量子ビット
|000⟩
|111⟩
000: 987
001: 13
010: 9
100: 15
011: 17
101: 11
110: 12
111: 984
観測値(p=1%)
全て訂正可能
000: 743
001: 80
010: 78
100: 96
011: 11
101: 11
110: 7
111: 2
観測値(p=10%) 観測値(p=50%)
エラーを正しく訂正できない
(p2の確率で発生)
エラーを認識できない
(p3の確率で発生)
000: 1
001: 11
010: 9
100: 10
011: 87
101: 68
110: 85
111: 753
エラーを正しく訂正できない
一部訂正不可(反復回数nを増やせば可能)
QuantumTokyo
000: 132
001: 155
010: 132
100: 112
011: 112
101: 139
110: 135
111: 107
反復符号によるエラー訂正
33
しかしエラーの発生確率が高いとエラー訂正が機能しなくなります。
反復回数n=3, 観測数shot=1024、ビットフリップエラー確率をp=1%, 10%, 50%で比較してみる
物理量子ビット
|000⟩
|111⟩
000: 987
001: 13
010: 9
100: 15
011: 17
101: 11
110: 12
111: 984
観測値(p=1%)
全て訂正可能
000: 743
001: 80
010: 78
100: 96
011: 11
101: 11
110: 7
111: 2
観測値(p=10%) 観測値(p=50%)
エラーを正しく訂正できない
(p2の確率で発生)
エラーを認識できない
(p3の確率で発生)
000: 1
001: 11
010: 9
100: 10
011: 87
101: 68
110: 85
111: 753
エラーを正しく訂正できない
一部訂正不可(反復回数nを増やせば可能)
000: 122
001: 139
010: 124
100: 113
011: 131
101: 118
110: 133
111: 144
訂正不可
元の状態の原型なし
QuantumTokyo反復符号によるエラー訂正
34
量子状態を維持するためにもエラー訂正は必須で、観測し続けエラーを追跡する必要があります。
・物理ビットの量子状態作成から測定までに大幅な時間差がある場合が存在する(量子HDDなど)
・ゲート操作や測定以外でも、量子ビットがアイドル状態(待機状態)で環境ノイズ等の影響を受ける
・アイドル状態を避けるために情報を取得し続け、必要に応じて適宜エラー訂正する必要がある
・量子では情報取得とは測定なので、連続して測定する必要がある
QuantumTokyo反復符号によるエラー訂正
35
重ね合せ状態の直接の測定は破壊的で、前述の方法(多数決)が使えません。代わりにシンドローム測定をします。
状態 の保存を考える+ =
1
2
0 +|1⟩ →
1
2
000 +|111⟩
保存するには測定をし続ける必要があるが、実質的にはZ測定に対応する
状態 + をZ測定すると状態が破壊されてしまう
量子状態はコピーできない
量子エラー訂正の難しさ
000 や 111 を直接測定できない シンドローム測定なるものを利用
QuantumTokyo反復符号によるエラー訂正
36
シンドローム測定とは補助量子ビットを使って状態を壊さず間接的に観測する方法です。
論理ビット0を 00 で符号化する場合 論理ビット1を 11 で符号化する場合
符号量子ビット
補助量子ビット
シンドロームビット (古典ビット)
シンドロームビットの性質:
符号量子ビットの状態は変わらない
エラーがない場合*は0になる
エラーが存在する場合1になる(符号量子ビットのエラー or 補助量子ビットの観測エラー)
*繰り返し数n=2と同数のエラーは認識できない
QuantumTokyo反復符号によるエラー訂正
37
シンドローム測定では反復回数nに対しとは補助量子ビットn-1個*を使い、何巡(Round)測定するか選べます。
シンドローム測定1ラウンド シンドローム測定2ラウンド
補助量子ビット
(2量子ビット)
符号化量子ビット
(3量子ビット)
シンドローム測定結果
(1巡目と2巡目)
符号化量子ビット測定
*この場合、符号量子ビット0,2間のシンドローム測定は0-1間と1-2間から推測できるので必要ない
ノイズのないとき、次のような出力結果になる(エラーが無いのでシンドロームの値は常に0)。
Logical 0 : {000 00 00': 1024} Logical 1 : {‘111 00 00': 1024}
符号化量子ビット測定値 シンドローム測定値(1巡目, 2巡目)
QuantumTokyo
38
1 1 0 1 0
偶 奇 奇 偶
符号化量子ビット
シンドローム測定結果
(パリティ列) ←こっちで判断する
例えばシンドローム結果が 奇 偶 奇 奇 の場合(ビットだと1011)
奇 偶 奇 奇
と分かる
シンドローム測定結果はパリティの視点で理解することができます。
反復符号によるエラー訂正
0 1 1 0
もしくは
奇 偶 奇 奇
QuantumTokyo
39
1 1 0 1 0
偶 奇 奇 奇
符号化量子ビット
シンドローム測定結果
(パリティ列) ←こっちで判断する
例えばシンドローム結果が 奇 偶 奇 奇 の場合(ビットだと1011)
奇 偶 奇 奇
0 1 1 0 1
と分かる
シンドローム測定結果はパリティの視点で理解することができます。
反復符号によるエラー訂正
0 1 1 0
もしくは
奇 偶 奇 奇
1 0 0 1 0
QuantumTokyo
40
反復符号によるエラー訂正
物理ビットへの割り当てでは、符号量子ビットとシンドローム測定ビットが交互に並んでいます。
Code1
Code3
Code2Link1
Link0 Code0 Link2
Link3 Code4
符号量子ビット
シンドローム測定ビット
Code0 Code1 Code2
Code3Code3 Code4
Code4
Link0 Link1 Link2 Link3
Link3
QuantumTokyo
41
反復符号によるエラー訂正
実際のデバイス(Melbourne)へは次のように配置されます。
Code1
Code3
Code2Link1
Link0 Code0 Link2
Link3 Code4
符号量子ビット
シンドローム測定ビット
Code0 Code1 Code2
Code3Code3 Code4
Code4
Link0 Link1 Link2 Link3
Link3
IBM Q 14 Melbourne
QuantumTokyo
42
反復符号によるエラー訂正
量子回路と物理ビットの対応は次のようになります。
Code1
Code3
Code2Link1
Link0 Code0 Link2
Link3 Code4
QuantumTokyo
43
反復符号によるエラー訂正
符号化量子ビットとシンドローム測定値を使って、発生したエラーを推測できます。
ノイズのあるとき、次のような出力結果になる。(反復回数n=3で2巡目まで観測; 主要な出力のみ抽出)
Logical 0: raw results {'000 01 00': 44, '000 10 00': 41, '010 00 00': 43, '001 00 00': 43, '100 00 00': 47, '000 00 00': 485}
Logical 1: raw results {'111 00 01': 45, '111 10 00': 43, '111 01 00': 52, '111 00 00': 456, '111 00 10': 47}
例えばこの観測値を復号してみます
001 00 00
符号量子ビット観測値
0 0 1
2巡目シンドローム観測
0 0
1巡目シンドローム観測
0 0
? ? ?? ? ?
QuantumTokyo
44
反復符号によるエラー訂正
符号化量子ビットとシンドローム測定値を使って、発生したエラーを推測できます。
Logical 0: raw results {'000 01 00': 44, '000 10 00': 41, '010 00 00': 43, '001 00 00': 43, '100 00 00': 47, '000 00 00': 485}
Logical 1: raw results {'111 00 01': 45, '111 10 00': 43, '111 01 00': 52, '111 00 00': 456, '111 00 10': 47}
001 00 00
符号量子ビット観測値
0 0 1
2巡目シンドローム観測
0 0
1巡目シンドローム観測
0 0
0 0 1
?
代入
不整合
? ? ?
ノイズのあるとき、次のような出力結果になる。(反復回数n=3で2巡目まで観測; 主要な出力のみ抽出)
例えばこの観測値を復号してみます
QuantumTokyo
45
反復符号によるエラー訂正
符号化量子ビットとシンドローム測定値を使って、発生したエラーを推測できます。
Logical 0: raw results {'000 01 00': 44, '000 10 00': 41, '010 00 00': 43, '001 00 00': 43, '100 00 00': 47, '000 00 00': 485}
Logical 1: raw results {'111 00 01': 45, '111 10 00': 43, '111 01 00': 52, '111 00 00': 456, '111 00 10': 47}
001 00 00
符号量子ビット観測値
0 0 1
2巡目シンドローム観測
0 0
1巡目シンドローム観測
0 0
0 0 1
?
代入
不整合
整合型を推測0 0
0 0 0
符号量子ビットがフリップ
(000のが001と遷移)
0 1
0 0 1
シンドロームが観測エラー
(01のはずが00と観測)
中間状態
? ? ?
ノイズのあるとき、次のような出力結果になる。(反復回数n=3で2巡目まで観測; 主要な出力のみ抽出)
例えばこの観測値を復号してみます
QuantumTokyo
46
反復符号によるエラー訂正
符号化量子ビットとシンドローム測定値を使って、発生したエラーを推測できます(ルックアップ・テーブル法)。
Logical 0: raw results {'000 01 00': 44, '000 10 00': 41, '010 00 00': 43, '001 00 00': 43, '100 00 00': 47, '000 00 00': 485}
Logical 1: raw results {'111 00 01': 45, '111 10 00': 43, '111 01 00': 52, '111 00 00': 456, '111 00 10': 47}
001 00 00
符号量子ビット観測値
0 0 1
2巡目シンドローム観測
0 0
1巡目シンドローム観測
0 0
0 0 1
?
代入
不整合
整合型を推測0 0
0 0 0
符号量子ビットがフリップ
(000のが001と遷移)
0 1
0 0 1
シンドロームが観測エラー
(01のはずが00と観測)
符号量子ビットがフリップ
この過程でエラーなし
0 0 0
中間状態
上のパスがエラー推測が可能性が高い
この探索方法をルックアップ・テーブル復号と呼ぶ
ノイズのあるとき、次のような出力結果になる。(反復回数n=3で2巡目まで観測; 主要な出力のみ抽出)
例えばこの観測値を復号してみます
QuantumTokyo
47
'111 01 00 00 00'
'1 1 00 00 00 01 01'
'111 01 00 00 00'
'1 1 00 00 00 01 01'
'111 01 00 00 00'
'1 1 00 00 00 01 01'
XOR
OR
'111 01 00 00 00'
'1 1 00 00 00 01 01'
XOR
XOR
'111 01 00 00 00'
'1 1 00 00 00 01 01'
XOR
XOR
'111 01 00 00 00'
'1 1 00 00 00 01 01'
XOR
XOR
XOR
XOR
反復符号によるエラー訂正
ルックアップ・テーブル法は符号サイズに足して指数関数的に計算時間がかかります。
測定結果をトポロジカル符号に変換するとグラフ理論の問題として効率よく解けるらしい*です。
変換前
変換後
変換前
変換後
Step 1 Step 2 Step 3
Step 4 Step 5 Step 6
変換後はシンドロームビット列にエラーの発生数x2だけ“1”が出現する
 エラー推測の重要な指標になる
*参考
https://shota.io/public-posts/2017-12-24-surface-code.html
https://www.qec14.ethz.ch/slides/SergeyBravyi.pdf
https://arxiv.org/pdf/1708.02246.pdf
https://arxiv.org/pdf/1307.1740.pdf
https://www.nature.com/articles/ncomms7979変換後のシンドロームの順序に関してQiskit Textの説明とPython codeの仕様が一致していないので注意
QuantumTokyo
48
反復符号によるエラー訂正
Qiskit Textbookの例で変換後の出力文字列の解釈をしてみます(1)
変換後の文字列が”0 0 0110 0000 0000”の場合
反復数n=5、ラウンド数T=2の反復符号を表します。
符号化量子ビット 0 0
2巡目
0 1 1 0
(両端の値のみ) 1巡目 本来の値
0 0 0 0シンドローム測定値(差分)
符号化量子ビットの両端 2巡目のシンドローム測定値
1巡目と2巡目のシンドローム測定値の差分
シンドローム測定値
QuantumTokyo
49
反復符号によるエラー訂正
Qiskit Textbookの例で変換後の出力文字列の解釈をしてみます(1)
変換後の文字列が”0 0 0110 0000 0000”の場合
反復数n=5、ラウンド数T=2の反復符号を表します。
符号化量子ビット 0 0
2巡目
0 1 1 0
0 0 1 0 0
(両端の値のみ) 1巡目 本来の値
0 0 0 0シンドローム測定値(差分)
符号化量子ビットの両端 2巡目のシンドローム測定値
1巡目と2巡目のシンドローム測定値の差分
シンドローム測定値
QuantumTokyo
50
反復符号によるエラー訂正
Qiskit Textbookの例で変換後の出力文字列の解釈をしてみます(1)
変換後の文字列が”0 0 0110 0000 0000”の場合
反復数n=5、ラウンド数T=2の反復符号を表します。
符号化量子ビット 0 0
2巡目
0 1 1 0
0 0 1 0 0
(両端の値のみ) 1巡目
0 1 1 0
本来の値
0 0 0 0シンドローム測定値(差分)
符号化量子ビットの両端 2巡目のシンドローム測定値
1巡目と2巡目のシンドローム測定値の差分
シンドローム測定値
QuantumTokyo
51
反復符号によるエラー訂正
Qiskit Textbookの例で変換後の出力文字列の解釈をしてみます(1)
変換後の文字列が”0 0 0110 0000 0000”の場合
反復数n=5、ラウンド数T=2の反復符号を表します。
符号化量子ビット 0 0
2巡目
0 1 1 0
0 0 1 0 0
(両端の値のみ) 1巡目
0 1 1 0
0 0 1 0 0
本来の値
0 0 0 0シンドローム測定値(差分)
符号化量子ビットの両端 2巡目のシンドローム測定値
1巡目と2巡目のシンドローム測定値の差分
シンドローム測定値
QuantumTokyo
52
反復符号によるエラー訂正
Qiskit Textbookの例で変換後の出力文字列の解釈をしてみます(1)
変換後の文字列が”0 0 0110 0000 0000”の場合
反復数n=5、ラウンド数T=2の反復符号を表します。
符号化量子ビット 0 0
シンドローム測定値
2巡目
0 1 1 0
0 0 1 0 0
(両端の値のみ) 1巡目
0 1 1 0
0 0 1 0 0
本来の値
0 0 0 0シンドローム測定値(差分)
0 0 0 0 0
符号化量子ビットの両端 2巡目のシンドローム測定値
1巡目と2巡目のシンドローム測定値の差分
QuantumTokyo
53
反復符号によるエラー訂正
Qiskit Textbookの例で変換後の出力文字列の解釈をしてみます(1)
変換後の文字列が”0 0 0110 0000 0000”の場合
反復数n=5、ラウンド数T=2の反復符号を表します。
符号化量子ビット 0 0
2巡目
0 1 1 0
0 0 1 0 0
(両端の値のみ) 1巡目
0 1 1 0
0 0 1 0 0
本来の値
0 0 0 0
0 0 0 0 0
エラーにより3番目のビットが
反転したと推測
シンドローム測定値(差分)
符号化量子ビットの両端 2巡目のシンドローム測定値
1巡目と2巡目のシンドローム測定値の差分
シンドローム測定値
QuantumTokyo
54
反復符号によるエラー訂正
Qiskit Textbookの例で変換後の出力文字列の解釈をしてみます(2)
変換後の文字列が”0 0 0010 0010 0000”の場合
反復数n=5、ラウンド数T=2の反復符号を表します。
符号化量子ビット 0 0
2巡目
0 0 1 0
(両端の値のみ) 1巡目 本来の値
0 0 1 0シンドローム測定値(差分)
符号化量子ビットの両端 2巡目のシンドローム測定値
1巡目と2巡目のシンドローム測定値の差分
シンドローム測定値
QuantumTokyo
55
反復符号によるエラー訂正
Qiskit Textbookの例で変換後の出力文字列の解釈をしてみます(2)
変換後の文字列が”0 0 0010 0010 0000”の場合
反復数n=5、ラウンド数T=2の反復符号を表します。
符号化量子ビット 0 0
2巡目
0 0 1 0
0 0 ? ? ?
(両端の値のみ) 1巡目 本来の値
0 0 1 0シンドローム測定値(差分)
符号化量子ビットの両端 2巡目のシンドローム測定値
1巡目と2巡目のシンドローム測定値の差分
シンドローム測定値
QuantumTokyo
56
反復符号によるエラー訂正
Qiskit Textbookの例で変換後の出力文字列の解釈をしてみます(2)
変換後の文字列が”0 0 0010 0010 0000”の場合
反復数n=5、ラウンド数T=2の反復符号を表します。
符号化量子ビット 0 0
2巡目
0 0 1 0
0 0 ? ? ?
(両端の値のみ) 1巡目
0 0 0 0
本来の値
0 0 1 0シンドローム測定値(差分)
符号化量子ビットの両端 2巡目のシンドローム測定値
1巡目と2巡目のシンドローム測定値の差分
シンドローム測定値
QuantumTokyo
57
反復符号によるエラー訂正
Qiskit Textbookの例で変換後の出力文字列の解釈をしてみます(2)
変換後の文字列が”0 0 0010 0010 0000”の場合
反復数n=5、ラウンド数T=2の反復符号を表します。
符号化量子ビット 0 0
2巡目
0 0 1 0
0 0 ? ? ?
(両端の値のみ) 1巡目
0 0 0 0
0 0 0 0 0
本来の値
0 0 1 0シンドローム測定値(差分)
符号化量子ビットの両端 2巡目のシンドローム測定値
1巡目と2巡目のシンドローム測定値の差分
シンドローム測定値
QuantumTokyo
58
反復符号によるエラー訂正
Qiskit Textbookの例で変換後の出力文字列の解釈をしてみます(2)
変換後の文字列が”0 0 0010 0010 0000”の場合
反復数n=5、ラウンド数T=2の反復符号を表します。
符号化量子ビット 0 0
2巡目
0 0 1 0
0 0 ? ? ?
(両端の値のみ) 1巡目
0 0 0 0
0 0 0 0 0
本来の値
0 0 1 0
0 0 0 0 0
シンドローム測定値(差分)
符号化量子ビットの両端 2巡目のシンドローム測定値
1巡目と2巡目のシンドローム測定値の差分
シンドローム測定値
QuantumTokyo
59
反復符号によるエラー訂正
Qiskit Textbookの例で変換後の出力文字列の解釈をしてみます(2)
変換後の文字列が”0 0 0010 0010 0000”の場合
反復数n=5、ラウンド数T=2の反復符号を表します。
符号化量子ビット 0 0
2巡目
0 0 1 0
0 0 0 0 0
(両端の値のみ) 1巡目
0 0 0 0
0 0 0 0 0
本来の値
0 0 1 0
0 0 0 0 0
シンドローム測定値(差分)
符号化量子ビットの両端 2巡目のシンドローム測定値
1巡目と2巡目のシンドローム測定値の差分
シンドローム測定値
観測エラーだったと推測できる
QuantumTokyo
60
反復符号によるエラー訂正
最後に変換後のビット列をQiskit IgnisのGraphDecoderを使って復号し、エラー率計算を行います。
反復回数(Code Distance)を増やすほどエラー率が減少していることが分かります。
QuantumTokyoアジェンダ
61
1. 測定エラー軽減
2. 反復符号によるエラー訂正(まとめ)
3. ランダム化ベンチマーキング
・1つの論理ビットを複数の物理ビットで表現
・シンドローム測定で状態を壊さず観測を何度も行える
・シンドローム測定結果と符号量子ビットから復号が可能
QuantumTokyoアジェンダ
62
1. 測定エラー軽減
2. 反復符号によるエラー訂正
3. ランダム化ベンチマーキング
QuantumTokyoランダム化ベンチマーキング
63
ランダム化ベンチマーキング(RB)ではゲートエラーの評価を行います
ゲートエラー 測定エラー
|0>
|0>
生成エラー
QuantumTokyo
64
従来はプロセストモグラフィーで回路全体のエラー評価をしていましたが、
RBでゲートエラー部分のみのエラー評価が可能になりました。
ゲートエラー 測定エラー
プロセストモグラフィー (ゲートと測定のエラーを分離して評価できない)
RB (ゲートエラーのみ評価可能)
ランダム化ベンチマーキング
|0>
|0>
生成エラー
QuantumTokyo
65
RBではエラーがなければ恒等変換となる深い回路を作り、状態が変わるかを調べる手法です。
ランダム化ベンチマーキング
|0>
|0>
ランダムに生成した回路𝑈𝑓 前半の回路の逆変換𝑈𝑓
†
・𝑈𝑓
†
𝑈𝑓 = 𝐼より観測値は初期状態|00>と等しいはず
・エラーがあると|00>以外の状態が観測される
・ 回路𝑈𝑓の深さmとエラー率の関係からゲートエラーを評価
QuantumTokyoランダム化ベンチマーキング
66
生成エラー、観測エラー、ゲートエラー全てを考慮に入れた枠組みで、
初期状態と観測値が一致する確率(生存確率)を計算していきます。
|0>
簡単のため1量子ビットで説明
前半のランダム回路の深さm=5の場合
生存確率: 𝑇𝑟 𝐸 𝜓 𝑆𝑖 𝑚(𝜌 𝜓)
測定時エラー
ゲートエラー
生成エラー
QuantumTokyo
67
ランダムに生成した回路にノイズが混じるモデルを定義します。
ランダム化ベンチマーキング
|0>
簡単のため1量子ビットで説明
前半のランダム回路の深さm=5の場合
初期状態を準備する際にエラーが発生する可能性を考慮
・初期状態|0>を作ろうとして確率𝑝 𝑔𝑒𝑛で|1>が作られるエラーモデルは密度演算子𝜌0で記述される
𝜌0 = 1 − 𝑝 𝑔𝑒𝑛 0 0 + 𝑝 𝑔𝑒𝑛 1 1
・少し一般化すると、初期状態 𝜓 を作ろうとして確率pでビットフリップが発生するエラーモデルは密度演算子𝜌 𝜓で記述される
𝜌 𝜓 = 1 − 𝑝 𝑔𝑒𝑛 𝜓 𝜓 + 𝑝 𝑔𝑒𝑛 𝑋 𝜓 𝜓 𝑋
QuantumTokyo
68
ランダムに生成した回路にノイズが混じるモデルを定義します。
ランダム化ベンチマーキング
|0>
簡単のため1量子ビットで説明
前半のランダム回路の深さm=5の場合
測定時にエラーが発生するモデルを考慮
・状態|0>を観測しようとして確率pで|1>が得られるエラーモデルは測定演算子𝐸0で記述される
𝐸0 = 1 − 𝑝 𝑜𝑏𝑠 0 0 + 𝑝 𝑜𝑏𝑠 1 1
・少し一般化すると、終状態 𝜓 を観測しようとして確率pでビットフリップが発生するエラーモデルは測定演算子𝐸 𝜓で記述される
𝐸 𝜓 = 1 − 𝑝 𝑜𝑏𝑠 𝜓 𝜓 + 𝑝 𝑜𝑏𝑠 𝑋 𝜓 𝜓 𝑋
QuantumTokyo
70
ランダムに生成した回路にノイズが混じるモデルを定義します。
ランダム化ベンチマーキング
|0>
簡単のため1量子ビットで説明
前半のランダム回路の深さm=5の場合
各ゲートエラーを次のモデルで定式化
・クリフォード群*からランダムに作られたゲートを{𝐶𝑖1
,…, 𝐶𝑖 𝑚+1
}とします
*S, H, CZから作ることのできるゲートセット(X, Y, ZもS, Hから作成可能)
・ 各ゲートのエラーを{Λ 𝑖1
,…, Λ 𝑖 𝑚+1
}とします
𝐶𝑖1
𝐶𝑖2
𝐶𝑖3
𝐶𝑖4
𝐶𝑖5
𝐶𝑖6
Λ 𝑖1
Λ 𝑖2
Λ 𝑖3
Λ 𝑖4
Λ 𝑖5
Λ 𝑖6
クリフォードゲート
ゲートエラー
・この時の回路の量子状態を次のように表します。
𝑆𝑖 𝑚
𝜌 𝜓 = Λ 𝑖 𝑚+1 𝐶𝑖 𝑚+1… Λ 𝑖1
𝐶𝑖1
𝜌 𝜓 Λ 𝑖1
†
𝐶𝑖1
†
…Λ 𝑖 𝑚+1
†
𝐶𝑖 𝑚+1
†
= ⨀ 𝑗=1
𝑚+1
(Λ 𝑖 𝑗
∘ 𝐶𝑖 𝑗 ) 𝜌 𝜓
QuantumTokyo
𝐹𝑠𝑒𝑞 m, |𝜓⟩ = Tr 𝐸 𝜓 𝑆 𝐾 𝑚(𝜌 𝜓) =
1
𝐾 𝑚
𝒊 𝒎
Tr 𝐸 𝜓 𝑆𝒊 𝑚
(𝜌 𝜓)
71
ランダム回路を多数のパターンで用意して、生存確率の平均(フィデリティー平均)を求めます。
ランダム化ベンチマーキング
フィデリティー平均
𝒊 𝒎 = {𝑖1, … , 𝑖 𝑚}
𝒋 𝒎 = {j1, … , 𝑗 𝑚}
𝒌 𝒎 = {𝑘1, … , 𝑘 𝑚}
𝐾 𝑚 = 3パターン
のランダム回路
Tr 𝐸 𝜓 𝑆𝒊 𝑚
(𝜌 𝜓)
Tr 𝐸 𝜓 𝑆𝒋 𝑚
(𝜌 𝜓)
Tr 𝐸 𝜓 𝑆 𝒌 𝑚(𝜌 𝜓)
QuantumTokyo
𝐹𝑠𝑒𝑞
(0)
m, |𝜓⟩ = 𝐴0 𝛼 𝑚 + 𝐵0
72
フィデリティー平均をフィッティングして平均エラー率(クリフォード単位エラー;EPC)が求まります。
ランダム化ベンチマーキング
フィデリティー平均
(ゲート依存性がない場合)
・𝐴0, 𝐵0に生成エラー、測定エラーの寄与が含まれる。
・mでフィッティングするとパラメータ𝛼が計算可能
平均エラー率
(クリフォード単位エラー;EPC) 𝑟 =
2n
− 1
2n
(1 − 𝛼)
𝐹𝑠𝑒𝑞
(0)
m, |𝜓⟩
; m
QuantumTokyoアジェンダ
73
1. 測定エラー軽減
2. 反復符号によるエラー訂正
3. ランダム化ベンチマーキング(まとめ)
・ゲートエラーを評価する手法
・エラーがなければ恒等変換となる回路を作り、初期状態との差分を評価
・初期状態と観測結果の差と、ゲート数の関係からゲート単位のエラーを算出
QuantumTokyoまとめ
74
1. 測定エラー軽減
2. 反復符号によるエラー訂正
3. ランダム化ベンチマーキング
・ゲートエラーを評価する手法
・エラーがなければ恒等変換となる回路を作り、初期状態との差分を評価
・初期状態と観測結果の差と、ゲート数の関係からゲート単位のエラーを算出
・1つの論理ビットを複数の物理ビットで表現
・シンドローム測定で状態を壊さず観測を何度も行える
・シンドローム測定結果と符号量子ビットから復号が可能
・計算基底(|00>,…|11>)の観測結果から校正行列Mを作成
・Mの逆行列で観測エラーを軽減

More Related Content

What's hot

Aishima140714
Aishima140714Aishima140714
Aishima140714
nwpmq516
 
今さら聞けないカーネル法とサポートベクターマシン
今さら聞けないカーネル法とサポートベクターマシン今さら聞けないカーネル法とサポートベクターマシン
今さら聞けないカーネル法とサポートベクターマシン
Shinya Shimizu
 
Jokyonokai
JokyonokaiJokyonokai
Jokyonokai
nwpmq516
 
低ランク行列補完のためのマトロイド理論
低ランク行列補完のためのマトロイド理論低ランク行列補完のためのマトロイド理論
低ランク行列補完のためのマトロイド理論
ryotat
 

What's hot (20)

Aishima140714
Aishima140714Aishima140714
Aishima140714
 
今さら聞けないカーネル法とサポートベクターマシン
今さら聞けないカーネル法とサポートベクターマシン今さら聞けないカーネル法とサポートベクターマシン
今さら聞けないカーネル法とサポートベクターマシン
 
PRML 6.1章 カーネル法と双対表現
PRML 6.1章 カーネル法と双対表現PRML 6.1章 カーネル法と双対表現
PRML 6.1章 カーネル法と双対表現
 
クラシックな機械学習の入門  5. サポートベクターマシン
クラシックな機械学習の入門  5. サポートベクターマシンクラシックな機械学習の入門  5. サポートベクターマシン
クラシックな機械学習の入門  5. サポートベクターマシン
 
【Unite Tokyo 2018】誘導ミサイル完全マスター
【Unite Tokyo 2018】誘導ミサイル完全マスター【Unite Tokyo 2018】誘導ミサイル完全マスター
【Unite Tokyo 2018】誘導ミサイル完全マスター
 
PRML chapter5
PRML chapter5PRML chapter5
PRML chapter5
 
Rによるデータサイエンス:12章「時系列」
Rによるデータサイエンス:12章「時系列」Rによるデータサイエンス:12章「時系列」
Rによるデータサイエンス:12章「時系列」
 
coordinate descent 法について
coordinate descent 法についてcoordinate descent 法について
coordinate descent 法について
 
RBMを応用した事前学習とDNN学習
RBMを応用した事前学習とDNN学習RBMを応用した事前学習とDNN学習
RBMを応用した事前学習とDNN学習
 
【Unite 2018 Tokyo】60fpsのその先へ!スマホの物量限界に挑んだSTG「アカとブルー」の開発設計
【Unite 2018 Tokyo】60fpsのその先へ!スマホの物量限界に挑んだSTG「アカとブルー」の開発設計【Unite 2018 Tokyo】60fpsのその先へ!スマホの物量限界に挑んだSTG「アカとブルー」の開発設計
【Unite 2018 Tokyo】60fpsのその先へ!スマホの物量限界に挑んだSTG「アカとブルー」の開発設計
 
光発振器ネットワークで組合せ最適化問題を解くコヒーレントイジングマシン
光発振器ネットワークで組合せ最適化問題を解くコヒーレントイジングマシン光発振器ネットワークで組合せ最適化問題を解くコヒーレントイジングマシン
光発振器ネットワークで組合せ最適化問題を解くコヒーレントイジングマシン
 
クラシックな機械学習の入門 6. 最適化と学習アルゴリズム
クラシックな機械学習の入門  6. 最適化と学習アルゴリズムクラシックな機械学習の入門  6. 最適化と学習アルゴリズム
クラシックな機械学習の入門 6. 最適化と学習アルゴリズム
 
量子アニーリングを用いたクラスタ分析
量子アニーリングを用いたクラスタ分析量子アニーリングを用いたクラスタ分析
量子アニーリングを用いたクラスタ分析
 
Jokyonokai
JokyonokaiJokyonokai
Jokyonokai
 
Rパッケージ“KFAS”を使った時系列データの解析方法
Rパッケージ“KFAS”を使った時系列データの解析方法Rパッケージ“KFAS”を使った時系列データの解析方法
Rパッケージ“KFAS”を使った時系列データの解析方法
 
PRML Chapter5.2
PRML Chapter5.2PRML Chapter5.2
PRML Chapter5.2
 
Sparse estimation tutorial 2014
Sparse estimation tutorial 2014Sparse estimation tutorial 2014
Sparse estimation tutorial 2014
 
低ランク行列補完のためのマトロイド理論
低ランク行列補完のためのマトロイド理論低ランク行列補完のためのマトロイド理論
低ランク行列補完のためのマトロイド理論
 
【Unity道場スペシャル 2017大阪】クォータニオン完全マスター
【Unity道場スペシャル 2017大阪】クォータニオン完全マスター【Unity道場スペシャル 2017大阪】クォータニオン完全マスター
【Unity道場スペシャル 2017大阪】クォータニオン完全マスター
 
大規模凸最適化問題に対する勾配法
大規模凸最適化問題に対する勾配法大規模凸最適化問題に対する勾配法
大規模凸最適化問題に対する勾配法
 

Recently uploaded

FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance
 
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
ssuserbefd24
 

Recently uploaded (14)

FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
 
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
 
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
 

Quantum Error Correction