All Projects → qulacs → Quantum Native Dojo

qulacs / Quantum Native Dojo

Licence: bsd-3-clause
量子コンピュータ初学者のための自習教材

Projects that are alternatives of or similar to Quantum Native Dojo

Recotour
A tour through recommendation algorithms in python [IN PROGRESS]
Stars: ✭ 140 (-0.71%)
Mutual labels:  jupyter-notebook
Scipy Tutorial 2015
Geospatial data tutorial
Stars: ✭ 140 (-0.71%)
Mutual labels:  jupyter-notebook
Vaal
Variational Adversarial Active Learning (ICCV 2019)
Stars: ✭ 140 (-0.71%)
Mutual labels:  jupyter-notebook
Imageprocessing
MicaSense RedEdge and Altum image processing tutorials
Stars: ✭ 139 (-1.42%)
Mutual labels:  jupyter-notebook
Nlpaug
Data augmentation for NLP
Stars: ✭ 2,761 (+1858.16%)
Mutual labels:  jupyter-notebook
Python Youtube Code
Stars: ✭ 139 (-1.42%)
Mutual labels:  jupyter-notebook
Rootfinder
Arabic root finder with neural nets!
Stars: ✭ 140 (-0.71%)
Mutual labels:  jupyter-notebook
Book
This book serves as an introduction to a whole new way of thinking systematically about geographic data, using geographical analysis and computation to unlock new insights hidden within data.
Stars: ✭ 141 (+0%)
Mutual labels:  jupyter-notebook
Pysankey
create sankey diagrams with matplotlib
Stars: ✭ 140 (-0.71%)
Mutual labels:  jupyter-notebook
Hpo2nas Tutorial Cvpr Eccv2020
Hands-on Tutorial on Automated Deep Learning
Stars: ✭ 141 (+0%)
Mutual labels:  jupyter-notebook
Benchmarks
Comparison tools
Stars: ✭ 139 (-1.42%)
Mutual labels:  jupyter-notebook
Python For Algorithms Data Structures And Interviews
Files for Udemy Course on Algorithms and Data Structures
Stars: ✭ 1,917 (+1259.57%)
Mutual labels:  jupyter-notebook
Data Structure And Algorithm Using Python
In computer science, a data structure is a data organization, management, and storage format that enables efficient access and modification. More precisely, a data structure is a collection of data values, the relationships among them, and the functions or operations that can be applied to the data. (Using Python 3)
Stars: ✭ 141 (+0%)
Mutual labels:  jupyter-notebook
Interactive machine learning
IPython widgets, interactive plots, interactive machine learning
Stars: ✭ 140 (-0.71%)
Mutual labels:  jupyter-notebook
19 udacity dsa
Data Structures & Algorithms Nanodegree Program from Udacity
Stars: ✭ 140 (-0.71%)
Mutual labels:  jupyter-notebook
Popmusicmaker
Pop Music Maker built on HMM and Random Forest-like structure. Inspired by the desire to build my own model can serve as alternative to LSTMs / deep learning in generating pop music. Website is currently down due to costs incurred.
Stars: ✭ 140 (-0.71%)
Mutual labels:  jupyter-notebook
Lmkor
Pretrained Language Models for Korean
Stars: ✭ 140 (-0.71%)
Mutual labels:  jupyter-notebook
Stanford cs231n 2019
Solutions and comments to assignments for 2019 Stanford's course on convolutional neural networks
Stars: ✭ 141 (+0%)
Mutual labels:  jupyter-notebook
Swift4tf
A set of notebooks explaining swift for tensorflow optimized to run in Google Collaboratory.
Stars: ✭ 141 (+0%)
Mutual labels:  jupyter-notebook
Data science blogs
A repository to keep track of all the code that I end up writing for my blog posts.
Stars: ✭ 139 (-1.42%)
Mutual labels:  jupyter-notebook

Welcome to Quantum Native Dojo !

Quantum Native Dojoは量子コンピュータについて勉強したいと思っている方のために作られた自習教材です。

量子コンピュータの基本的な動作原理から、基礎アルゴリズム、それらを応用してどのように化学計算や金融計算などに役立てるかを学ぶことができます。本教材は誤り訂正の有る量子コンピュータのアルゴリズムの他、数年以内に実用されるであろうNISQ (Noisy Intermidiate-Scale Quantum) デバイスのアルゴリズムもカバーしています。

全ての教材が Jupyter notebook で製作され、そのまま Google Colaboratory 上で実行可能になっているので、面倒な環境設定をすることなく学習を始めることが可能です。

なおウェブサイト版もありますので、合わせてご利用下さい。
https://dojo.qulacs.org

この教材の意義: Becoming Quantum Native

量子コンピュータは、量子力学の原理に基づいて計算を行います。一方、私達がふだん目にする物理現象は主に古典力学に支配されています。ここに「量子コンピュータは難しい」と思われる原因の一端があります。

Quantum Native Dojoでは、みなさまに量子コンピュータの動作を感覚的に理解して使いこなせるQuantum Nativeになっていただくことを目標としています。Quantum Nativeへの道のりは簡単ではありませんが、このDojoを通して基礎からじっくりと量子力学と量子コンピュータの原理・応用を学ぶことが着実な一歩となるでしょう。

このDojoを巣立ち、Quantum Nativeとなったみなさまが様々な量子アルゴリズム/アプリケーションを作るエンジニアとして活躍されることを期待しています!

前提となる知識

Quantum Native Dojoの内容を理解するには、以下のような知識が必要です。

  • 複素数とは何か
  • 簡単な関数(sin, cos, exp, ...)の微積分
  • 行列とベクトルの掛け算、対角化とは何か

こちらの前提知識及びPython・NumPyの使用に不安がある方は、Chainer Tutorialの1. ~ 12.を先に学習することをオススメします。

教材の進め方

基本的に、このレポジトリの"notebook"フォルダ以下にある Jupyter notebook を読みながら/実行しながら進めていきましょう。 各 Jupyter notebookGoogle Colabolatory で実行することができるので、自前で環境を構築する必要はありません。 (もちろん、Pythonに詳しい方は手元でnotebookを実行して納得するまで使い倒してください)

Google Colabolatory 上で実行する場合

  1. Google Colabolatory のページを開きます

  2. ファイル > ノートブックを開く を選択します colab colab

  3. GITHUB のタブを選択し、ノートブックの絞り込みの欄に qulacs と入力します colab

  4. レポジトリのプルダウンで qulacs/quantum-native-dojo を選択し、ブランチで master を選択します colab

  5. 開きたいノートブックを選択します colab

Jupyter notebook で実行する場合

  1. Quantum Native Dojo のリポジトリ をフォークします
  2. Console から $ jupyter notebookノートブックを起動させます

Jupyter を起動させるためには Python 3.3 以上と Jupyter をインストールする必要があります。

また、ノートブックに埋め込まれているコードを実行するためには、numpyscipysympy をインストールする必要があります。 上記のパッケージをまとめてインストールするには anaconda3 のインストールが便利です。

目次

===== 第1部:基礎編 =====

  • 第0章 そもそも量子コンピュータとは?
  • 第1章 量子情報の基礎
    • 1-1. 量子ビット
    • 1-2. 量子ビットに対する基本演算
    • 1-3. 複数量子ビットの記述
    • コラム:ユニバーサルゲートセットとは
    • 1-4. 回路図の基礎
    • コラム1:量子複製不可能 (No-Cloning) 定理
    • コラム2:Bell (CHSH) 不等式
  • 第2章 量子アルゴリズム入門
    • 2-1. NISQアルゴリズムとlong-termアルゴリズム
    • 2-2. アダマールテスト
    • コラム:量子乱数生成
    • 2-3. 量子フーリエ変換
    • 2-4. 位相推定アルゴリズム(入門編)
  • 第3章 量子アルゴリズムの実行環境
    • 3-1. 世界最高速シミュレータQulacsの使い方
    • 3-2. QiskitとIBM Q Experienceの使い方

===== 第2部:NISQ編 =====

  • 第4章 量子ダイナミクスシミュレーション
    • 4-1. シュレディンガー方程式とは、量子ダイナミクスとは
    • 4-2. トロッター分解を用いた量子シミュレーション
  • 第5章 変分量子回路に基づくアルゴリズム
    • 5-1. Variational QuantumEigensolver(VQE)アルゴリズム
    • 5-2. Quantum Circuitlearning
    • コラム:Quantum CircuitLearningを用いた分類
    • コラム:量子リザーバコンピューティング
    • 5-3. Quantum Approximate Optimazation Algorithm (QAOA):量子近似最適化アルゴリズム
  • 第6章 量子化学計算
    • 6-1. OpenFermionの使い方
    • 6-2. Qulacs を用いた variational quantum eigensolver (VQE)の実装
    • 6-3. 励起状態の探索手法 (subspace-search variational quantumeigensolver)

===== 第3部:Long-term編 =====

  • 第7章 量子位相推定アルゴリズムの発展
    • 7-1. 量子位相推定アルゴリズム詳説:水素分子への応用を例として
    • 7-2. Harrow-Hassidim-Lloyd (HHL)アルゴリズム
    • コラム:量子ランダムアクセスメモリー(qRAM)
    • 7-3. HHLアルゴリズムを用いたポートフォリオ最適化
    • コラム:低ランク行列に対する高速な特異値分解とサンプリング(量子-inspiredアルゴリズム
  • 第8章 量子探索アルゴリズム
    • 8-1. オラクル
    • 8-2. グローバーのアルゴリズム
  • 第9章 量子誤り訂正
    • 9-1. 古典エラー
    • 9-2. 量子エラー

*がついている章は、物理や化学の専門的知識が必要

参考文献

量子力学・量子コンピュータについてより詳しく知りたい/深く理解したい場合には、以下のような参考書をオススメします。

また、英語に抵抗がない場合、量子コンピュータの金字塔とも言えるNiesen-Chaungの教科書を読むのがベストです(分量が多いので、時間はかかります)。

Community

本教材について分からないことは以下のコミュニティで聞いてください。
Qulacs Slack Community

本教材の作者

本教材は株式会社QunaSysと以下のContributorの方々によって作製・メンテナンスされています。

Keisuke Fujii, kwkbr, MakotoNakai, yoooopeeee, Kosuke Mitarai, Yuya-O-Nakagawa, yamamoto-takahiro

リリース履歴

  • 2019/4/26: v0.1.0をリリースしました。
  • 2019/12/5: v1.0.0をリリースしました。
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].