みんなの量子コンピュータ
https://images-na.ssl-images-amazon.com/images/I/51nk8E9BwtL._SX350_BO1,204,203,200_.jpg
2020/10/30
2020/11/6
Chris Bernhardt『みんなの量子コンピュータ』(湊雄一郎・中田真秀監訳、翔泳社)読了。スピンという概念と線形代数の理解に始まり、量子の諸現象について説明したあと古典論理、量子論理、そして量子アルゴリズムへという展開は、なるほど理工系学部を修めた者に親切で、実際よくわかる内容だった。
はじめに
大事な量子力学アイデア
重ね合わせ
測定
量子もつれ
構成
第1章 量子ビットとスピン
第2章 必要な線形代数
第3章 前の二つの章のつながり
第4章 2つの量子ビットがもつれることの意味
第5章 ベルの不等式
第6章 古典的な計算と可逆計算
第7章 量子回路を使った量子コンピューティングの学習
第8章 量子アルゴリズムと計算の複雑性理論
第9章 量子コンピューティングが生活に及ぼす影響
まえがき
2019年、Googleが量子超越性を達成
第1章 スピン
古典ビット
0か1の二つの状態
量子ビット
二つの状態を重ね合わせられる
電子のスピンまたは光子の偏光によって表せる
シュテルン=ゲルラッハの実験
N極かS極のどちらかに引き寄せられる
銀原子はスピンN極の状態とS極の状態を持つ
1.1 量子時計
時計の針が文字盤のどの時刻を指しているか聞く
尋ねた時刻の方向か、あるいは正反対の方向を向いているとき「イエス」と答える
針が12時の方向を向いているかに「イエス」
12時または6時の方向を向いている
1.2 同じ方向での測定
針が12を指しているか繰り返し答える
繰り返し同じ答えを得る
1.3 さまざまな方向での測定
最初に垂直方向に測定し、次に水平方向に測定
実験装置を90度回転
半分がスピンN極を持ち、半分がスピンS極を持つ
完全にランダム
今度は垂直、水平、垂直の3回測定
半分がスピンN極、半分がスピンS極
完全にランダム
電子が最初に垂直方向にスピンN極だったことは、再び垂直方向にもう一度スピンN極だったこととは関係がない
結論
まったく同じ質問を繰り返し続けると、まったく同じ答えが得られる
ランダム性が発生している
測定は結果に影響を与える
最初の質問と3番目の質問が同じで、2番目の質問が異なる場合、最初の質問と3番目の質問の答えが同じである必要はない
1.4 測定
古典力学における測定
スピードガンの光子が与える影響は無視できる
量子力学における測定
測定には系と測定装置を相互作用させる必要
もはや測定行為そのものを無視できない
測定の「強さ」は問題ではない
1.5 ランダム性
コインを投げる
表裏裏表表表裏裏…
古典力学
初期値鋭敏性によって説明できる
決定論的
本当のランダム性はない
スピン測定
NSSNNNSS…
量子力学
真にランダム
アインシュタイン「神はサイコロを振らない」
見かけのランダム性?
隠れ変数が存在する?
1.6 光子と偏光
電子スピンに類似した実験
3枚の直線偏光フィルターを用いた実験
まずフィルターを2枚用意し、一方を90度回転させて重ねる
完全に光が遮断される
三枚目のフィルターを45度回転させて間に挟む
光は三枚のフィルターが重なり合う領域を通過
結果は直感に反する
二枚のフィルターを通過するよりも三枚のフィルターを通過する光が多くなる
1.7 まとめ
原子ビットは一般には電子のスピンまたは光子の偏光などで顕さえっる
直感的でなく、古典的なものとは全く異なる性質を持つ
スピンを測定するには
まず測定する方向を選択してから、その方向で測定する必要がある
測定結果は二つだけ得られる
これらの結果に古典的なビットを当てはめる
第2章 線形代数
量子力学は線形代数に基づく
スピンまたは変更を記述するために必要なのは有限次元の線形代数で、非常に簡単
ポール・ディラックの記法
量子力学と量子計算の両方で広く使用
2.1 複素数と実数について
三次元に拡張
時計の文字盤ではなく、中心から表面上の位置を示す矢印を持つ地球儀に
三次元スピンの数学モデルでは複素数を使用する
三角関数と指数関数を洗練された方法で統合
ショアのアルゴリズム
2.2 ベクトル
数値が並んだもの
縦書き:列ベクトル、ケット、|v>
横書き:行ベクトル、ブラ、<w|
2.3 ベクトル図
始点から終点までの変化量
始点が原点に描かれている場合、終点は座標
2.4 ベクトルの長さ
要素の二乗和の平方根
2.5 スカラーの乗算
各要素に実数を掛ける
2.6 ベクトルの加算
同じタイプで同じ次元を持つとき、同じ番目の要素どうしを加算
中線定理
平行四辺形を作る
2.7 直交ベクトル
二つのベクトルがピタゴラスの定理を満たすときに限り垂直
2.8 ブラとケットの積
連結
単にベクトルを並べて書く
<a||b>
<a|b>
内積またはドット積
2.9 ブラケットと長さ
ブラは垂直、ケットは水平
<a|a> = a_1**2 + a_2**2 + ... + a_n**2
<a|a> = 1 の場合に限り、ケット|a>が単位ベクトル(長さ1)
2.10 ブラケットと直交性
<a|b> = 0 の場合に限り、二つのケット|a>と|b>は直交
2.11 正規直交基底
正規化 && 直交
正規直交基底は互いに直行するn個の単位ベクトルのケットから構成
すべての二次元ベクトルの集合はR**2
直行する二つの単位ベクトル|b_1>と|b_2>とを含んだ集合から構成
正規直交基底を構成するかどうかチェック
<b_1|b_1> = 1、<b_2|b_2> = 1、<b_1|b_2> = 0
基底のベクトルを文字列で命名する代わりに矢印を使う
{|↑> = [[1], [0]]}
{|↓> = [[0], [1]]}
{|→> = [[1/√2], [-1/√2]]}
{|←> = [[1/√2], [ 1/√2]]}
{|↗︎> = [[1/2], [-√3/2]]}
{|↙︎> = [[-√3/2], [ 1/2]]}
つまり {|↑>, |↓>}、{|→>, |←>}、{|↗︎>, |↙︎>}、
2.12 基底ベクトルの線形結合としてのベクトル
どんなケットも基底ベクトルの加重和として表せる
[c d] = x_1[1 0] + x_2[0 1]
[c d] = x_1|→> + x_2|←>
解き方
x_1を見つけるには、両辺に左から一つ目のブラ|→>を掛ける
次に右辺を展開
<→|(x_1|→> + x_2|←>) = x_1<→|→> + x2<→|←>
右辺は一つ目が1で、二つ目は0
左の左辺の席の計算をするだけ
x_2を見つけるには、両辺に左から二つ目のブラ|←>を掛ける
同様
n次元
一つずつやる
|v>を基底ベクトルの線形結合として書ける
<b_1|v> は確率振幅と呼ばれる
二乗の確率で|v>が|b_1> になる
2.13 順序付き基底
(|b_1>, |b_2>, ..., |b_n>) で表す
(|↑>, |↓>)≠(|↓>, |↑>)
(|↑>, |↓>)の実験装置を180度ひっくり返したら(|↓>, |↑>)になる
2.14 ベクトルの長さ
<v|v> = c_1**2 + c_2**2 + ... + c_n**2
2.15 行列
m行n列の行列はm × n行列
M^TはMの転置行列でn × m行列
<a| = |a>^T、|a>= <a|^T
行列AとBの積
Aはブラで構成され、Bはケットで構成されていると考えて計算できる
ABとBAは等しいとは限らない
このとき、非可換
正方行列
行と列の数とが同じ
主対角要素
左上から右下に向かう対角要素
単位行列 I_n
主対角要素が1
2.16 行列計算
n次元ケットが正規直交基底か
n × n (1 × n の誤り?)行列のAを作り、それからその転置A^Tを取る
それからA^T Aの積を取る
I_n の場合に限り、正規直交基底
もっと簡単な方法
全ての主対角要素が1であることを確認した後、対角線の上(または下)のすべての要素が0であることを確認すればよい
2.17 直交およびユニタリ行列
実数要素を持ち、M^T Mが単位行列に等しいという性質を持つ正方行列Mを、直交行列
アダマールゲート
CNOTゲート
直交行列に対応する複素数の要素を持つ行列を、ユニタリ行列
2.18 線形代数の解法テクニック
1. 正規直交基底かどうかをチェックし、AとA^Tを準備してA^T Aを計算。単位行列なら正規直交規定
2. 正規直交基底{|b_1>, ..., |b_n>}とケット|v>が与えられた時、ケットを基底ベクトルの線形結合として表現する。そのためにAを準備し、[x_1, ..., x_n] = A^T|v> = [<b_1|v>, ..., <b_n|v>] を計算する
3. 正規直交基底と|v>が与えられた時、|v>の長さを求める
https://gyazo.com/4531e1fae07eaf8149144c4f56f3d24f
第3章 スピンと量子ビット
3.1 確率
3.2 量子スピンの数学
3.3 等価な状態ベクトル
3.4 与えられたスピン方向に対応する基底
3.5 実験装置を60度回転させる
3.6 光子の偏光を表す数学モデル
3.7 特定の偏光方向に対応する基底
3.8 偏光フィルターの測定
3.9 量子ビット
3.10 アリスとボブとイブ
3.11 確率振幅と干渉
3.12 BB84プロトコル
第4章 量子もつれ
4.1 もつれのない量子ビット
4.2 もつれのない量子ビット計算
4.3 もつれた量子ビットの計算
4.4 超光速通信
4.5 テンソル積の標準基底
4.6 量子ビットをどうやってもつれさせるか
4.7 CNOTゲートで量子ビットをもつれさせる
4.8 もつれた量子時計
第5章 ベルの不等式
5.1 異なる基底でのもつれた量子ビット
5.2 もつれた状態を(|b0>,|b1>)で書き直す
5.3 アインシュタインと局所現実性
5.4 アインシュタインと隠れ変数
5.5 もつれ状態の古典的な説明
5.6 ベルの不等式
5.7 量子力学的モデルでの答え
5.8 古典的モデルでの答え
5.9 測定
5.10 量子鍵配送のためのエッカートプロトコル
第6章 古典論理、ゲート、および回路
6.1 論理
6.2 ブール代数
6.3 ゲート
6.4 回路
6.5 普遍的なゲート、NAND
6.6 ゲートと計算
6.7 メモリ
6.8 可逆ゲート
6.9 ビリヤードボールコンピューティング
第7章 量子ゲートと回路
7.1 量子ビット
7.2 CNOTゲート
7.3 量子ゲート
7.4 1つの量子ビットに作用する量子ゲート
7.5 完全な量子ゲートは存在するか
7.6 量子複製不能定理
7.7 量子計算と古典的計算
7.8 ベル回路
7.9 超高密度符号化
7.10 量子テレポーテーション
7.11 エラー訂正
7.12 コードの繰り返し
7.13 量子ビットフリップ補正
第8章 量子アルゴリズム
8.1 複雑性クラスPとNP
8.2 量子アルゴリズムと古典アルゴリズムの速度
8.3 クエリの複雑さ
8.4 ドイッチのアルゴリズム
8.5 アダマール行列のクロネッカー積
8.6 ドイッチ-ジョサのアルゴリズム
8.7 サイモンのアルゴリズム
8.8 複雑さのクラス
8.9 量子アルゴリズム
第9章 量子コンピューティングの与える影響
9.1 ショアのアルゴリズムと暗号解読
9.2 グローバーのアルゴリズムとデータ検索
9.3 化学とシミュレーション
9.4 ハードウェア
9.5 量子アニーリング
9.6 量子超越性と並行宇宙
9.7 計算
第1章 スピン
1.1 量子時計
1.2 同じ方向での測定
1.3 さまざまな方向での測定
1.4 測定
1.5 ランダム性
1.6 光子と偏光
1.7 まとめ
第2章 線形代数
2.1 複素数と実数について
2.2 ベクトル
2.3 ベクトル図
2.4 ベクトルの長さ
2.5 スカラーの乗算
2.6 ベクトルの加算
2.7 直交ベクトル
2.8 ブラとケットの積
2.9 ブラケットと長さ
2.10 ブラケットと直交性
2.11 正規直交基底
2.12 基底ベクトルの線形結合としてのベクトル
2.13 順序付き基底
2.14 ベクトルの長さ
2.15 行列
2.16 行列計算
2.17 直交およびユニタリ行列
2.18 線形代数の解法テクニック
第3章 スピンと量子ビット
3.1 確率
3.2 量子スピンの数学
3.3 等価な状態ベクトル
3.4 与えられたスピン方向に対応する基底
3.5 実験装置を60度回転させる
3.6 光子の偏光を表す数学モデル
3.7 特定の偏光方向に対応する基底
3.8 偏光フィルターの測定
3.9 量子ビット
3.10 アリスとボブとイブ
3.11 確率振幅と干渉
3.12 BB84プロトコル
第4章 量子もつれ
4.1 もつれのない量子ビット
4.2 もつれのない量子ビット計算
4.3 もつれた量子ビットの計算
4.4 超光速通信
4.5 テンソル積の標準基底
4.6 量子ビットをどうやってもつれさせるか
4.7 CNOTゲートで量子ビットをもつれさせる
4.8 もつれた量子時計
第5章 ベルの不等式
5.1 異なる基底でのもつれた量子ビット
5.2 もつれた状態を(|b0>,|b1>)で書き直す
5.3 アインシュタインと局所現実性
5.4 アインシュタインと隠れ変数
5.5 もつれ状態の古典的な説明
5.6 ベルの不等式
5.7 量子力学的モデルでの答え
5.8 古典的モデルでの答え
5.9 測定
5.10 量子鍵配送のためのエッカートプロトコル
第6章 古典論理、ゲート、および回路
6.1 論理
6.2 ブール代数
6.3 ゲート
6.4 回路
6.5 普遍的なゲート、NAND
6.6 ゲートと計算
6.7 メモリ
6.8 可逆ゲート
6.9 ビリヤードボールコンピューティング
第7章 量子ゲートと回路
7.1 量子ビット
7.2 CNOTゲート
7.3 量子ゲート
7.4 1つの量子ビットに作用する量子ゲート
7.5 完全な量子ゲートは存在するか
7.6 量子複製不能定理
7.7 量子計算と古典的計算
7.8 ベル回路
7.9 超高密度符号化
7.10 量子テレポーテーション
7.11 エラー訂正
7.12 コードの繰り返し
7.13 量子ビットフリップ補正
第8章 量子アルゴリズム
8.1 複雑性クラスPとNP
8.2 量子アルゴリズムと古典アルゴリズムの速度
8.3 クエリの複雑さ
8.4 ドイッチのアルゴリズム
8.5 アダマール行列のクロネッカー積
8.6 ドイッチ-ジョサのアルゴリズム
8.7 サイモンのアルゴリズム
8.8 複雑さのクラス
8.9 量子アルゴリズム
第9章 量子コンピューティングの与える影響
9.1 ショアのアルゴリズムと暗号解読
9.2 グローバーのアルゴリズムとデータ検索
9.3 化学とシミュレーション
9.4 ハードウェア
9.5 量子アニーリング
9.6 量子超越性と並行宇宙
9.7 計算
https://m.media-amazon.com/images/S/aplus-media/vc/3d77ce9b-0ce9-4637-b965-e707822a7d71.__CR0,0,970,600_PT0_SX970_V1___.jpg
みんなの量子コンピュータ
量子コンピューティングに関する基礎理論の全体像
【本書の内容】 本書は、量子ビットを使用したコンピューティングの数学的構造をわかりやすく紹介しています。 解説を単純化すると、量子状態に実際の係数のみを使用することで、位相の複雑さを軽減し、初学者にもイメージしやすくしています。
一読すれば、すぐにでも量子コンピュータのエキスパートに近づけるという書籍ではありませんが、量子コンピュータを形作る数学・物理学、アルゴリズム、論理回路など、多方面のアイデアと、その源泉に触れることができます。 そのため、読者が直感的に理解している分野に関しては、その厳密なバックボーンを提供し、理解の促進(あるいは取っ掛かり)が得られるはずです。
本書は、「なんとなく」や「話のタネ的に」ではなく、量子コンピュータをベースに世界を構築したい人たちのための、最初の一冊です。
本書は "Quantum Computing for Everyone" Chris Bernhardt The MIT Press Cambridge の翻訳です。
【本書のポイント】・スピンやキュービット、スイッチなどの厳密な解説 ・もつれ状態の構築実際の係数を使用して説明 ・論理回路とユニバーサルゲートの構築法 ・NP問題に適応する量子アルゴリズムの構築
【読者が得られること】・量子コンピュータに必要な数学的背景 ・80年代から続くアイデアの整理と展望 ・高次コンピュータサイエンスの理解
【対象読者】理工学部学生 ・量子コンピュータをターゲットとするエンジニア ・量子コンピュータ科学者
【著者について】Chris Bernhardt(クリス・バーンハルト) Warwickユニバーシティで数学の博士号を取得後、Fairfieldユニバーシティの数学教授。 主な著述はコンピュータ理論であり、数学や物理、コンピュータ・サイエンスを含む分野がメインである。 この分野は、多くの美しく直感に反するアイデアが含まれており、バーンハルト教授の目的は、すべてをできるだけシンプルにすることで、非専門家にもこれらの重要なポイントを紹介することにある。
※紙の書籍と電子書籍でレイアウトが異なります。
内容(「BOOK」データベースより)
量子コンピューティングを構成する基礎理論のエッセンス。
著者略歴 (「BOOK著者紹介情報」より)
バーンハルト,クリス
Warwickユニバーシティで数学の博士号を取得後、Fairfieldユニバーシティの数学教授。主な著述はコンピュータ理論であり、数学や物理、コンピュータ・サイエンスを含む分野がメインである
湊/雄一郎
東京都生まれ。東京大学工学部卒業。隈研吾建築設計事務所を経て、2008年にMDR株式会社設立。2017~19年内閣府ImPACT山本プロジェクトPM補佐を務める。研究分野・テーマはイジングモデルアプリケーション、量子ゲートモデルアプリケーション、各種ミドルウェアおよびクラウドシステム、量子ビット
中田/真秀
1997年京都大学工学部工業化学科卒、2003年京都大学大学院工学研究科博士(工学)取得。学術振興会特別研究員、理化学研究所基礎科学特別研究員などを経て理化学研究所技師。興味は量子化学、量子コンピュータ、高精度計算、最適化、ハイパフォーマンス・コンピューティングなど(本データはこの書籍が刊行された当時に掲載されていたものです)