まいみ09のお買い物ダイアリ

まいみ09のお買い物ダイアリ

PR

プロフィール

maimi09

maimi09

カレンダー

キーワードサーチ

▼キーワード検索

バックナンバー

2024年09月
2024年08月
2024年07月
2024年06月

お気に入りブログ

湿疹が治まらずにい… New! doziさん

メガネケース リメ… fun*8さん

ピザでも食べに行くか サイボーグ・007さん

ハンドメイド日記 haruya_babyさん
OGUさんのオーディオ… かよこママで〜すさん
時代遅れのアナログ… さくら もものこさん
2020年10月04日
XML
カテゴリ: 本のちょっと技巧
独自の シミュレータQCEngineを使ってJavaScriptで書かれたサンプルプログラムをブラウザ上で動かし、量子コンピュータでの プログラミングに必要な知識やスキルを学ぶことができます。 量子コンピューティングの基礎とその可能性に関する直感的理解が容易になるよう、豊富な例と図を用いて説明します。前半では、 単一キュビットに対する基本的な量子演算、多重キュビット演算、複合演算(量子プリミティブ)、基本的な量子アプリケーション、後半では、探索問題、画像処理、暗号問題、機械学習への応用について解説しており、本書だけで 基礎から実践的な応用技術までを一気に習得できます。これから学習を始める技術者、研究者を中心に、新しい研究分野やビジネスで量子コンピュータを利用したいと考える方が プログラミングの「感覚」を養うのに役立つ、ユニークなガイドブックです。

QCEngine: https://oreilly-qc.github.io/docs/build/index.html

発売日:2020年08月27日頃
著者/編集: Eric R. Johnston, Nic Harrigan
出版社: オライリー・ジャパン
発行形態:単行本
ページ数:328p
ISBNコード:9784873119199
原書題名: Programming Quantum Computers

主な目次

  • まえがき
  • 1章 はじめに
    • 1.1 基礎知識
    • 1.2 QPUとは何か?
    • 1.3 実践的アプローチ
      • 1.3.1 QCEngineことはじめ
    • 1.4 QPU固有の命令
      • 1.4.1 シミュレータの限界
      • 1.4.2 ハードウェアの制限
    • 1.5 QPU対GPU:共通する特徴
  • Ⅰ部 QPUプログラミング
    • 2章 単一キュビット
      • 2.1 物理キュビットの概要
      • 2.2 円表示とは
        • 2.2.1 円の面積
        • 2.2.2 円の回転
      • 2.3 基本のQPU演算
        • 2.3.1 QPU命令:NOT
        • 2.3.2 QPU命令:HAD
        • 2.3.3 QPU命令:READ
        • 2.3.4 QPU命令:WRITE
        • 2.3.5 ハンズオン:完全なランダムビット
        • 2.3.6 QPU命令:PHASE(θ)
        • 2.3.7 QPU命令:ROTX(θ)およびROTY(θ)
      • 2.4 COPY:失われた演算
      • 2.5 QPU演算の組み合わせ
        • 2.5.1 QPU命令:ROOT-of-NOT
      • 2.6 ハンズオン:量子スパイハンター
      • 2.7 結論
    • 3章 多重キュビット
      • 3.1 多重キュビットレジスタの円表示
      • 3.2 多重キュビットレジスタを描く
      • 3.3 多重キュビットレジスタでの単一キュビット演算
        • 3.3.1 多重キュビットレジスタの中の単一キュビットの読み取り
      • 3.4 たくさんのキュビットを可視化する
      • 3.5 QPU命令:CNOT
      • 3.6 ハンズオン:共有されるランダムさのためにベルペアを利用する
      • 3.7 QPU命令:CPHASEとCZ
        • 3.7.1 QPUトリック:位相キックバック
      • 3.8 QPU命令:CCNOT(トフォリゲート)
      • 3.9 QPU命令:SWAPとCSWAP
        • 3.9.1 スワップテスト
      • 3.10 条件付き演算を構築する
      • 3.11 ハンズオン:ランダムさを遠隔制御する
      • 3.12 結論
    • 4章 量子テレポーテーション
      • 4.1 ハンズオン:テレポートしてみよう
      • 4.2 プログラムのチュートリアル
        • ステップ1:もつれたペアを作る
        • ステップ2:積荷キュビットを準備する
        • ステップ3.1:積荷キュビットをもつれたペアにリンクする
        • ステップ3.2:積荷キュビットを重ね合わせ状態にする
        • ステップ3.3:アリスのキュビットを両方とも読み出す
        • ステップ4:受け取って、変換する
        • ステップ5:結果を確かめる
      • 4.3 結果を解釈する
      • 4.4 テレポーテーションは実際にどのように用いられるか?
      • 4.5 有名な「テレポーテーションデバイスの事故」で楽しむ
  • Ⅱ部 QPUプリミティブ
    • 5章 量子算術演算と量子論理演算
      • 5.1 奇妙な相違点
      • 5.2 QPUでの算術演算
        • 5.2.1 ハンズオン:インクリメント演算子とデクリメント演算子の構築
      • 5.3 2つの量子整数の足し算
      • 5.4 負の整数
      • 5.5 ハンズオン:より複雑な数学
      • 5.6 本物の量子性を獲得する
        • 5.6.1 量子条件付き実行
        • 5.6.2 位相エンコードされた結果
      • 5.7 可逆性とスクラッチキュビット
      • 5.8 アンコンピュートする
      • 5.9 ブール論理演算をQPU演算にマッピングする
        • 5.9.1 基本的な量子論理ゲート
      • 5.10 結論
    • 6章 振幅増幅
      • 6.1 ハンズオン:位相と大きさの変換
      • 6.2 振幅増幅の反復
      • 6.3 さらに反復する?
      • 6.4 複数成分が反転された場合
      • 6.5 振幅増幅を使う
        • 6.5.1 総和を見積もるための振幅増幅とQFT
        • 6.5.2 振幅増幅で従来型アルゴリズムを高速化する
      • 6.6 QPUの内部
        • 6.6.1 感覚を養う
      • 6.7 結論
    • 7章 QFT:量子フーリエ変換
      • 7.1 隠れたパターン
      • 7.2 QFT、DFT、FFT
      • 7.3 QPUレジスタの周波数
      • 7.4 DFT
        • 7.4.1 実数および複素数のDFT入力
        • 7.4.2 何でもDFTしてみよう
      • 7.5 QFTを使う
        • 7.5.1 QFTは高速
      • 7.6 QPUの内部
        • 7.6.1 感覚を養う
        • 7.6.2 演算ごとに調べる
      • 7.7 結論
    • 8章 量子位相推定
      • 8.1 QPU演算について学ぶ
      • 8.2 固有位相は有用な情報を提供する
      • 8.3 位相推定は何を行うか?
      • 8.4 位相推定の使い方
        • 8.4.1 入力
        • 8.4.2 出力
      • 8.5 注意事項
        • 8.5.1 出力レジスタのサイズを選択する
        • 8.5.2 計算量
        • 8.5.3 条件付き演算
      • 8.6 実際の位相推定
      • 8.7 QPUの内部
        • 8.7.1 感覚を養う
        • 8.7.2 演算ごとに調べる
      • 8.8 結論
    • 9章 データの量子表現
      • 9.1 非整数データ
      • 9.2 QRAM
      • 9.3 ベクトルエンコーディング
        • 9.3.1 振幅エンコーディングの制限
        • 9.3.2 振幅エンコーディングと円表示
      • 9.4 行列のエンコーディング
        • 9.4.1 QPU演算は行列をどのように表現できるか?
        • 9.4.2 量子シミュレーション
  • Ⅲ部 QPUアプリケーション
    • 10章 量子探索
      • 10.1 位相論理演算
        • 10.1.1 基本的な位相論理演算を構築する
        • 10.1.2 複雑な位相論理表現を構築する
      • 10.2 論理パズルを解く
        • 10.2.1 子猫とトラに関する問題
      • 10.3 充足可能性問題を解くための一般的なレシピ
        • 10.3.1 ハンズオン:充足可能な3-SAT問題
        • 10.3.2 ハンズオン:充足不可能な3-SAT問題
      • 10.4 従来型アルゴリズムの高速化
    • 11章 量子スーパーサンプリング
      • 11.1 QPUはコンピュータグラフィックスにおいてどのように役立つのか?
      • 11.2 従来型のスーパーサンプリング
      • 11.3 ハンズオン:位相エンコーディングされた画像を計算する
        • 11.3.1 QPUピクセルシェーダ
        • 11.3.2 描画にPHASEを用いる
        • 11.3.3 曲線を描く
      • 11.4 位相エンコーディングされた画像をサンプリングする
      • 11.5 さらに興味深い画像
      • 11.6 スーパーサンプリング
      • 11.7 QSS対モンテカルロサンプリング
        • 11.7.1 QSSはどのように動作するか
      • 11.8 色を追加する
      • 11.9 結論
    • 12章 ショアの素因数分解アルゴリズム
      • 12.1 ハンズオン:QPUでショアのアルゴリズムを使う
      • 12.2 ショアのアルゴリズムが行うこと
        • 12.2.1 本当にQPUは必要か?
        • 12.2.2 量子的なアプローチ
      • 12.3 整数15の素因数分解を1ステップずつ行う
        • ステップ1:QPUレジスタの初期化
        • ステップ2:量子重ね合わせへの拡張
        • ステップ3:条件付きの2の乗算
        • ステップ4:条件付きの4の乗算
        • ステップ5:量子フーリエ変換
        • ステップ6:結果を読み取る
        • ステップ7:デジタル論理演算
        • ステップ8:結果を確認する
      • 12.4 注意事項
      • 12.4.1 剰余を計算する
      • 12.4.2 時間対空間
      • 12.4.3 2以外の互いに素な整数
      • 13章 量子機械学習
        • 13.1 連立線形方程式を解く
          • 13.1.1 連立線形方程式の記述と解法
          • 13.1.2 QPUで連立線形方程式を解く
        • 13.2 量子主成分分析
          • 13.2.1 従来型の主成分分析
          • 13.2.2 QPUを使ったPCA
        • 13.3 量子サポートベクターマシン
          • 13.3.1 従来型のサポートベクターマシン
          • 13.3.2 QPUでSVMを行う
        • 13.4 他の機械学習アプリケーション
  • Ⅳ部 将来の展望
    • 14章 最先端を行く:文献案内
      • 14.1 円表示から複素ベクトルへ
      • 14.2 用語の細かな説明と注意事項
      • 14.3 観測基底
      • 14.4 ゲート分解とコンパイル
      • 14.5 ゲートテレポーテーション
      • 14.6 QPUの殿堂
      • 14.7 競争:量子コンピュータ対従来型コンピュータ
      • 14.8 オラクルベースのアルゴリズムに関する注意
        • 14.8.1 Deutsch-Jozsaのアルゴリズム
        • 14.8.2 Bernstein-Vaziraniアルゴリズム
        • 14.8.3 Simonのアルゴリズム
      • 14.9 量子プログラミング言語
      • 14.10 量子シミュレーションに関する展望
      • 14.11 量子誤り訂正とNISQデバイス
      • 14.12 次はどこへ?
        • 14.12.1 参考書
        • 14.12.2 講義ノート
        • 14.12.3 オンラインリソース
      • 訳者あとがき
      • 索引

楽天ブックスは品揃え200万点以上!






お気に入りの記事を「いいね!」で応援しよう

最終更新日  2020年10月04日 07時26分31秒
コメント(0) | コメントを書く


【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! -- / --
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x

© Rakuten Group, Inc.
X
Design a Mobile Website
スマートフォン版を閲覧 | PC版を閲覧
Share by: