工学者のための量子計算 基礎の基礎 - keio university工学者のための量子計算...
TRANSCRIPT
工学者のための量子計算基礎の基礎慶應義塾大学理工学部物理情報工学科
伊藤公平
目次量子コンピュータとは何か?を学部レベルの知識でも理解できるよう説明し,量子コンピュータ開発にむけていかなる工学技術が必要か考える機会を提供する.
1.計算のリソース2.量子コンピュータとユニタリ変換3.量子回路4.量子並列性と観測問題5.量子力学的離散フーリエ変換6.量子計算アルゴリズム
a) Deutsch-Jozsaアルゴリズムb) Grover’sデータベース検索アルゴリズムc) Shor’s素因数分解アルゴリズム
7.量子ビットの求められる性質
参考文献
本講義の内容は,最終章を除いて,以下の3冊の本の内容をまとめた
ものです.
1.上坂吉則「量子コンピュータの基礎数理」コロナ社
2.ゲナディ・P・ベルマン,ゲーリー・D・ドーレン,ロンニエ・マイニエリ,
ウラジミール・I・チフリノビッチ 「入門 量子コンピュータ」 訳:松
田和典,パーソナルメディア社
3.Michael A. Nielsen and Isaac L. Chuang, “Quantum
Computation and Quantum Information,”
Cambridge University Press
計算のリソース
問題: N個の正整数を大きい順に並べる.
★古典的コンピュータ
最低 ステップ必要
★スパゲッティ-コンピュータ[西野哲朗:中国人郵便配達問題=コンピューサイエンス最大の難関,講談社(1999)]
スパゲッティ-をN本用意し,正整数の大きさに切る(Nステップ) 束ねて机の上に立てる(1ステップ) 長い順に取り出し机に並べる(Nステップ) 以上の総ステップ数は2N+1
NlogNL 2
0
10000
20000
30000
40000
50000
0 1000 2000 3000 4000 5000N
古典的コンピュータ
スパゲッティ-コンピュータなぜ,スパゲティーコンピュータは効率が良いのか?総ステップ数
量子コンピュータとは
dtd
i )z,y,x(Vzyxm 2
2
2
2
2
2
2時間に依存する波動関数
Hが時間に対して不変の場合(緩和時間が長い)
)()t(U)t( 0
!/iHt
!/iHt
!/iHt
Ie)t(U /iHt
321
32
IUU*ここでU(t)はユニタリ行列
をリソースとして,それらに何ステップものユニタリ演算をほどこすのが量子計算
(1)
(2)
Δtおきにユニタリ演算Uを施すと)()(U)t( 00
)t()t(U)t( 2)t()t(U)t( 223
・・・0021 UUU nnn
0'U
有限空間で考えるとを有限次元空間に属するベクトルと仮定する
0
100e
1
011e
基底
10 )()()( etbetat
zI0
10
01
21zI **
***
aa
aaA
aa
aaA
1101
1000
1110
0100
IZはエルミート行列(=複素共役)
!
/iHt
!
/iHt
!
/iHtIe)t(U /iHt
321
32IUU*
10 )t(b)t(a I1>
I0>
102
1
z
ユニタリ演算の例(1)
例1 一量子ビット回転ゲート(NOT演算)0
100e
1
011e
基底
01
10RU を
100101 100 ee
110010 100 ee
にほどこすと
11
0
0
1
01
100RU 0
01
10
0110
1RUと のように反転(回転)させる.
0110 )t(b)t(a)t(b)t(a)t(UR
ディラック記法では、0110
0010
0100
0110
1001
0110RU
01011101RU
10010100RUikki
101010
RU はXゲート(IX)とも呼ばれ重要である。
(ユニタリかつエルミート)
IUU RR 1100*
ユニタリ演算の例(2)例2 ニ量子ビット制御ノット(controlled NOT)演算(22×22の行列が必要)
0001
000e
基底
0010
011e
0100
102e
1000
113e
11
1000
0100
0100100000100001
10CNU
21
1,21,1
0,21,1
1,20,1
0,20,1
1,2
0,2
1,1
0,121 xx
xx
xx
xx
xx
x
x
x
xxx
テンソル積
00
0001
01
01
00
,0000CNU
まとめると
,0101CNU
,1110CNU .0111CNU
標的ビット制御ビット
11100100 4321 aaaai入力
10110100 4321 aaaaU iCNf出力
量子並列性:2準位系の2量子ビットで22状態が一度に計算できる。N量子ビットでは2n状態を並列計算。
(ユニタリかつエルミート)
1011111001010000CNU
IUU CNCN 1111101001010000*
古典演算との違い-可逆性
01
10
bfaiNOT演算(回転ゲート)
if ab
1,0, ii ba
可逆(古典、量子)
AND演算
iif bac
不可逆(古典)
111001010000cfbiai
011101110000cfbiai
XOR演算
iif bac
不可逆(古典)
iiii baba
0111110110100000bfafbiai
Controlled NOT制御NOT
iif bab
可逆(量子)
iiii baba
A
B
A
BA
量子回路
量子計算で利用される単一量子ビット操作
X
Z
H
10 10
10
10
10
210
210
Y10 10i
Pauli matrices (パウリ行列)
Hadamard gate (アダマードゲート)
0110
RUX0
0i
iY
1001
Z
1111
21
H
ブロッホ球
x
y
z0
1
12
02
sinecose ii
,10 122より
12
02
sinecos i
1001
I
Hadamard gate
y
2
100
2
101 0
2
101
2
10
1111
21H H looks like a ‘square-root of NOT’ gate,
though H2 is not a NOT gate.
y
0
2
10
1
2
10
y
回転操作
x
y
z0
1
12
02
sinecos i
22
2222
2
cossini
sinicosXsiniIcoseR /Xi
x
22
2222
2
cossin
sincosYsiniIcoseR /Yi
y
2
22
00
22 /i
/i/Zi
ze
eZsiniIcoseR
ブロッホ球のx, y, z軸それぞれを中心とした角度 の回転
量子計算の例(1) 交換回路
A
B A
B A
B
A
BA
単一制御NOT反転した三つの制御NOT
BA,AB,A
BA,BBA,BAA
A,BBBA,B
01101 ,,
01001011 ,,
100010 ,,
量子計算の例(2) 制御制御NOTゲート
ai
bi
ci
af
bf
cf
011111111011101101001001110110010010100100000000cfbfafcibiai制御制御NOT(controlled controlled NOT)
,if aa if bb
fc ,ci 1ii ba
fc その他
の場合
または iiif cbac 1ii baNOTゲート: の場合 if cc
制御NOTゲート: 1ia の場合 iifif cbc,bb
ANDゲート: 0ic の場合 iif bac 古典計算もできる!
制御制御NOTゲートは3量子ビットゲート
ai
bi
ci
af
bf
cf
制御制御NOT(controlled controlled NOT)
,if aa if bb
fc ,ci 1ii ba
fc その他
の場合
または iiif cbac
0100000010000000001000000001000000001000000001000000001000000001
CCNU
011011010010001001000000CCN
110111111110101101100100
33221100CCN
67765544
十進数表記で
宿題
ai
bi
ci
d=0
ai
bi
ci
di
この量子回路が加算器であることを示しなさい.
万能ゲートと観測問題
◎ 万能ゲート:すべてのユニタリー変換が、一量子ビット回転ゲート(UR)と 二量子ビット制御ノットゲート(UCN)の組み合わせで実現 できる。または、三量子ビット制御制御ノットゲートのみの 組み合わせでもよい。
量子並列性と矛盾?本来は100量子ビットの量子並列演 算には 2100×2100のユニタリ行列が必要。
◎ 観測問題: 出力 を観測した場合
10110100 4321 aaaaU iCNf
,24
23
22
21
2
aaaa
aiei ( |00>, |01>, |10>, |11>) が確率 3,2,1,0i
で観測され、その後、波束はeiの状態に収束する。
よって、正解の確率振幅を他より増大させる工夫が必要。
量子フーリエ変換(1)◎入力ベクトルの確率振幅をフーリエ変換した結果が出力ベクトルの確率振幅となる.
b
adxxfxyKyf )(),()(~ で baexyK ixy ,,),( だとフーリエ変換
1
0)(),()(~ N
xxfxyKyf が離散フーリエ変換
1
0
* )(~),()(N
xxfxyKyf が逆変換
1
0
1
0)(~)(
N
y
N
xyyfxxfU量子離散フーリエ変換(ユニタリ変換)
H102
102
10
例:Hadamard gate (アダマードゲート) 1量子ビット離散フーリエ変換(可逆)
1111
21H
yxHy
xy1
01
21
選択的回転変換 )()()(~ 1
0yfexfeyf yiN
xxy
xi
量子フーリエ変換(2)
◎ n量子ビット量子フーリエ変換は以下の量子回路で実行できる.
12/21 0
01R kjikj
e
位相ゲート kjkjjkkjkjkjkjkjkjkjR 11112
exp0101101000001
H
H
H
H
R2 Rn-1 Rn
Rn-2 Rn-1
R2
1j
2j
1nj
nj
10 1.02 njjie
10 2.02 njjie
10 1.02 njnjie
10 .02 njie
3キュービット量子フーリエ変換の例
2/2 001
R ie
入力 010010 123
H
H
H
R2 R31j
2j R2
×
×
3j
Step 1 0110102
1102
1100101H
Step 2 0110102
10112
exp0102
10110102
1)21(2)21(2 iiRR
Step 3 0110102
10110102
1)31(3)31(3 iiRR
Step 4 0110010100002111000100
21
2 iiiH
Step 5 01100101000021
)32(2 iiR
Step 6 1110111010011100101000008
13 iiiiH
Step 7(逆転) 1111101011000110100010008
1iiii
4/3 001
R ie
フーリエ変換終了kjhhjk
Quantum algorithms
Grover’s algorithmShor’s algorithms
Deutsch-Jozsa algorithm
Deutsch-Jozsa algorithm(1)
210
0
x x
y )(xfy
fU
補題1:量子並列性10,:)x(f
xfy,xy,xU fデータ,ターゲット
21100
02
10 f,f,,U f
Walsh-Hadamard transformを利用すると
2関数を並列計算
H
H
0
0 211100100
210
210
0 2H2
と記す
Deutsch-Jozsa algorithm(2)補題1:量子並列性(つづき)
0
x x
y )(xfy
fU xfxxn2
1
00 n
0~xの入力を並列計算
0 nH
n
入力
出力 xf,xf,f,f,xfxnxn
2211002
1
2
1
Deutsch-Jozsa algorithm(3)
補題2:Deutschの問題
010
1
x x
y )(xfy
fU0 H
H
H
0 1 2 3
入力
210
210
1
210
210
2
210
210
2
10 ff
10 ff
if
if2
101
210
xxU xff
210
03
210
13
10 ff
10 ff
if
if2
10103 ff
10 ff を1回で決定できる.
古典的には最低2回必要.
Deutsch-Jozsa algorithm(4)121010 n,,,x,:xf
constant : f(x) is constant
balanced : f(x) is half 0 and half 1
Mission : Judge whether f(x) is constant or balanced.
0
1
n
H
nH nHx x
y )(xfy
fU
本題
100n
0 1 2 3
210
2101
n,xn
x
210
2
12
x n
xf x
z xn
xfzx z
210
2
13
Example: n=2
H
nH0
1
n
)1,1,1,1()0,0,0,0()( orxf
1H2
10
2
10
)1,1,0,0()(xf
1H2
10
2
10
)1,0,0,1()(xf
1H2
10
2
10
1H00
1H01
1H11
1H2
10
2
10
x x
y )(xfy
fUnH
Get 0 if f(x) is constant.100
0
2
3
Grover’s algorithm (1)
N
データベース検索:N=2n個のファイルがあり,0からN-1までのアドレスがつけられている.指定された内容のファイルを少ないステップで見つけたい.古典的にはNステップ必要だが,グローバーの手法では でよい.正解のアドレスでは その他では0.1xf
測定0n nH
G G Gオラクル用
N 回程度
n00
オラクル用xx xf1
オラクルnH
xx
nHPhase
Gの中身
Grover’s algorithm (2)
n00
オラクル用xx xf1
オラクルnH
xx
nHPhaseGの中身
xx xf1 ,すなわちオラクルは正解f(x)=1のときのみに反転させる
IHI02HHPH nnnn 20
kkIk
kk k 22
すなわち振幅の平均値< >を中心として反転させる
Grover’s algorithm (3)例:4量子ビットで正解が一つで の場合(2nにおいてn=2に対応)
00 01 10 11
0x 1 2 3
1
0.250.5
0.5
0
1.0
確定的モデル 15÷2, 15÷3, 15÷4・・・・をつづけ割り算の答えとあまりを求める
確率的モデル (乱数でためす) mnをNで割ったあまり
を求める
例としてN=15, m=2を選んだ場合を考える
素因数分解の計算(15=3×5の場合)
NmF nn mod
15mod2nnF
確率的計算
8F7 =27÷15のあまり4F6 =26÷15のあまり2F5 =25÷15のあまり1F4 =24÷15のあまり8F3 =23÷15のあまり4F2 =22÷15のあまり2F1 =21÷15のあまり1F0=20÷15のあまり
こたえN=15, m=2
15mod2nnF
周期 r=4
5121 2/42/rm
3121 2/42/rm
確率的計算 (例2)
11F7 =117÷15のあまり1F6 =116÷15のあまり11F5 =115÷15のあまり1F4 =114÷15のあまり11F3 =113÷15のあまり1F2 =112÷15のあまり11F1 =111÷15のあまり1F0=110÷15のあまり
こたえN=15, m=11
15mod11nnF
周期 r=2
121111 2/22/rm
101111 2/22/rm
緑下線の数字とN=15の最大公約数をとると3と5
古典的にrを求めるのが難しい
古典的計算機内での処理
8F7
4F6
2F5
1F4
8F3
4F2
2F1
1F0
2n(mod 15)Fn
15mod2nnF
000 0100 0010 0110 0000 1100 1010 1110 1
レジスターX (n)
100 0010 0000 1001 0100 0010 0000 1001 0
レジスターY2n (mod 15)
20
21
22
23
20
21
22
23
10進 2進
量子計算では
8F7
4F6
2F5
1F4
8F3
4F2
2F1
1F0
2n(mod 15)Fn
15mod2nnF
000 0100 0010 0110 0000 1100 1010 1110 1
レジスターX (n)
100 0010 0000 1001 0100 0010 0000 1001 0
レジスターY2n (mod 15)
20
21
22
23
20
21
22
23
10進 2進量子情報
Xに重ね合わせ状態、Yに絡みあった状態をつくる xxf,x
量子計算では(2) 15mod2nnF
000 0100 0010 0110 0000 1100 1010 1110 1
レジスターX(n)
100 0010 0000 1001 0100 0010 0000 1001 0
レジスターY2n (mod 15)
20
21
22
23
20
21
22
23
フーリエ変換
0
2
4
6
8
10
0 2 4 6 8 10 12
Fnのnの値
2n (m
od 1
5)の値
可能性の高さ
0 2 4 6 8 10 12
周期rの値
r=4
Shor’s algorithm (1)
1111101011000110100010008
1:X
例:3量子ビットでf(x)の周期がr=2の場合を考える.
765432108
1
xxf,x:Y,X
81
離散フーリエ変換を に適用する.(知りたいのはf(x)の周期r)
7210081
81 7
0
82 ffffxf,xe'k,x
/ikx
7210181 87282282 fefefef /i/i/i
7210281 87482484 fefefef /i/i/i
7210781 87148214814 fefefef /i/i/i
......
Shor’s algorithm (2)f(x)も計算の結果,周期r=2であれば,f(0)=f(2)=f(4)=f(6)およびf(1)=f(3)=f(5)=f(7)なので以下のようにくくれる.
10021
ff'
47454342320 10181 /i/i/i/i/ii/i eeeefeeeef
......
2725232320 10281 /i/i/i/iiii eeeefeeeef
4214154943293230 10381 /i/i/i/i/ii/i eeeefeeeef
iiiiiii eeeefeeeef 7536420 10481
同色の色線で引かれた位相同士は干渉により弱めあい,ゼロとなる.結果として生き残るのが
1404100021
f,ef,f,f,' i よってX測定では0か4を同確率でえる.
Shor’s algorithm (3)
ショアのアルゴリズムによると測定結果kは,k=0, 2n/r, 2×2n/r, 3×2n/r,・・・(r-1)2n/rをとる.
前ページの例ではn=3,k=0,4からr=2が求まる.
疑問: kは,k=0, 2n/r, 2×2n/r, 3×2n/r,・・・(r-1)2n/rと何種類の値をとれるため,周期rは決定できないのでは?
7量子ビットでr=8の例で考えると27=128.よってXの測定で8つのk=0, 16, 32, 48…, 112のうちの1つが結果として得られる.たとえばkを測定して80が得られたとする.
58
8012827
k 他のkでも同じようにすると 78,
34,2,
38,4,827
k
分子に注目すると正解r=8が50%の確率で得られることがわかる.これで十分!
入力に誤差がある場合の影響◎例題: f(x)=kx, k=0, 1, 2, ・・N-1が入力された場合の勾配kを知りたい。
方法: ユニタリ行列 入力 忠実に計算すると: となり確率1で正解が得られる。
例:N=2, k=1の場合
,xyUU ,/ NU xyxy ),/2exp( Ni 1,....,1,0, Nyx
Neee NNkf
xxkfkf
k /1)1()(
0)0(
10
01
21
1
11
21
1
220
22
22
1
ii
i eee
U
kk eU
◎入力fkが正確に行えず が
入力されると
が出力される。N=16, k=4, =0.2では が
高い確率で得られる。繰り返し測定が重要。
,)()( xkxgk 1
11,,00, NNkxxkkk ebebebU
xxg 2.4)(4
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
exが得られる確率(N=16, k=4, =0.2)
量子コンピュータの基本要素
NS
1.初期化 2.量子演算 3.読み出し
回転
制御ノット
単一スピン検出
量子ビット#1
量子ビット#2
量子ビット#3
量子ビット#4
量子ビット#5
量子ビット#6
量子ビット数 総演算ステップ数
超並列計算
0 0 0 00 0 1 10 1 0 20 1 1 31 0 0 41 0 1 51 1 0 61 1 1 7
2進数 10進数
2n通りの数を一気に処理できる
量子ビットに必要な性質
1.初期化が容易である.
2.位相緩和時間が長い(Hが時間に依存しない)
外界との相互作用が小さい
3.1ステップに必要な演算時間が短い
4.多量子ビット演算に充分な相互作用がえられる.
他の量子ビットとの相互作用をon/offできる.
5.単一ビットの状態測定(読み出し)が容易である.
量子コンピュータの実現にむけて1.量子ビット数(n)の増加→ 状態数 2n
2.総演算ステップ数位相緩和時間 T2
スイッチ時間 ts
量子ビット 緩和時間 T2 (秒) スイッチ時間 ts(秒) 総演算ステップ数
電子準位 10-9 10-13 10 4
電子スピン 10 -6 10-10 10 4
イオン準位 10 -1 10 -14 10 13
核スピン 10 3 10 -4 10 7
光子
量子ビットのジレンマ(核スピンの例)
1.外界との相互作用が小さい 極めて長い緩和時間 T2 1000秒?2.スイッチ時間 ts 0.0001秒 (核磁気共鳴周波数(KHz)の逆数)3.実現可能な演算ステップ数 107回
長所
短所
1.外界との相互作用が小さい 演算・単一スピン測定が困難
2.初期化が困難~10μK
イオントラップ
中性イオン光学結晶
分子核磁気共鳴(溶液NMR)
バルク結晶核磁気共鳴
超伝導における磁束状態の利用
超伝導における電荷状態の利用
半導体中の不純物核スピン
単一スピン検知プローブ
キャビティーQED量子ドット中の電荷の光学的操作
量子ドット中の電子スピンの光学的操作
量子ドット中の電子スピンの電気的操作
液体ヘリウム上の2次元電子系
固体システム
その他:線形光学、非線形光学, STM, . . .
量子ドット中の電荷の電気的操作
半導体中の不純物電子スピン
全シリコン量子計算
総演算ステップ数
VandersypenAPL 00
VandersypenPRL 00
VandersypenNature 2001
factoring 15
VandersypenPRL 99
ChuangNature 98
*量子ビット操作最前線
量子ビット数
02 NEC02 Delft