動かして学ぶ量子コンピュータプログラミング
ウゴカシテマナブリョウシコンピュータプログラミング
シミュレータとサンプルコードで理解する基本アルゴリズム
- 著者:
- Eric R. Johnston / Nic Harrigan / Mercedes Gimeno-Segovia / 北野 章 / 丸山 耕司(エリック アール ジョンストン / ニック ハリガン / メルセデス ジメノセゴビア / キタノ アキラ / マルヤマ コウジ)
- 出版社:
- オライリー・ジャパン
- 出版日:
- 2020年08月27日頃
- ISBN:
- 9784873119199
- 在庫:
- 在庫あり
なぜ注目されているか
書籍紹介
ブラウザで動くシミュレータで量子プログラミングを実際に試して理解できる!
量子コンピュータによって何が可能なのか、何によってより強力になるのか、解決できる問題を特定する方法についての理解を深めることを目的としています。概念的な記述が多い他の量子コンピュータの本とははっきり一線を画し、あくまでも実践に主軸を置き、著者たちが作ったシミュレータを利用してブラウザさえあれば試すことができるという、実践的なアプローチが特徴的です。量子コンピュータのプログラミングに必要な知識とツールとスキルをコンパクトにまとめ、実践的な観点から説明します。
技書の森解説
量子コンピューターの解説書は、量子力学の記法や線形代数から入るものが多く、プログラマが「では何をどう書けばよいのか」にたどり着くまでが長くなりがちです。『動かして学ぶ量子コンピュータプログラミング』 (Eric R. Johnston、Nic Harrigan、Mercedes Gimeno-Segovia 著、北野 章 訳、丸山 耕司 技術監修、オライリー・ジャパン、2020 年 8 月 27 日発行) は、原書 Programming Quantum Computers の日本語版で、著者たちが作ったシミュレータ QCEngine を使い、JavaScript で書かれたサンプルをブラウザー上で動かしながら量子プログラミングの感覚を身につける実践書です。副題は「シミュレータとサンプルコードで理解する基本アルゴリズム」で、版元は対象を、これから学習を始める技術者と研究者、新しい研究分野やビジネスで量子コンピューターを使いたいと考える人と案内しています。
QPU という見方で組んだ、4 部 14 章の構成
本書は量子計算機を QPU と呼んで話を進めます。1 章「はじめに」には「QPU とは何か?」と「QPU 対 GPU:共通する特徴」という節があり、従来型の計算機に付く演算装置の一種として量子計算機を捉える見方が出発点になっていると読めます。同じ章にはシミュレータの限界とハードウェアの制限を扱う項もあります。I 部「QPU プログラミング」は 2 章「単一キュビット」、3 章「多重キュビット」、4 章「量子テレポーテーション」で、NOT、HAD、READ、WRITE、PHASE、CNOT、トフォリゲートといった命令を 1 つずつ導入します。II 部「QPU プリミティブ」は 5 章の量子算術演算と量子論理演算から、6 章「振幅増幅」、7 章「QFT:量子フーリエ変換」、8 章「量子位相推定」、9 章「データの量子表現」へ進み、6 章から 8 章には「QPU の内部」という節が置かれています。III 部「QPU アプリケーション」は 10 章「量子探索」、11 章「量子スーパーサンプリング」、12 章「ショアの素因数分解アルゴリズム」、13 章「量子機械学習」で、IV 部「将来の展望」は 14 章の文献案内です。
円表示とハンズオンで、まず図で状態を追う
量子コンピューティング の学習で最初につまずきやすいのは、重ね合わせの状態を頭の中で追うことです。n 個の量子ビットの状態は 2 の n 乗個の複素数の振幅で表され、教科書ではこれを状態ベクトルと行列の積で扱います。本書は 2 章で「円表示」を導入し、振幅の大きさを円の面積、位相を円の回転として描くことで、演算ごとに状態がどう変わるかを図で追えるようにしています。14 章の最初の節が「円表示から複素ベクトルへ」であることからも、まず図で直感を作り、標準的な記法への橋渡しは最後に回すという順序で組まれていると読めます。I 部を中心に、完全なランダムビットの生成、量子スパイハンター、ベルペアを使った演習などのハンズオンが挟まり、シミュレータで結果を確かめながら進む形です。
振幅増幅と QFT を部品にして、探索や素因数分解へ組み上げる
II 部の章立ては、量子アルゴリズムの多くが少数の共通部品の組み合わせでできているという見方を反映しています。振幅増幅は探したい答えの振幅だけを繰り返し強める手続きで、10 章の量子探索や充足可能性問題の解き方の土台になります。量子フーリエ変換は状態に隠れた周期を取り出す手続きで、8 章の位相推定と 12 章のショアのアルゴリズムの中核です。12 章では整数 15 の素因数分解を、レジスターの初期化から結果の確認まで 8 つのステップに分けてたどります。ショアのアルゴリズムは公開鍵暗号の安全性の前提を崩しうることで知られますが、何が速くなり何がそうでないかは、こうした手順を実際に追うと具体的に見えてきます。11 章ではコンピュータグラフィックスのスーパーサンプリングへの応用を、13 章では連立線形方程式、量子主成分分析、量子サポートベクターマシンという 機械学習 寄りの題材を扱います。
向いている読者と、量子回路の数理書との使い分け
向いているのは、プログラミングの経験はあり、量子計算で何ができて何ができないのかを自分の手で確かめたい技術者です。版元の紹介文も、解決できる問題を特定する方法への理解を深めることを目的に掲げています。一方で、量子力学の数学的な定式化を正面から学びたい人や、特定のクラウド量子サービスや SDK の使い方を知りたい人には、本書の円表示と QCEngine の組み合わせは遠回りに感じられるかもしれません。14 章では量子プログラミング言語、量子誤り訂正と NISQ デバイスなどが文献案内として取り上げられており、そこから先へ進む読者のための道筋も付いています。2020 年刊の本ですが、扱う中心はゲート操作と基本アルゴリズムという変わりにくい部分です。量子アルゴリズムの仕組みを、数式の前にまず動く例で掴みたい人にとって、最初の 1 冊として手元に置く価値のある本です。
言及した記事 (11 件)
2024年版機械学習・データ分析の必須10冊+ガチ90冊+Next5冊=105冊
♡ 868本, 機械学習, データ分析, データサイエンスとても強い計算量クラスのコンピュータとその実現方法
♡ 585量子コンピュータ, 計算量【2020年5月版】AWSのサービスをゆるく大体3行で
♡ 176AWS量子コンピュータを完全に理解したい人のためのロードマップ
♡ 97量子コンピュータ, QISKIT, 量子計算, 技術戦略, ポスト量子暗号最新技術を学ぼう!『脱・私には関係ない』~ ChatGPT から 量子コンピューター まで ~
♡ 36AWS, 量子コンピュータ, Udemy, ChatGPT, 記事投稿キャンペーン_Udemyで最新技術[レベル別] 2020年に発売された量子コンピュータ関連書籍の一覧
♡ 24量子コンピュータIBM Quantum Challenge 2020 にチャレンジしてみた ~量子プログラミング入門~
♡ 14Python, 量子コンピュータ, QISKIT, 量子計算, IBMQ旧石器人(デジタリアン)がグローバー回路と使い方を(我流で)習得するまで(笑)
♡ 13量子コンピュータ, QuantumExperience, QISKIT, 量子アルゴリズム, 量子ビットD-Waveを利用して、量子コンピューティング技術でチームにタスクを割り振りを試した
♡ 8量子コンピュータ, 量子アニーリング, D-Wave, アドベントカレンダー20232020年 AI関連のニュースをまとめてみた
♡ 3ニュース, AI, 2020
この本に興味がある方におすすめ
関連する本
関連記事
OS / 低レイヤー本ガイド - コンピューターの仕組みを学ぶ技術書の選び方
OS、コンパイラー、ネットワークなど低レイヤーを学べる技術書の 4 ジャンルと、どこから始めるべきかの指針、賞味期限の見極め方を紹介します。
アルゴリズム本ガイド - 競プロだけじゃない、実務に活きる選び方
アルゴリズム本の 3 タイプと、実務でアルゴリズムの知識が活きる場面、数学が苦手な人向けの学習ルートを紹介します。
データベース本ガイド - SQL から設計まで学べる技術書の選び方
データベースの基礎から設計、パフォーマンスチューニングまで学べる技術書の選び方と学習順序を紹介します。