Quantum Native Dojoは量子コンピュータについて勉強したいと思っている方のために作られた自習教材です。
量子コンピュータの基本的な動作原理から、基礎アルゴリズム、それらを応用してどのように化学計算や金融計算などに役立てるかを学ぶことができます。本教材は誤り訂正の有る量子コンピュータのアルゴリズムの他、数年以内に実用されるであろうNISQ (Noisy Intermidiate-Scale Quantum) デバイスのアルゴリズムもカバーしています。
全ての教材が Jupyter notebook
で製作され、そのまま Google Colaboratory 上で実行可能になっているので、面倒な環境設定をすることなく学習を始めることが可能です。
なおウェブサイト版もありますので、合わせてご利用下さい。
https://dojo.qulacs.org
量子コンピュータは、量子力学の原理に基づいて計算を行います。一方、私達がふだん目にする物理現象は主に古典力学に支配されています。ここに「量子コンピュータは難しい」と思われる原因の一端があります。
Quantum Native Dojoでは、みなさまに量子コンピュータの動作を感覚的に理解して使いこなせるQuantum Nativeになっていただくことを目標としています。Quantum Nativeへの道のりは簡単ではありませんが、このDojoを通して基礎からじっくりと量子力学と量子コンピュータの原理・応用を学ぶことが着実な一歩となるでしょう。
このDojoを巣立ち、Quantum Nativeとなったみなさまが様々な量子アルゴリズム/アプリケーションを作るエンジニアとして活躍されることを期待しています!
Quantum Native Dojoの内容を理解するには、以下のような知識が必要です。
こちらの前提知識及びPython・NumPyの使用に不安がある方は、Chainer Tutorialの1. ~ 12.を先に学習することをオススメします。
基本的に、このレポジトリの"notebook"フォルダ以下にある Jupyter notebook
を読みながら/実行しながら進めていきましょう。
各 Jupyter notebook
は Google Colabolatory
で実行することができるので、自前で環境を構築する必要はありません。
(もちろん、Pythonに詳しい方は手元でnotebookを実行して納得するまで使い倒してください)
Google Colabolatory
上で実行する場合Google Colabolatory のページを開きます
ファイル
> ノートブックを開く
を選択します
GITHUB
のタブを選択し、ノートブックの絞り込みの欄に qulacs
と入力します
レポジトリのプルダウンで qulacs/quantum-native-dojo
を選択し、ブランチで master
を選択します
開きたいノートブックを選択します
Jupyter notebook
で実行する場合$ jupyter notebook
でノートブックを起動させますJupyter
を起動させるためには Python 3.3
以上と Jupyter
をインストールする必要があります。
また、ノートブックに埋め込まれているコードを実行するためには、numpy
、scipy
、sympy
をインストールする必要があります。
上記のパッケージをまとめてインストールするには anaconda3
のインストールが便利です。
===== 第1部:基礎編 =====
===== 第2部:NISQ編 =====
===== 第3部:Long-term編 =====
*
がついている章は、物理や化学の専門的知識が必要
量子力学・量子コンピュータについてより詳しく知りたい/深く理解したい場合には、以下のような参考書をオススメします。
また、英語に抵抗がない場合、量子コンピュータの金字塔とも言えるNiesen-Chaungの教科書を読むのがベストです(分量が多いので、時間はかかります)。
本教材について分からないことは以下のコミュニティで聞いてください。
Qulacs Slack Community
本教材は株式会社QunaSysと以下のContributorの方々によって作製・メンテナンスされています。
Keisuke Fujii, kwkbr, MakotoNakai, yoooopeeee, Kosuke Mitarai, Yuya-O-Nakagawa, yamamoto-takahiro