Quantcast
Channel: とね日記
Viewing all articles
Browse latest Browse all 976

発売情報: Python量子プログラミング入門: 中山茂

$
0
0

「えっ、もうPythonなの?」、「日進月歩についていけない。。」というのが第一印象。量子コンピュータ、量子計算はもうここまできたのか?本書を見つけたとき目を疑った。

量子コンピュータの発展史(リンク集)
https://blog.goo.ne.jp/ktonegaw/e/91fa592173ea1b2a6e53ae0c84323751

書籍版は以下の画像から、Kindle版は「こちら」からお買い求めいただきたい。

 


差し当たり6月25日発売のほうだけ購入。Kindle版はストレスなく買える金額だ。

購入した本をざっと読んだところ、相変わらず5量子ビットを使う構成。五線譜のスコアで視覚的にプログラムしていたのが、そのままPythonのコマンドに置き換わっただけな気がする。量子アルゴリズムの勉強の新しいスタイルの本という位置付けなのかな?

C言語にたとえれば、if文やforループ、関数の呼び出しなどは既存の古典プログラミング、そしてビット演算のようなところが量子ビット演算になった感じという例え話で通じるだろうか? Pythonではあるけれども量子ビットを操作する箇所はアセンブリ言語っぽい。グラフィカルなスコアよりも高級言語のほうがソース管理がしやすいから、ありがたいには違いない。

即断するのは早いか?まず本書をじっくり読んでみよう。

Python量子プログラミング入門: 中山茂」(Kindle版

2018年6月25日刊行、146ページ

【目的】
無料のクラウド量子計算IBM QXで、最新のQISKit 0.5に対応して、Python言語を使ってクラウド量子計算を行う量子プログラミング入門書です。 クラウド量子計算を行うPythonプログラムについて解説した動作確認済みの実践的で入門書です。 量子コンピュータがビジネスで使える時代になってきており、それに備えた斬新な解説入門書です。テキストでは、63例のPythonコードで分かりやすく丁寧に解説していますので、定番の量子ゲートから量子アルゴリズムを学習する教材になると期待しています。  

【概要】
IBM QXとPython開発環境から解説し、量子情報ソフト開発キットQISKit SDKのインストール方法とクラス構成、特徴を説明しています。そして、量子ゲートの基礎をPythonコードで実装し、コーディングについて説明しています。これらの量子ゲートを使い、量子アルゴリズムのPythonコードでの実装、量子通信プロトコルのPythonコードでの実装、グローバー探索アルゴリズムのPythonコードでの実装、量子フーリエ変換のPythonコードでの実装、ショアの因数分解アルゴリズムのPythonコードでの実装、そして、最後に、関数傾斜推定アルゴリズムのPythonコードでの実装を行なっています。これらのPythonコードを約140頁で丁寧に解説した本格的な入門書です。このテキストで十分にPythonコードによる量子プログラミングの基礎が習得できます。  

【QISKit 0.4とQISKit 0.5との量子プログラミング形式の違い】
QISKit 0.4とQISKit 0.5とで、量子プログラミング形式が大きく変わりました。しかし、基本的には、 QISKit 0.4で作成した量子コードは、QISKit 0.5上でも動作可能です。QISKit 0.4での 量子プログラミング形式は、主にQuantumProgramクラスでその中で定義さ れたメソッドでレジスタ設定や量子回路設定、実行を行なっています。しかし、QISKit 0.5では、QuantumRegisterクラスやClassicalRegisterクラ スでレジスタ設定を行い、QuantumCircuitクラスで量子回路設定、execute関数で実行を行 うことになりました。ここで、量子回路での量子ゲート関連の設定はQISKit 0.4でもQISKit 0.5でもほとんど 同じです。そのために、量子プログラミングの出だしと終了が多少変更 になったと考えます。本書での量子プログラミング例は、全て最新のQISKit 0.5に対応したPythonコードで解説しています。   

【特徴】
現段階では量子計算ですべてができないので、Pythonによって古典的計算と量子計算とをハイブリッドで融合させることが得策です。つまり、Pythonプログラムで量子計算の得意な処理と古典的計算の得意な処理とを分けて、現在の組み合わせ最適化問題や有機化学のエネルギー計算などの現実問題を解決しようという試みである。Pythonプログラムで従来のIBM QXのクラウド量子計算ができて、なおかつ、古典的計算もそのクラウド量子計算に混ぜてプログラムできるので、クラウド量子計算の応用が膨大に広がったと考える。 たとえば、ガソリン車からゼロエミッションの電気自動車EVへの完全移行を考えた時、 EVが走行距離や充電サービスなどの問題で一気にシフトできない時には、ハイブリッド車で対応することが現実的な解決策である。そのように、Python方式も、クラウド量子計算で全ての問題が現段階では解決できない今、ハイブリッド車のようにクラウド量子計算の得意とするところと古典的計算の得意とするところとを組み合わせたハイブリッド方式 で、関数組み合わせ最適化問題や量子化学問題を解ければ、過渡的な段階では最良と考えられる。 たとえば、ショアの因数分解アルゴリズムで見られるように、難しい周期発見アルゴリズムはIBM QXの量子計算に任せ、最大公約数を求めるユークリッドの互除法は Pythonの古典的計算に任せるのが現実的な解法であると考えます。1+1を量子計算させる必要はない。
  
【著者】
中山 茂 (なかやま しげる)  京都生まれ。 京都大学大学院工学研究科博士課程修了後、上智大学、英国Reading大学、京都工芸繊維大学、兵庫教育大学、英国Oxford大学、鹿児島大学を経て、2014年に定年退職。


そして気になるのが、こちらの本。1万5千円以上する。

Python量子プログラミング入門: 中山茂」(Kindle版

2018年5月3日刊行、490ページ

【目的】
無料のクラウド量子計算IBM QXで、Python言語を使ってクラウド量子計算を行うQISKITバイブルです。 クラウド量子計算を行うPythonプログラムについて詳細に解説した動作確認済みの実践的で本格的な入門書です。 量子コンピュータがビジネスで使える時代になってきており、それに備えた斬新な解説書です。テキストでは、236例の豊富なPythonコードで徹底的に解説していますので、研究やビジネスに応用できる足がかりとなると期待しています。  

【概要】
ラビ振動から、基本量子ゲートから隠れ部分群問題、グローバー探索、量子フーリエ変換、ショアの因数分解、量子通信、シンドローム診断、量子誤り訂正、量子トンネル効果、イジングモデルの断熱量子計算、組み合わせ最適化問題など豊富なPythonコードを480頁で丁寧に解説した本格的なバイブルです。このテキストで十分にPythonコードによる量子プログラム開発の基礎・応用が習得できます。
  
【特徴】
現段階では量子計算ですべてができないので、Pythonによって古典的計算と量子計算とをハイブリッドで融合させることが得策です。つまり、Pythonプログラムで量子計算の得意な処理と古典的計算の得意な処理とを分けて、現在の組み合わせ最適化問題や有機化学のエネルギー計算などの現実問題を解決しようという試みである。Pythonプログラムで従来のIBM QXのクラウド量子計算ができて、なおかつ、古典的計算もそのクラウド量子計算に混ぜてプログラムできるので、クラウド量子計算の応用が膨大に広がったと考える。

【書き下ろしPythonコード】
◉ラビ振動実験 
◉重ね合わせの原理実験 
◉サイモン問題の秘密キー表示 
◉グローバー探索アルゴリズムの繰り返し回数変更の解発見確率のヒストグラム表示 
◉量子ゲートテレポーテーションの古典的変換器の実装 
◉位相推定問題のモジュラー累乗法の実装 
◉エネルギー障壁による量子トンネル効果実験 
◉イジングモデル 
◉イジングハミルトニアン 
◉関数傾斜推定アルゴリズム実装 
◉論理演算の真理値表のイジングモデル
◉NP完全問題例でNumber Partition問題のイジングモデル 
◉NP困難問題例でMaxCut問題のイジングモデル 
◉イジングハミルトニアンのエネルギー準位表示 
◉ドイチ問題のイジングモデル 
◉ショアの因数分解アルゴリズムでの周期表示とユークリッドの互除法計算 
◉シュレディンガー方程式の実装 
◉組み合わせ最適化問題  

【目次】
第1章 IBM QX とPython開発環境(42頁)
1-1 IBM Q体験(QX)でのQISKITとPython
1-2 Pythonのインストールと開発環境
1-3 Anacondaのダウンロードとインストール
1-4 Jupyter notebookでのPython開発環境
1-5 QISKIT SDKのインストール
1-6 QISKIT プロジェクト
1-7 QISKIT SDKによるPythonプログラミング
1-8 Python API Connector

第2章 量子情報ソフト開発キットQISKIT SDK(58頁)
2-1 QISKIT SDK
2-2 QuantumProgramクラス
2-3 ResultクラスとQuantumCircuitクラス
2-4 QISKIT SDKのその他のクラス
2-5 量子プロセストモグラフィ
2-6 パウリ基底分解による可視化
2-7 科学技術計算のPython基礎

第3章 量子ゲートのPythonコード(62頁)

第4章 量子アルゴリズムのPythonコード(22頁)
4-1 ドイチアルゴリズム
4-2 ドイチ・ジョサアルゴリズム
4-3 ベルンシュタインヴァジラニアルゴリズム
4-4 サイモンアルゴリズム

第5章 量子通信のPythonコード(34頁)

第6章 グローバーアルゴリズムのPythonコード(52頁)
6-1 グローバーの探索アルゴリズム
6-2 データベースN=8でのグローバーアルゴリズム
6-3 複数の探索解でのグローバーアルゴリズム
6-4 4量子ビット以上でのグローバーアルゴリズム

第7章 量子フーリエ変換のPythonコード(52頁)

第8章 ショアの因数分解アルゴリズム(28頁)
8-1 古典的因数分解アルゴリズム
8-2 量子関数の作り方
8-3 量子オラクルの作り方
8-4 ショアの因数分解アルゴリズムのため量子ゲート
8-5 関数傾斜推定アルゴリズム

第9章 量子エラーシンドローム診断(22頁)

第10章 量子誤り訂正(26頁)

第11章 量子トンネル効果の実験(10頁)
11-1 量子トンネル効果とは
11-2 ポテンシャル障壁のあるシュレディンガー方程式
11-3 量子トンネル効果の実験

第12章 イジングモデルでの断熱量子計算(32頁)
12-1 イジングモデルとは
12-2 イジングモデルの断熱量子計算
12-3 イジングモデルのハミルトニアンの量子ゲート実装
12-4 イジングモデルでの断熱量子計算の基本

第13章 組み合わせ最適化問題(33頁)
13-1 論理演算のイジングモデルでの断熱量子計算
13-2 Number Partition問題におけるイジングモデル
13-3 MaxCut問題におけるイジングモデル
13-4 ドイチ問題のイジングハミルトニアン
13-5 イジングハミルトニアンのエネルギー準位

【著者】
中山 茂 (なかやま しげる)  京都生まれ。 京都大学大学院工学研究科博士課程修了後、上智大学、英国Reading大学、京都工芸繊維大学、兵庫教育大学、英国Oxford大学、鹿児島大学を経て、2014年に定年退職。


実行環境、ガイド:

これらの本を頼りにして量子計算を試してみたい方は以下のページを開いていただきたい。無料で利用できる。

無料のクラウド量子計算IBM QX:
https://quantumexperience.ng.bluemix.net/qx/experience

IBM Q Experience, QISKit 入門:
http://quantum.classcat.com/2018/01/10/ibm-qx-uguide1/

QISKit 概要:
https://qiskit.org/documentation/ja/qiskit.html


関連記事:

発売情報: クラウド量子計算入門: 中山茂
https://blog.goo.ne.jp/ktonegaw/e/d360b69100fbe723c5b9410dbf3f5f4d

クラウド量子計算入門: 中山茂:(4) 全体の感想
https://blog.goo.ne.jp/ktonegaw/e/ad7dfbad69e1e196848be123e3f4ea3f

発売情報: クラウド量子計算 量子アセンブラ入門:中山茂
https://blog.goo.ne.jp/ktonegaw/e/5c9a7f62bf27a2ca214911448bbf9847

発売情報:量子プログラミングの基礎: イン・ミンシェン
https://blog.goo.ne.jp/ktonegaw/e/27e4d9a10982d4d69c0029fc4c801708

量子コンピュータ、量子アルゴリズムを学びたい高校生のために
https://blog.goo.ne.jp/ktonegaw/e/1b2940b648bda682aa27192eb8261972

量子コンピュータの発展史(リンク集)
https://blog.goo.ne.jp/ktonegaw/e/91fa592173ea1b2a6e53ae0c84323751


ブログ執筆のはげみになりますので、1つずつ応援クリックをお願いします。
にほんブログ村 科学ブログ 物理学へ

人気ブログランキングへ



 

 

Viewing all articles
Browse latest Browse all 976

Trending Articles