SlideShare a Scribd company logo
1 of 13
Download to read offline
Ver1.0 2019年5月30日
宮地直人(miyachi@langedge.jp)
1
Blueqat Summit Tokyo 2019
勉強会ネタ
「プログラマの為の量子プログラミング入門」
LangEdge,Inc.
2
@le_miyachi
LangEdge,Inc.
技術:古典PKIプログラマ
仕事:一人有限会社(電子署名系)
量子:独自に勉強(書籍・勉強会)
趣味:勉強会の開催、OSS開発
活動:OsSAL.org (オッサル)
オープンソース署名&認証ラボ
属性:
3
サル量子部
量子プログラミング
LangEdge,Inc.
https://www.ossal.org/qc/
4
勉強会
プログラマの為の量子プログラミング入門
LangEdge,Inc.
Part 1:
関連数学と1量子ビット計算
Part 2:
量子ゲート型のプログラミング
Part 3:
量子アニーリング型のプログラミング
2019年8月か9月に開催予定
5
勉強会(試行)をやった感想
LangEdge,Inc.
SDKを使ったサンプルを実装…
でも公開時にはバージョンアップされて、
1.SDKのAPI名が変更されてる
2.SDKのAPIの動作が変わった
3.SDKのAPIが無くなっている!
まだVer1.0前だから仕方が無い…
6
量子フレームワーク比較 (2019年5月現在)
LangEdge,Inc.
Qiskit
Cirq
Blueqat
老舗!ブロッホ球表示ができる!入門!
回路図が出せる!Qiskitよりシンプル!?
シンプルに書ける!日本語情報多い!
0.8.0
0.5.0
0.3.7
import qiskit
qiskit.__version__
import cirq
cirq.__version__
import blueqat
blueqat.__version__
AttributeError: module 'blueqat' has no attribute '__version__'
7LangEdge,Inc.
を使う ( )
環境: Anaconda3
以下より環境に合わせてダウンロードとインストール
https://www.anaconda.com/distribution/
ライブラリ: Blueqat (ブルーキャット)
Windows版: Anaconda Prompt
MacOS版:ターミナル
インストール
アンインストール
pip install blueqat
pip uninstall blueqat
※ Blueqatのバージョン:
バージョン確認方法が不明…
pip install blueqat では 0.3.7 が
インストールされた。
※ Blueqatの開発元:
日本の量子ベンチャーである
MDR社が開発元だが、OSS化を
してオープンなSDKとして公開。
LangEdge,Inc.
超入門 (簡単な使い方)
アダマールゲート の実行
8
from blueqat import *
Circuit().h[0].m[:].run(shots=1000)
Counter({'1': 488, '0': 512})
実行結果:
量子回路生成 アダマール 観測 実行(1000ショット)
from blueqat import *
qc = Circuit(1) # 1qbit指定
qc.h[0].m[:] # 回路
r = qc.run(shots=1000) # 実行
print(r) # 表示
同
じ
Circuit().z[1:3] # Z on 1,2
Circuit().x[:3] # X on (0, 1, 2)
Circuit().h[:] # H on all qubits
Circuit().x[1,2] # 1qubit gate
複数ビット操作:
Circuit().rz(math.pi/4)[0] # Z rotate pi/4
ローテーション操作:
短い!
9LangEdge,Inc.
便利機能:ユニタリ行列表示
Matrix([
[0, 1],
[1, 0]])
from blueqat import *
Circuit().x[0].run(backend="sympy_unitary")
実行結果(x[0]):
-
回路(複数ゲート)指定してユニタリ行列を表示:
Matrix([
[1/sqrt(2), 1/sqrt(2)],
[1/sqrt(2), -sqrt(2)/2]])
from blueqat import *
Circuit().h[0].x[0].h[0].run(backend="sympy_unitary")
実行結果(アダマール h[0]):
0 1
1 0
回路(ビット反転)指定してユニタリ行列を表示:
= =
Matrix([
[1, 0],
[0, -1]])
実行結果(HXHなのでZゲートと同じ):
=
1 0
0 1
複数ゲートでも
使えるので便利。
表現が違うが値は正しい
LangEdge,Inc.
付録 : 対応表(基本編)
Gate Cirq Qiskit Blueqat
恒等演算 iden i
ビット反転演算 X x x
位相ビット反転演算 Y y y
位相反転演算 Z z z
アダマール演算 H h h
位相シフト演算 S s s
位相シフト演算 T t t
− 位相シフト演算 inverse(S) sdg sdg
− 位相シフト演算 inverse(T) tdg tdg
測定 measure measure m, measure
制御反転演算 CNOT cx cx, cnot
交換演算 SWAP swap swap
トフォリ演算 CCX, TOFFOLI ccx ccx, toffoli
10
LangEdge,Inc.
付録 : 対応表(拡張編)
Gate Cirq Qiskit Blueqat
X軸任意回転演算 Rx rx rx
Y軸任意回転演算 Ry ry ry
Z軸任意回転演算 Rz rz rz
制御位相ビット反転演算 cy
制御位相反転演算 CZ cz cz
トフォリ位相反転演算 CCZ ccz
制御交換演算 CSWAP cswap
指定角λ演算 無い? u1 u1
指定角φ,λ演算 ? u2 u2
指定角θ,φ,λ演算 ? u3 u3
制御指定角λ演算 ? cu1 cu1
制御指定角φ,λ演算 ? cu2 cu2
制御指定角θ,φ,λ演算 ? cu3 cu3
量子コンピュータ実機 Google(予定) IBM MDR(予定)
11
12
勉強会
の内容
LangEdge,Inc.
Part 0: イントロダクション(プロローグ)
Part 1: 関連数学と1量子ビット操作
1-1: 線形代数学の基本知識
1-2: ブラケット記法と量子計算
1-3: ブロッホ球と1量子ビット操作
1-4: IBM Q
Part 2:量子ゲート型のプログラミング
2-1: 複数量子ビット操作
2-2: 量子アルゴリズムの基本
2-3: ドイチェ アルゴリズム
2-3: グローバー検索(量子検索)
2-4: 量子フーリエ変換
2-5: ショアのアルゴリズム
2-6: エラー訂正問題
2-7: Cirq (Google)・Blueqat (MDR)
13LangEdge,Inc.
さんきゅ〜!
http://scienceinoh.jp/schrodinger/

More Related Content

Similar to プログラマの為の量子プログラミング入門 宣伝

自社でつくれる生産性向上ツール 必要だと思ったらすぐに作れるビジネスアプリ
自社でつくれる生産性向上ツール 必要だと思ったらすぐに作れるビジネスアプリ自社でつくれる生産性向上ツール 必要だと思ったらすぐに作れるビジネスアプリ
自社でつくれる生産性向上ツール 必要だと思ったらすぐに作れるビジネスアプリ典子 松本
 
Cogbot_AzureOpenAIServices_AzureAI_20230302.pdf
Cogbot_AzureOpenAIServices_AzureAI_20230302.pdfCogbot_AzureOpenAIServices_AzureAI_20230302.pdf
Cogbot_AzureOpenAIServices_AzureAI_20230302.pdfAyako Omori
 
もっとサーバーレスを手軽に便利に!Azure Logic Apps
もっとサーバーレスを手軽に便利に!Azure Logic Appsもっとサーバーレスを手軽に便利に!Azure Logic Apps
もっとサーバーレスを手軽に便利に!Azure Logic Apps典子 松本
 
ノンコーディングで LINE Bot 開発! Azure Logic Apps × Azure Cognitive Services ×LINE メッセー...
ノンコーディングで LINE Bot 開発! Azure Logic Apps × Azure Cognitive Services ×LINE メッセー...ノンコーディングで LINE Bot 開発! Azure Logic Apps × Azure Cognitive Services ×LINE メッセー...
ノンコーディングで LINE Bot 開発! Azure Logic Apps × Azure Cognitive Services ×LINE メッセー...典子 松本
 
ノーコーディングでAIサービスを使ってみた話
ノーコーディングでAIサービスを使ってみた話ノーコーディングでAIサービスを使ってみた話
ノーコーディングでAIサービスを使ってみた話典子 松本
 
20190727_DevelopUseiPaas
20190727_DevelopUseiPaas20190727_DevelopUseiPaas
20190727_DevelopUseiPaasTomoyuki Obi
 
ノンコーディングでここまでできる!LINE BOT を作ってみよう!
ノンコーディングでここまでできる!LINE BOT を作ってみよう!ノンコーディングでここまでできる!LINE BOT を作ってみよう!
ノンコーディングでここまでできる!LINE BOT を作ってみよう!典子 松本
 
.NET 最新ロードマップと今押さえておきたい技術要素
.NET 最新ロードマップと今押さえておきたい技術要素.NET 最新ロードマップと今押さえておきたい技術要素
.NET 最新ロードマップと今押さえておきたい技術要素Akira Inoue
 
.NET の今と今後に思うこと (Tokyo Ver.)
.NET の今と今後に思うこと (Tokyo Ver.).NET の今と今後に思うこと (Tokyo Ver.)
.NET の今と今後に思うこと (Tokyo Ver.)Akira Inoue
 
ノーコードでAIサービスを使ってみよう!「AI Bulder」
ノーコードでAIサービスを使ってみよう!「AI Bulder」ノーコードでAIサービスを使ってみよう!「AI Bulder」
ノーコードでAIサービスを使ってみよう!「AI Bulder」典子 松本
 
local launch small language model of AI.
local launch small language model of AI.local launch small language model of AI.
local launch small language model of AI.Takao Tetsuro
 
アイデンティティ プロバイダーとの連携手法 Tsmatsuz
アイデンティティ プロバイダーとの連携手法 Tsmatsuzアイデンティティ プロバイダーとの連携手法 Tsmatsuz
アイデンティティ プロバイダーとの連携手法 TsmatsuzTusyoshi Matsuzaki
 
Web App for Containers のデプロイでつまずいた話
Web App for Containers のデプロイでつまずいた話Web App for Containers のデプロイでつまずいた話
Web App for Containers のデプロイでつまずいた話Shigenari Ohnuma
 
テキスト書き起こし&読み上げLINEボットを作ってみた
テキスト書き起こし&読み上げLINEボットを作ってみたテキスト書き起こし&読み上げLINEボットを作ってみた
テキスト書き起こし&読み上げLINEボットを作ってみた典子 松本
 
LINE Bot 開発のための Azure Logic Apps 入門
LINE Bot 開発のための Azure Logic Apps 入門LINE Bot 開発のための Azure Logic Apps 入門
LINE Bot 開発のための Azure Logic Apps 入門拓将 平林
 
Azure Machine Learning Build 2020
Azure Machine Learning Build 2020Azure Machine Learning Build 2020
Azure Machine Learning Build 2020Keita Onabuta
 
Microsoft Intelligent Edge Technologies
Microsoft Intelligent Edge TechnologiesMicrosoft Intelligent Edge Technologies
Microsoft Intelligent Edge TechnologiesTakeshi Fukuhara
 
【最新版誘導用】駅すぱあとWebサービス&sakura.io体験ハンズオン
【最新版誘導用】駅すぱあとWebサービス&sakura.io体験ハンズオン【最新版誘導用】駅すぱあとWebサービス&sakura.io体験ハンズオン
【最新版誘導用】駅すぱあとWebサービス&sakura.io体験ハンズオンさくらインターネット株式会社
 
Visual Studio Codeを使い倒そう! ~プログラミングから機械学習、クラウド連携、遠隔ペアプロまで~
Visual Studio Codeを使い倒そう! ~プログラミングから機械学習、クラウド連携、遠隔ペアプロまで~Visual Studio Codeを使い倒そう! ~プログラミングから機械学習、クラウド連携、遠隔ペアプロまで~
Visual Studio Codeを使い倒そう! ~プログラミングから機械学習、クラウド連携、遠隔ペアプロまで~Saki Homma
 

Similar to プログラマの為の量子プログラミング入門 宣伝 (20)

自社でつくれる生産性向上ツール 必要だと思ったらすぐに作れるビジネスアプリ
自社でつくれる生産性向上ツール 必要だと思ったらすぐに作れるビジネスアプリ自社でつくれる生産性向上ツール 必要だと思ったらすぐに作れるビジネスアプリ
自社でつくれる生産性向上ツール 必要だと思ったらすぐに作れるビジネスアプリ
 
Cogbot_AzureOpenAIServices_AzureAI_20230302.pdf
Cogbot_AzureOpenAIServices_AzureAI_20230302.pdfCogbot_AzureOpenAIServices_AzureAI_20230302.pdf
Cogbot_AzureOpenAIServices_AzureAI_20230302.pdf
 
もっとサーバーレスを手軽に便利に!Azure Logic Apps
もっとサーバーレスを手軽に便利に!Azure Logic Appsもっとサーバーレスを手軽に便利に!Azure Logic Apps
もっとサーバーレスを手軽に便利に!Azure Logic Apps
 
ノンコーディングで LINE Bot 開発! Azure Logic Apps × Azure Cognitive Services ×LINE メッセー...
ノンコーディングで LINE Bot 開発! Azure Logic Apps × Azure Cognitive Services ×LINE メッセー...ノンコーディングで LINE Bot 開発! Azure Logic Apps × Azure Cognitive Services ×LINE メッセー...
ノンコーディングで LINE Bot 開発! Azure Logic Apps × Azure Cognitive Services ×LINE メッセー...
 
Only Logic Apps
Only Logic AppsOnly Logic Apps
Only Logic Apps
 
ノーコーディングでAIサービスを使ってみた話
ノーコーディングでAIサービスを使ってみた話ノーコーディングでAIサービスを使ってみた話
ノーコーディングでAIサービスを使ってみた話
 
20190727_DevelopUseiPaas
20190727_DevelopUseiPaas20190727_DevelopUseiPaas
20190727_DevelopUseiPaas
 
ノンコーディングでここまでできる!LINE BOT を作ってみよう!
ノンコーディングでここまでできる!LINE BOT を作ってみよう!ノンコーディングでここまでできる!LINE BOT を作ってみよう!
ノンコーディングでここまでできる!LINE BOT を作ってみよう!
 
.NET 最新ロードマップと今押さえておきたい技術要素
.NET 最新ロードマップと今押さえておきたい技術要素.NET 最新ロードマップと今押さえておきたい技術要素
.NET 最新ロードマップと今押さえておきたい技術要素
 
.NET の今と今後に思うこと (Tokyo Ver.)
.NET の今と今後に思うこと (Tokyo Ver.).NET の今と今後に思うこと (Tokyo Ver.)
.NET の今と今後に思うこと (Tokyo Ver.)
 
ノーコードでAIサービスを使ってみよう!「AI Bulder」
ノーコードでAIサービスを使ってみよう!「AI Bulder」ノーコードでAIサービスを使ってみよう!「AI Bulder」
ノーコードでAIサービスを使ってみよう!「AI Bulder」
 
local launch small language model of AI.
local launch small language model of AI.local launch small language model of AI.
local launch small language model of AI.
 
アイデンティティ プロバイダーとの連携手法 Tsmatsuz
アイデンティティ プロバイダーとの連携手法 Tsmatsuzアイデンティティ プロバイダーとの連携手法 Tsmatsuz
アイデンティティ プロバイダーとの連携手法 Tsmatsuz
 
Web App for Containers のデプロイでつまずいた話
Web App for Containers のデプロイでつまずいた話Web App for Containers のデプロイでつまずいた話
Web App for Containers のデプロイでつまずいた話
 
テキスト書き起こし&読み上げLINEボットを作ってみた
テキスト書き起こし&読み上げLINEボットを作ってみたテキスト書き起こし&読み上げLINEボットを作ってみた
テキスト書き起こし&読み上げLINEボットを作ってみた
 
LINE Bot 開発のための Azure Logic Apps 入門
LINE Bot 開発のための Azure Logic Apps 入門LINE Bot 開発のための Azure Logic Apps 入門
LINE Bot 開発のための Azure Logic Apps 入門
 
Azure Machine Learning Build 2020
Azure Machine Learning Build 2020Azure Machine Learning Build 2020
Azure Machine Learning Build 2020
 
Microsoft Intelligent Edge Technologies
Microsoft Intelligent Edge TechnologiesMicrosoft Intelligent Edge Technologies
Microsoft Intelligent Edge Technologies
 
【最新版誘導用】駅すぱあとWebサービス&sakura.io体験ハンズオン
【最新版誘導用】駅すぱあとWebサービス&sakura.io体験ハンズオン【最新版誘導用】駅すぱあとWebサービス&sakura.io体験ハンズオン
【最新版誘導用】駅すぱあとWebサービス&sakura.io体験ハンズオン
 
Visual Studio Codeを使い倒そう! ~プログラミングから機械学習、クラウド連携、遠隔ペアプロまで~
Visual Studio Codeを使い倒そう! ~プログラミングから機械学習、クラウド連携、遠隔ペアプロまで~Visual Studio Codeを使い倒そう! ~プログラミングから機械学習、クラウド連携、遠隔ペアプロまで~
Visual Studio Codeを使い倒そう! ~プログラミングから機械学習、クラウド連携、遠隔ペアプロまで~
 

プログラマの為の量子プログラミング入門 宣伝