動かして学ぶ量子コンピュータプログラミング

ウゴカシテマナブリョウシコンピュータプログラミング

シミュレータとサンプルコードで理解する基本アルゴリズム

動かして学ぶ量子コンピュータプログラミングの表紙
プログラミング
著者:
Eric R. Johnston / Nic Harrigan / Mercedes Gimeno-Segovia / 北野 章 / 丸山 耕司(エリック アール ジョンストン / ニック ハリガン / メルセデス ジメノセゴビア / キタノ アキラ / マルヤマ コウジ)
出版社:
オライリー・ジャパン
出版日:
2020年08月27日頃
ISBN:
9784873119199
在庫:
在庫あり
0
初級者向け
プログラミング量子コンピューターシミュレータ実践ブラウザベース教育コンピュータサイエンスアルゴリズム量子アルゴリズムデベロッパー

なぜ注目されているか

言及数
242位
総合246位 ↓ 3 ランクダウン 言及 13 件・うち記事 11 件を掲載
01220222023202420252026

書籍紹介

ブラウザで動くシミュレータで量子プログラミングを実際に試して理解できる!
量子コンピュータによって何が可能なのか、何によってより強力になるのか、解決できる問題を特定する方法についての理解を深めることを目的としています。概念的な記述が多い他の量子コンピュータの本とははっきり一線を画し、あくまでも実践に主軸を置き、著者たちが作ったシミュレータを利用してブラウザさえあれば試すことができるという、実践的なアプローチが特徴的です。量子コンピュータのプログラミングに必要な知識とツールとスキルをコンパクトにまとめ、実践的な観点から説明します。

技書の森解説

量子コンピューターの解説書は、量子力学の記法や線形代数から入るものが多く、プログラマが「では何をどう書けばよいのか」にたどり着くまでが長くなりがちです。『動かして学ぶ量子コンピュータプログラミング』 (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 件)

この本に興味がある方におすすめ

関連する本

関連記事

関連用語

共有: