2022/09/25
量子ビット、量子ゲートからスタートして、量子コンピュータの原理、アルゴリズムの概要などを解説した資料です。
目次
量子コンピュータの原理
量子力学と量子コンピュータ、量子ビット
ハミルトニアンとエネルギー
量子コンピュータの動作原理
古典ビットと量子ビットの違い
1量子ビット
測定
2量子ビット
2つの1量子ビット
エンタングルメント(量子もつれ)
状態ベクトルを視覚化するブロッホ球
量子ゲート
1量子ビットゲート
パウリゲート
アダマールゲート
S, Tゲート
位相ゲート
回転ゲート
2量子ビットゲート
基底ベクトル表記の順番
CNOTゲート
制御ユニタリゲート
制御Zゲート
制御アダマールゲート
SWAPゲート
主な量子ゲートまとめ
量子コンピュータはどのように計算をするのか
量子ビットの操作は具体的にどうするのか
ゲート操作の例
量子コンピュータは万能
量子コンピュータの制約事項・課題
量子コンピュータの現在
量子アルゴリズムの種類
FTQCアルゴリズム
NISQアルゴリズム
Python と IBM Quantum, Qiskit でプログラミング
IBM Quantum実行環境
IBM Quantumのアカウント作成
IBM Quantum ローカル実行環境
Anacondaのインストールと環境設定
Qiskit フレームワークの全体像
Terra
Aer
Ignis
Aqua
Qiskit とPython を用いた量子コンピュータのプログラミング
Qiskitのプログラムの基本的なステップ
プログラミングの実例
ステップ 1 : パッケージをインポートする。
ステップ 2 : 量子回路を定義する。
ステップ 3 : ゲートを追加する。
ステップ 4: 回路を可視化する
ステップ 5: 演算のシミュレーション
ステップ6: 演算結果の可視化
実機で実行
汎用量子計算
量子フーリエ変換(Quantum Fourier Transform, QFT)
量子位相推定(Quantum Phase Estimation, QPE)
Shorのアルゴリズム
量子古典ハイブリッドアルゴリズム
量子古典ハイブリッドアルゴリズムの基本
ハミルトニアンと期待値
量子変分アルゴリズム VQE
Qiskit プログラム例
QAOA
Qiskit プログラム例 Maxcut
Qiskitを用いてVQE,QAOA で実問題を解く
ポートフォリオ最適化
四銘柄のポートフォリオ最適化問題
ライブラリのインポート
時系列データ(金融データ)の生成
期待リターンと共分散行列の計算
Qiskit Finance のポートフォリオ最適化クラス
Minimum Eigen Optimizer(最小固有値オプティマイザー)
古典コンピュータの最適化アルゴリズムで問題を解く
VQEを使ったソリューション
QAOAを使ったソリューション
ナップザック問題
一般的なナップサック問題をQAOAで解く
動的計画法(古典コンピュータによる計算)
QAOAによる解法
蓄電池システムの収益最大化
問題設定
電池による収益の最適化をQAOAで解く
量子機械学習
量子古典ハイブリッド機械学習
1. 入力データの量子状態へのエンコーディング
2. 学習用量子回路
3. 損失関数
4.回路パラメータ更新
量子機械学習の実例
パッケージのインポート
Qiskitを用いた量子回路を作成します
PyTorchを用いた量子古典回路の作成
データの準備
ハイブリッド・ニューラルネットワークの作成
ネットワークの学習
学習曲線を表示します
テストを行います。
推論結果を表示します
サンプルプログラムについて
参考文献