|
中山茂著 |
A5・420頁 / 5940円 発行年月日 : 2014年10月 ISBN : 978-4-7655-3343-0 |
| |
正誤表 1 |
|
|
|
|
|
|
量子アルゴリズムとは,量子力学の原理を使って問題を解く方法であり,量子力学という物理を使うことによって,今まで計算が難しかった問題が少ない計算量で解けるようになる。本書では,量子アルゴリズムの学習に必要な数学的な厳密さに固守せず,直感的でわかりやすい解説をこころがけた。また,量子アルゴリズムを実際に解くために,MatlabやMathmatica,Java のコードを随時入れて解説。これらはシミュレーションして確かめることもできる。量子コンピュータに特有な量子アルゴリズムは,新しく出現した分野であり,従来の計算やプログラムでの考え方を大きく変換させている。本書は,これからの情報技術者にとって,量子アルゴリズムのための新しいプログラミング手法を開発するためのヒントとなるであろう。
◆一般的な電子書籍ストアで電子版を販売中です◆
|
|
|
|
第1章 量子コンピュータの基礎
1.1 古典的コンピュータから量子コンピュータへ 1.1.1 古典的コンピュータの発展 1.1.2 量子アルゴリズムの発展 1.1.3 なぜ量子コンピュータが必要なのか? 1.1.4 量子コンピュータはどんな威力があるか? 1.1.5 量子コンピュータは実現可能か? 1.1.6 量子コンピュータの学習には何が必要か? 1.1.7 量子コンピュータはなぜ高速計算が可能か 1.2 古典物理と量子物理における計算処理 1.2.1 ブール論理と量子論理 1.2.2 古典的ビットと量子ビット 1.2.3 複数の量子ビット 1.2.4 量子ビットを用いた関数f(x)の計算 1.3 量子ビットの観測問題 1.3.1 観測による波束の収縮 1.3.2 量子ジーノゥ効果 1.3.3 観測確率 1.3.4 多世界解釈と平行宇宙 1.4 チューリング機械 1.4.1 決定性チューリング機械 1.4.2 確率的チューリング機械 1.4.3 量子チューリング機械 1.5 アルゴリズム効率評価のための計算量 1.6 問題の古典的な複雑さのクラス 1.7 量子アルゴリズムの歴史 1.8 参考図書とWebサイト
第2章 量子アルゴリズムのためのベクトル空間9
2.1 ヒルベルト空間とベクトル空間 2.1.1 ヒルベルト空間 2.1.2 ベクトル空間 2.2 2次元複素ベクトル空間 2.3 ベクトルの内積 2.4 ベクトルの外積 2.5 偏光した光状態によるベクトル表現 2.5.1 直線偏光と円偏光によるベクトル表現 2.5.2 標準規定と双対規定 2.6 線形作用素 2.6.1 線形作用素とは 2.6.2 ユニタリ作用素 2.6.3 アダマール変換 2.7 線形作用素の固有値と固有ベクトル 2.7.1 固有値と固有ベクトル 2.7.2 固有値方程式 78 2.7.3 パウリのスピン行列の固有値と固有ベクトル 2.8 ベクトルのテンソル積 2.8.1 テンソル積の計算方法 2.8.2 テンソル積での観測確率 2.8.3 行列の積とテンソル積との違い
第3章 量子アルゴリズムのための量子力学
3.1 量子状態の表現方法 3.2 シュレディンガー方程式 3.2.1 シュレディンガー方程式と波動関数 3.2.2 2準位原子のシュレディンガー方程式 3.2.3 原子とレーザー光との相互作用のあるシュレディンガー方程式 3.2.4 重ね合わせ状態の生成とRabiの振動 3.2.5 光パルスによる1キュービットの回転 3.2.6 光パルスの位相調整による1キュービットの回転 3.3 密度行列 3.4 測 定 3.4.1 量子測定 3.4.2 射影測定 3.4.3 POVM測定
第4章 量子論理ゲート
4.1 古典的な論理ゲートと量子論理ゲート 4.1.1 論理ゲートの可逆性 4.1.2 古典的な論理ゲートでの万能ゲート 4.1.3 量子論理ゲートでの万能ゲート 4.1.4 情報と熱との関係(ランダウアーの原理) 4.2 1キュービットの量子論理ゲート 4.2.1 1キュービットの全ユニタリ・ゲート 4.2.2 1キュービットの万能ゲート 4.2.3 平方根ゲート 4.3 2キュービットの量子論理ゲート 4.3.1 2キュービットの可逆ゲート 4.3.2 モジュラス数学 4.3.3 制御NOTゲートの万能ゲート 4.3.4 制御Uゲート 4.3.5 制御NOTゲートの組み合わせ 4.3.6 制御Zゲート 4.4 3キュービットの量子論理ゲート 4.4.1 トフォリゲート 4.4.2 フレッドキンゲート 4.5 オラクル計算 4.5.1 関数計算を行うオラクル比較 144 4.5.2 非クローン定理148
第5章 量子アルゴリズムの基本−ドイチ・アルゴリズム−
5.1 ドイチ問題と硬貨の真偽判定 5.2 ドイチ問題の簡単な計算 5.3 量子オラクルを用いたドイチ・アルゴリズム 5.4 ドイチ問題の量子ゲート 5.5 位相の見返り(Phase Kickback)を用いたドイチ・ゲート 5.6 ドイチ問題の量子回路のエレガントな計算表記 5.7 ドイチ・アルゴリズムでの量子オラクルの具体的な量子ゲート 5.7.1 量子オラクルの具体的な量子ゲート 5.7.2 量子オラクルをアダマール変換で挟む効果
第6章 ドイチ・ジョサ・アルゴリズム
6.1 ドイチ・アルゴリズムの拡張 6.2 ドイチ・ジョサ問題 6.3 ドイチ・ジョサ・アルゴリズム 6.4 ドイチ・ジョサ・アルゴリズムの2ビット例 6.5 ドイチ・ジョサ・アルゴリズムでの量子オラクルの具体的な量子ゲート 6.5.1 量子オラクルの具体的な量子ゲートの組み立て方針 6.5.2 ドイチ・ジョサ問題で一定な関数の場合 6.5.3 ドイチ・ジョサ問題で均等な関数の場合 6.6 ドイチ・ジョサ問題の具体的な量子ゲートでの検証 6.6.1 量子オラクルの検証方法 6.6.2 一定な関数の量子オラクルの検証 6.6.3 均等な関数の量子オラクルの検証
第7章 ベルンシュタイン・ヴァジラニ・アルゴリズム
7.1 ベルンシュタイン・ヴァジラニ問題 7.2 ベルンシュタイン・ヴァジラニ問題の古典的アルゴリズム 7.2.1 古典的アルゴリズム 7.2.2 n=2ビットの古典的アルゴリズム例1 7.2.3 n=2ビットの古典的アルゴリズム例2 7.3 ベルンシュタイン・ヴァジラニ・アルゴリズム 7.3.1 オラクルによるPhase Kickback 7.3.2 オラクル出力のアダマール変換 7.3.3 アダマール変換後のオラクル出力 7.4 ベルンシュタイン・ヴァジラニ・アルゴリズムの2ビット例 7.5 ベルンシュタイン・ヴァジラニ問題での量子オラクルの具体的な量子ゲート 7.6 具体的な量子ゲートでベルンシュタイン・ヴァジラニ・アルゴリズムの検証
第8章 サイモン・アルゴリズム
8.1 サイモン問題 8.1.1 サイモン問題とは 8.1.2 サイモン問題の2ビット例の古典的アルゴリズム 8.1.3 サイモン問題の3ビット例の古典的アルゴリズム 8.2 サイモン問題の量子アルゴリズム 8.2.1 2ビット例のサイモン・アルゴリズム 8.2.2 サイモン問題のnビット例の量子アルゴリズム 8.2.3 サイモン問題の3ビット例の量子アルゴリズム 8.3 サイモン問題での量子オラクルの具体的な量子ゲート 8.3.1 量子オラクルの具体的な組み立て方 8.3.2 具体的な量子ゲートでサイモン・アルゴリズムの検証
第9章 量子フーリエ変換
9.1 連続フーリエ変換と離散フーリエ変換 9.1.1 連続フーリエ変換 9.1.2 離散フーリエ変換 9.2 量子フーリエ変換 9.2.1 量子フーリエ変換の定義 9.2.2 N=4の量子フーリエ変換 9.2.3 N=8の量子フーリエ変換 9.3 量子フーリエ変換ゲート 9.4 逆量子フーリエ変換 9.5 量子フーリエ変換による位相のキックバック
第10章 位相推定アルゴリズムと位数発見アルゴリズム
10.1 位相推定アルゴリズム 10.1.1 位相推定問題 10.1.2 1キュービットでの位相推定ゲート 10.1.3 2キュービットでの位相推定ゲート 10.1.4 nビットでの位相推定ゲート 10.2 位数発見アルゴリズム 10.2.1 位相推定問題と位数発見問題と関数周期発見問題の関係 10.2.2 位数発見問題 10.3 連分数展開近似アルゴリズム
第11章 量子素因数分解と離散対数問題
11.1 因数分解とユークリッドの互除法 11.2 量子素因数分解アルゴリズム 11.2.1 重ね合わせ状態を利用した周期発見 264 11.2.2 量子フーリエ変換を利用した周期発見(3キュービット例) 11.2.3 量子フーリエ変換を利用した周期発見(8キュービット例) 11.3 一般的な周期発見アルゴリズム 11.4 離散対数問題 11.4.1 離散対数問題とは 11.4.2 離散対数問題とサイモン問題の関係 11.5 隠れ部分郡アルゴリズム
第12章 量子探索アルゴリズム
12.1 オラクルによるアルゴリズム比較 12.2 探索解の振幅反転回路 12.2.1 データベースでの検索問題設定 12.2.2 探索解の振幅反転回路 12.2.3 平均値での振幅反転回路 12.2.4 4個のデータベースでの量子探索イメージ 12.3 グローバー・アルゴリズム 12.4 4個のデータベースでのグローバー・アルゴリズム 12.5 4個のデータベースでの量子探索ゲート 12.6 8個のデータベースでのグローバー・アルゴリズム 12.6.1 8個のデータベースでの量子探索イメージ 12.6.2 8個のデータベースでのグローバー・アルゴリズム 12.6.3 8個のデータベースでの量子探索ゲート
第13章 量子通信プロトコル
13.1 量子通信プロトコルとは 13.2 量子もつれ 13.2.1 ベル状態 13.2.2 量子非局所性 13.2.3 ベル不等式と局所実在論 13.2.4 CHSH不等式 13.3 量子テレポーティション 13.3.1 量子テレポーティション問題の前提 13.3.2 量子テレポーティションの仕方 13.3.3 量子テレポーティション・アルゴリズム 13.4 量子デンス・コーディング
第14章 量子誤り訂正アルゴリズム
14.1 古典的な誤り訂正 14.2 量子誤り訂正の前準備 14.2.1 |00H,|01H,|10H,|11Hのパリティは区別はできるか? 14.2.2 3キュービットでのパリティのシンドローム診断 14.2.3 もつれ状態|00H±|11Hの符号パリティは判定できるか? 14.2.4 GHZ状態|000H±|111Hは区別できるか? 14.2.5 キュービットでの繰り返し符号の生成 14.3 量子誤り訂正 14.3.1 キュービットの繰り返し符号でのビット反転雑音 14.3.2 ビット反転の誤り検出とシンドローム診断 14.4 位相反転雑音による量子誤り訂正アルゴリズム 14.4.1 位相反転をビット反転に変換 14.4.2 ビット反転の量子誤り訂正ゲートへのアダマール変換の影響 14.5 ビット・位相雑音の量子誤り訂正ゲート 14.5.1 9キュービットの量子誤り訂正ゲート 14.5.2 アダマール変換を追加した9キュービットの量子誤り訂正ゲート
第15章 関数傾斜推定アルゴリズム
15.1 関数の数値勾配推定問題とは 15.2 数値勾配推定の量子アルゴリズム 15.2.1 ベルンシュタイン・ヴァジラニ問題との関係 15.2.2 関数の数値勾配推定アルゴリズム 15.2.3 関数の数値勾配の符号化 15.2.4 量子フーリエ変換後の状態ベクトル
第16章 断熱量子計算アルゴリズム
16.1 関数最適化問題における断熱計算 16.1.1 断熱量子計算とは 16.1.2 関数の形を変えていく求解法 16.1.3 重ね合わせ状態による全解候補の準備 16.1.4 ステップ・パラメータの導入 16.2 断熱量子計算アルゴリズム 16.2.1 シュレディンガー方程式の差分表現 16.2.2 断熱量子計算でのハミルトニアン 16.3 断熱量子計算アルゴリズムによるドイチ問題 16.3.1 ドイチ問題 16.3.2 ドイチ問題におけるハミルトニアンとユニタリ変換 16.3.3 ユニタリ変換による状態ベクトルの変化 16.3.4 断熱量子計算における観測確率の変化 16.4 断熱量子計算によるドイチ・ジョサ問題 16.5 断熱量子計算によるベルンシュタイン・ヴァジラニ問題 16.6 断熱量子計算によるサイモン問題 16.7 断熱量子計算による関数の数値勾配推定問題
第17章 量子ウォーク・アルゴリズム
17.1 古典的ランダム・ウォーク 17.2 量子コインによる離散時間量子ウォーク 17.2.1 アダマール・ウォーク 17.2.2 異なる初期状態からアダマール・ウォーク 17.2.3 離散時間量子ウォークによる探索アルゴリズム 17.2.4 離散時間量子ウォークによる組み合わせ最適化問題への適用例 17.3 シュレディンガー方程式による連続時間量子ウォーク 17.3.1 1次元格子上での連続時間量子ウォーク 17.3.2 連続時間量子ウォークによる探索アルゴリズム
|
|
|