Qiskit量子プログラミング入門 (Japanese Edition)
Format:
Paperback
En stock
0.41 kg
Sí
Nuevo
Amazon
USA
- 【概要】 Pythonで学ぶ量子エンジニアのためのクラウド量子計算入門書で、無料のクラウド量子コンピュータIBM Quantum Platformが使える。Microsoft VSCodeで最新のQiskit 1.1を使って、量子ゲート実装から定番の量子アルゴリズムを解説した。量子計算と古典的計算とのハイブリッド方式でアルゴリズム開発に挑戦してみよう。 【特徴】 IBM Qは、2016年5月4日にIBMから無料で公開されたコンポーザ方式のクラウド量子計算である。さらに、量子アセンブル方式のQASM(カズム)が提供された。その後、2017年3月7日にQiskit(キスキット) SDKが提供され、Python言語によってクラウド量子計算が実装できるようになった。 現段階では量子計算ですべてができないので、Pythonによって古典的計算と量子計算とを融合させることが得策である。つまり、Pythonプログラムで量子計算の得意な処理と古典的計算の得意な処理とを分けて、現在の組み合わせ最適化問題や有機化学のエネルギー計算などの現実問題を解決しようという試みである。Pythonプログラムで従来のIBMのクラウド量子計算ができて、なおかつ、古典的計算もそのクラウド量子計算に混ぜてプログラムできるので、IBMのクラウド量子計算の応用が膨大に広がったと考える。 このPython方式では、同じIBM Qの量子コンピュータにアクセスでき、Pythonプログラムからクラウド量子計算ができる。当然、Pythonなので当然for-inループによる繰り返し制御やif制御による条件判断、グラフ表示ができるので、実用的な組み合わせ問題や最適化問題の探索、量子化学に応用しやすくなると考えられる。まさに、Pythonの量子プログラムによって、量子コンピュータをビジネスで使う時代へのパラダイムシフトが起きている。 古典的な分散並列処理はCPUを並列にする考え方であるが、量子コンピュータの量子並列処理は変数を並列にする逆転の発想である。つまり、量子コンピュータでは、変数に重ね合わせ状態が使えるので、全解候補が用意でき、その重ね合わせ状態を量子オラクルに1回通すだけで全解が計算されることになる。 そのためには、まず、Pythonが動作するプログラミング開発環境の構築やPython言語の基礎が必要となる。それらが出来上がれば、IBMの量子コンピュータを動かすための量子プログラムのためのPythonモジュールが必要となる。Python言語を使ったことのあるユーザは、問題なくIBMが提供するQiskit SDKをインストールすれば、OSとしてWindowsでもMacでも使える。しかし、Python言語が初めてというユーザに対して、Pythonの開発環境としてVSCodeを推奨し、このVSCodeを使ってPythonで量子プログラムが実行できるようにしている。このVSCodeには、実行結果が即ターミナルに表示され、エクステンションでChatGPTなどの生成AIも利用できるので、量子プログラムを開発するには最適と考えた。 Python量子プログラムは、単に量子シミュレーションをローカルだけで実行するのではなく、IBMで実際に稼働中の量子コンピュータQPUの実機を動かし、より大きな探索問題を大規模にクラウド量子計算がVSCodeでできるところが凄いと思われる。Pythonコードで打ち出したQASMコードをVSCodeの量子アセンブラに入れることも可能である。 本書は、5年前に上梓した「Qiskit量子プログラミング入門」の改訂版である。よくネットで聞かれるのは、Qiskitのバージョンアップの変化が凄まじく、以前動作していたプログラムが動かないなどのトラブルがあった。そこで、本書は、「新版Qiskit量子プログラミング入門」として、最新のQiskitに対応できるように改訂した。 現在のQiskitは、当初不足していた量子ゲートが多数実装されて、どんな量子ゲートでも実装できるように便利になってきた。そのために、多くの量子計算がクラウドで使える段階まで来ており、今後の実問題解決への実用的な応用や人工知能AIとの融合が期待される。本書が、その一助となれば幸いである。 【目次】 第1章 VSCodeでのQiskitプログラム開発環境 1 1-1 VSCodeのインストールと使い方 2 1-2 VSCodeでのプログラミング開発 6 1-3 IBM QのQiskitとPython 14 1-4 量子プログラミング環境の構築 17 1-5 Qiskit SDKのインストール 20 第2章 量子情報ソフト開発キットQiskit SDK 25 2-1 Qiskit SDKによるPythonプログラミング 26 2-2 Qiskit量子計算コード入門 28 2-3 はじめての量子コンピュータ実機によるクラウド量子計算 51 第3章 量子ゲートの基礎 59 3-1 量子回路でのQiskit量子ゲートの基礎 60 3-2 2量子ビット以上のQiskit量子計算コード 64 3-3 Qiskitコードによる基本ゲートでのX, Y, Z測定 67 3-4 Qiskitコードの制御NOTゲート 70 3-5 任意のユニタリ回転ゲート 75 3-6 1量子ビットコンピュータモデル 79 3-7 制御Uゲート 82 第4章 量子アルゴリズム 91 4-1 ドイチアルゴリズム 92 4-2 ドイチ・ジョサアルゴリズム 96 4-3 ベルンシュタインヴァジラニアルゴリズム 99 4-4 サイモンアルゴリズムのQiskitコード 102 第5章 量子通信プロトコル 105 5-1 量子テレポーテーション実験 106 5-2 量子高密度符号実験 108 第6章 グローバー探索アルゴリズム 111 6-1 グローバーの探索アルゴリズム 112 6-1-1 探索解の振幅増幅手法 112 6-1-2 位相オラクルでの探索解のマーキングと拡散変換 115 6-2 データベースN=8でのグローバー探索アルゴリズム 116 6-2-1 位相オラクルによるマーキングと拡散変換 116 6-2-2 位相オラクルによるマーキングターゲット111〉 117 6-2-3 2回目のグローバー演算 118 6-2-4 位相オラクルによるマーキングターゲット011〉 120 第7章 量子フーリエ変換 121 7-1 量子フーリエ変換の定義 122 7-1-1 アダマール変換は最も簡単な量子フーリエ変換 122 7-1-2 量子フーリエ変換での制御位相回転ゲートcRk 124 7-2 N=2nの量子フーリエ変換 127 7-2-1 N=8の量子フーリエ変換 127 7-2-2 N=2nの量子フーリエ変換 130 7-3 逆量子フーリエ変換ゲート 132 7-3-1 N=2nの逆量子フーリエ変換ゲート 132 7-3-2 N=2, 4の逆量子フーリエ変換ゲート 133 7-3-3 N=8の逆量子フーリエ変換ゲート 135 7-3-4 逆量子フーリエ変換のPython関数定義 136 第8章 ショアの因数分解アルゴリズム 139 8-1 古典的因数分解アルゴリズム 140 8-2 量子関数ゲートの作り方 141 8-3 量子オラクルの作り方 143 8-4 関数傾斜推定アルゴリズム 146 付録 科学技術計算のPython基礎 150 A-1 Pythonの数値リテラル 150 A-2 NumPyモジュール 151 A-3 Mathモジュール 153 A-4 SciPyモジュール 154 A-5 Matplotlibモジュール 156
IMPORT EASILY
By purchasing this product you can deduct VAT with your RUT number