
この講座の概要を説明します.
この講座のカリキュラムです.
これから学習する量子コンピューターの特徴の紹介です.
量子コンピューターのアリゴリズムに必要な数学について説明します.
ベクトルおよび内積,射影の表記方法について説明します.
量子コンピューターの概要についての説明です.
量子ゲート方式と量子アニーリング方式について簡単に説明します.
従来型コンピューターとの比較として,並列処理と同時処理について説明します.
本講座で学習する3つの代表的な量子アルゴリズムを紹介します.
10進数から2進数への変換について確認します.
複素数について簡単に復習します.
量子ビットに適用される有限事象の確率の基礎について確認します.
論理演算について簡単に復習します.
論理回路の例として加算器の回路を紹介します.
このレクチャーの説明文書は,論理演算のレクチャーにの添付文書に含まれています.
ベクトル空間の定義と演算の公理です.
ベクトル空間を理解するための分かりやすい例として,2次元の実ベクトル空間を紹介します.
ベクトル空間のノルムと距離について説明します.
複素ベクトル空間における内積について説明します.
ベクトル空間のまとめとして,n次元複素ベクトル空間を復習します.
複素ベクトル空間における線形写像および線形変換について学習します.
n次複素正方行列の計算について復習します.
正則行列の定義および特徴を確認します.
随伴行列およびエルミート行列の定義と特徴について確認します.
ユニタリ行列の定義および特徴について確認します.
射影および直交射影について説明します.
ヌル変換について説明します.
n次正方行列をベクトルとみなすことにってベクトル空間になることを説明します.
量子ビットの数学的定義を明確にします.
量子ビットについて確認する演習問題です.
単一の量子ビットに対する作用素について説明します.
単一量子ビットに対するユニタリ作用素を紹介します.
単一量子ビットを重ね合わせ状態にするアダマールゲートおよび回転ゲートについて説明します.
量子計算に利用される射影作用素について説明します.
ベクトルのテンソル積を導入して,テンソル構造を持ったベクトル空間を定義します.
複数のテンソル積を繋げたベクトル空間について学習します.
テンソル積のクロネッカー展開について学習します.
テンソル積の表記方法として,角括弧を用いた表現を導入します.
テンソル構造を持ったベクトル空間に内積を定義します.
量子ビット列の定義について確認します.
行列のテンソル積の定義と計算ルールについて学習します.
行列のテンソル積についてのクロネッカー展開を説明します.
行列テンソル積による線形作用素の随伴作用素について説明します.
行列テンソル積による線形作用素がエルミートになる場合を説明します.
(添付資料は行列テンソル積の随伴作用素に付随しています.)
行列テンソル積の恒等作用素について説明します.
行列テンソル積の逆作用素について説明します.
(説明資料のpdfには行列テンソル積の恒等作用素のレクチャーに含まれています.)
行列テンソル積のユニタリ作用素について説明します.
(説明資料のpdfは,行列テンソル積の恒等作用素のレクチャーに含まれています.)
テンソル構造を持ったベクトルと同様にテンソル構造を持った線形作用素についても代替え表現を導入します.
これまで学習したテンソル積を含んだ計算式についての復習です.
量子回路の部品である単一の量子ゲートについての図を説明します.
複数個の量子ビットに対する量子ゲートについて説明します.
複数量子ビットの相互作用を行う制御ユニタリゲートについて説明します.
複数の量子ビットがもつれ合ったエンタングル状態について説明します.
量子ビットの値を入替えるSWAPゲートについて説明します.
SWAPゲートの式を3個の制御ノットゲートの積から求める計算を筆算によって実施します.
(pdf資料は前のレクチャーの添付資料に含まれます)
量子ビットを独立な値としてコピーすることが出来ないという量子複製不可能定理について説明します.
トフォリゲートおよび多重制御ノットゲートについて説明します.
3種類の単純な量子ゲートを組み合わせることによってトフォリゲートと等価になる量子回路が構成できることを示します.
制御SWAPゲートとも言われるフレドキンゲートについて説明します.
基本的な論理回路を量子ゲートによって構成できることを説明します.
量子ビット列に2進数の意味を持たせた量子バイナリーについて説明します.
桁上がりの無い半加算器の量子回路について説明します.
桁上がりのある全加算器について説明します.
(資料については半加算器のpdfファイルをご参照ください.)
具体的な加算器の例として,3桁+3桁の加算器を紹介します.
量子バイナリーの重ね合わせ状態の生成について説明します.
量子バイナリーに対する恒等作用素の射影分解作用素について説明します.
量子バイナリーを制御部分にしたユニタリ作用素について説明します.
量子バイナリーの上下の桁を反転する作用素について説明します.
「量子数学」という用語は,この講座に合わせて創作した造語です.その意味は,量子コンピューター上で稼働するプログラムのアルゴリズムを構築するための巣学的な基礎をまとめた分野を指しています.
実は量子コンピューターを有効に活用するには稼働するプログラムのアルゴリズムが量子コンピューターの特性を活かしたものになっていることが重要になります.
一般のメディア報道では,量子コンピューターが実現すると既存のコンピューターよりも遥かに高速で計算を行い,現在使われている暗号は簡単に解読されてしまい,世の中が一変するとのセンセーショナルな報道ばかりです.
しかし,仮に汎用量子コンピューターが実現したときに,既存コンピューターのプログラムをそのまま移植しても実行速度は既存コンピューターより遅くなります.
すなわち,量子コンピューターが威力を発揮するためには,プログラムを斬新なアルゴリズムで開発する必要があります.また,経験豊富なプログラマーだとしても,量子プログラミング・アルゴリズムのノウハウが無ければ問題を高速で解くプログラムを書くことは出来ません.
私は「量子コンピューターのプログラムの要はアルゴリズム」ということを理解したときに,多くの量子コンピューターの本が,この本質部分を本格的に解説していないことに気が付き,この講座を作成する運びとなりました.
量子コンピューターの本の多くはハードウェアの研究開発に重きを置いていて,量子アルゴリズムを厳密には扱っていないように思えました.特に,それらの本は物理を軸としたものなので,数学的厳密さに欠ける部分に違和感を持ちました.
そのような理由で,この講座では量子アルゴリズムを数学的に整理した内容のカリキュラムになっています.
ここで,この講座では
「実用的な汎用量子コンピューターが存在するものとする」
を,前提条件とします.もちろん,現在のところ本格的な量子コンピューターは未だ開発されていません.しかし,その部分に言及すると,ハードウェアの研究開発の話で全体が構成されてしまいます.ハードウェアの研究開発については,世界中の研究者が努力していて日進月歩の勢いです.したがって,その部分については,この講座の範囲外とします.
また,現在開発が進められている量子コンピューターには,汎用量子ゲート方式とアニーリング方式の2種類の方式がありますが,この講座は汎用量子ゲート方式を前提としています.
この講座のカリキュラムは次のようになっています.
量子コンピューターの概要
数学の基礎
ベクトル空間
線形写像
テンソル積
量子ビット
量子バイナリー
量子回路
量子神託機械(オラクル)
ドイッチュ・ジョサのアルゴリズム
グローバーのアルゴリズム
量子フーリエ変換
ショアのアルゴリズム
最初に量子コンピューターの概要を説明します.その後,必要となる数学的知識を学習します.
数学的基礎としては線形代数が中心となりますが,量子計算プログラムにおいてはテンソル積の構造が重要になります.
講座内で確り説明しますが,量子ビットはノルムが1となる2次元複素ベクトルとして表現されます.さらにn桁の量子ビット列はn個の量子ビットのテンソル積として表現します.そして,この量子ビット列はテンソル構造を持つベクトル空間の部分集合となっています.さらに量子回路の主要部分はこのベクトル空間上のユニタリ作用素で構成されます.
この説明を見た段階では全く意味不明かもしてませんが,カリキュラムを履修していくと明確に理解することができます.
そして,量子アルゴリズムを解読する準備ができた段階で,量子コンピューターの歴史上で有名なアルゴリズムについて説明します.そのアルゴリズムが,
ドイッチュ・ジョサのアルゴリズム
グローバーのアルゴリズム
量子フーリエ変換
ショアのアルゴリズム
です.これらのアルゴリズムは量子ビットの特性を活かした納得のアルゴリズムになっています.これらのアルゴリズムについての解説を理解したころには量子コンピューターのプログラム開発の素養が身に付いているものと思います.
以上説明したように,この講座の内容は他に類を見ないものになっています.量子コンピューターに本格的に興味のある方は,ぜひ受講をご検討ください.
追記:
一般的な量子コンピューターの本には記載されているが,この講座では棄却したものが幾つかあります.それは
ブロッホ球
ブラ,ケット表現
テンソル積のクロネッカー展開による説明
です.これらを除外した理由は講座内のカリキュラムで説明しています.ただ,一言で言ってしまうと数学的に受け入れがたかったということです.
ブラ,ケット表現は物理の世界では常識になっているようですが,数学の世界ではちょっと疑問符が付きます.この講座内の数式をブラ,ケット表現に書き換えることは可能ですが,私としては逆に見通しが悪く見えたので不採用としました.
ただし,これらを好んで使っている先生方もいらっしゃいますので,この件については批判ではなく好みの違いとご認識ください.