量子コンピュータ入門 

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を用いた量子古典回路の作成
      データの準備
      ハイブリッド・ニューラルネットワークの作成
      ネットワークの学習
      学習曲線を表示します
      テストを行います。
      推論結果を表示します
サンプルプログラムについて
参考文献