Skip to content

Instantly share code, notes, and snippets.

@hariby
Last active November 18, 2023 07:52
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save hariby/c79cb00ad5bf85f68cef15b343213d17 to your computer and use it in GitHub Desktop.
Save hariby/c79cb00ad5bf85f68cef15b343213d17 to your computer and use it in GitHub Desktop.

2022年度 立教大学大学院 人工知能科学研究科 量子情報特論

Amazon Braket と量子コンピューティング概要

今年度の量子情報特論では、全14回の授業のうち、3回を Amazon Web Services (AWS) が担当します。 2022/10/14 の座学に引き続き、Amazon Braket を用いた演習 (ハンズオン) を2回に分けて実施するので、そのハンズオンの内容について以下にまとめます。

この授業では、演習の時のみ利用可能な AWS アカウントを発行し、AWS の量子コンピューティングサービスである Amazon Braket を用いて Python で量子コンピューティングのプログラミングを体験します。Amazon Braket を利用するための日本語コンテンツは GitHub に公開しています。

2022/10/21 ハンズオン前半

環境準備

  • Event Engine 経由で AWS マネージメントコンソールにログインします [YouTube]
    • 大学ドメインのメールアドレスで認証を行なって下さい。
    • Event Hash は当日共有します。
  • Braket ノートブックインスタンス作成 [YouTube]
    • 作成時、Git repository — optional の項目から Clone a public git repository from url を選択し、https://github.com/aws-samples/amazon-braket-examples-jp.git を貼り付けて下さい。自動で日本語サンプルリポジトリがクローンされます (忘れたら後で git clone も可能)。
    • ノートブックインスタンス作成には数分 (5分ほど) かかります。待ち時間の間に Braket で利用可能なデバイス (Simulator/QPU) について解説します。
  • ノートブックインスタンスの作成が完了したら、amazon-braket-examples-jp / workshop を開いてください。以降 Jupyter Notebook を使って順に説明していきます。
  • このノートブックではベル状態の生成を Amazon Braket Python SDK を用いて行うことで、Braket の基本的な使い方について解説します。
  • Circuit による量子回路・ゲートの記述、Braket Local Simulator による計算方法について理解し、Simulator の shots パラメータによる測定結果と計算時間の比較を行います。
  • このノートブックでは GHZ 状態を、上記 Local Simulator とオンデマンドな State Vector シミュレータ (SV1) で計算し、その使い分けについて解説します。
  • また、ノートブックを少し書き換えて、Oxford Quantum Circuit (OQC) の Lucy を使った QPU 実機での計算を行います [script]。
    • Lucy は現在日本時間の 6-9pm で利用可能で、8量子ビットまでの回路が実行できます。量子ビットのトポロジーや実機のノイズについて実際の計算を通して体験し、QPU 利用のポイントを理解します。
  • このノートブックでは Grover のアルゴリズムの概要について解説し、オンデマンドシミュレータ SV1 を用いて実際にアルゴリズムを実行します。
  • 量子オラクルと振幅増幅の繰り返しにより解探索を行う手順と、3量子ビットの例で実際のオラクルの構築 (Braket SDK でのカスタム CCZ ゲートの定義) 方法について説明します。Quantum Amplitude Amplification のノートブックも紹介します。

2022-10-28 ハンズオン後半

はじめに、前回同様に Braket ノートブックインスタンスの環境準備を行なってください。ハンズオン後半では、amazon-braket-examples-jp / workshop / pennylane 以下にある PennyLane のノートブックと、英語の Braket examples を用います。

  • このノートブックでは、量子・古典ハイブリッドアルゴリズム (変分量子アルゴリズム) を記述するのに便利なオープンソースのライブラリ PennyLane の使い方について説明します。また、量子機械学習の PennyLane 実装 についてもいくつか紹介します。
  • Quantum Approximate Optimization Algorithm (QAOA) による組合せ最適化問題の求解について解説します。具体的には、グラフの最大クリーク問題と最大カット問題を取り上げます。
  • Variational Quantum Eigensolver (VQE) を用いた水素分子の基底エネルギー計算を例に、量子コンピュータの量子化学計算への応用について解説します。

予備

もし時間が余れば、以下のノートブックについても紹介します:

  • Jupyter の Home で、New > Terminal を選択
  • その中 (Terminal 画面) で、以下のコマンドを打つ
    • cd SageMaker/
    • git clone https://github.com/qiskit-community/qiskit-braket-provider.git
  • Jupyter の Home (ファイルブラウザ) に戻り、Notebook: qiskit-braket-provider > docs > tutorials > 0_tutorial_qiskit-braket-provider_overview.ipynb を開く
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment