Python(Cirq)について(5)

概要

  • Python の 練習を兼ねて, 量子コンピュータのフレームワーク(Google社)のチュートリアルを確認してみた
  • 動作環境は, Google Colaboratory で行った

感想

  1. チュートリアル(Cirq basics)が, とりあえず完了したので, 引き続きステップアップしていきたいと思う.
  2. 時間を見つけて, 今後も, チュートリアルの残りの部分を進めていこうと思う.

Decompositions

量子回路を, 分解することが出来るとのこと

  1. Decompositions の サンプル

  2. Decompositions の サンプル

  3. Decompositions の サンプル

Optimizers

MergeSingleQubitGatesオプティマイザは, 連続する単一量子ビット操作を実行し, それらを単一の PhasedXZ操作に, マージするとのこと

  1. Optimizers の サンプル

  2. Optimizers の サンプル

  3. Optimizers の サンプル

  4. Optimizers の サンプル

  5. Optimizers の サンプル

参照サイト

Python(Cirq)について(4)

概要

  • Python の 練習を兼ねて, 量子コンピュータのフレームワーク(Google社)のチュートリアルを確認してみた
  • 動作環境は, Google Colaboratory で行った

感想

  1. 難しい用語が多いので, 消化不良にならないように, 地道に見ていこうと思う.
  2. 時間を見つけて, 今後も, チュートリアルの残りの部分を進めていこうと思う.

Using parameter sweeps

  • Cirq, SymPy, matplotlib の install.

  • Sweeping の サンプル①
  • Sweeping の サンプル②

  • Sweeping の サンプル③

  • Unitary matrices and decompositions

  • ユニタリ行列 の サンプル

参照サイト

Python(Cirq)について(3)

概要

  • Python の 練習を兼ねて, 量子コンピュータのフレームワーク(Google社)のチュートリアルを確認してみた
  • 動作環境は, Google Colaboratory で行った

感想

  1. チュートリアル時点で, すでに難しい概念が多く, だいぶ混乱したように思う.
  2. 難しい用語が多いので, 消化不良にならないように, 地道に見ていこうと思う.
  3. 時間を見つけて, 今後も, チュートリアルの残りの部分を進めていこうと思う.

Circuits and Devices

  • Foxtail

  • Bristlecone
  • Sycamore
  • デバイス(Sycamore)については, 使い方が良く分かってないため, ここでは詳細は確認できなかった.
    ※FSimGateなどの使い方を含めて理解する必要がありそう.


Simulation

  • 量子回路は, Simulation によって計算されるとのこと.
  • Simulation に, 20量子ビットの上限制約あるとのこと.
  • Bell State

  • Greenberger–Horne–Zeilinger state

  • 参照サイト

Python(Cirq)について(2)

概要

  • Python の 練習を兼ねて, 量子コンピュータのフレームワーク(Google社)のチュートリアルを確認してみた
  • 動作環境は, Google Colaboratory で行った

感想

  1. 量子ゲートに, たくさん種類があるので, だいぶ混乱したように思う.
  2. 時間を見つけて, 今後も, チュートリアルの残りの部分を進めていこうと思う.

Gates and operations

  • Gates

  • Operation

Circuits and moments

  1. Hadamard

  2. SWAP

  3. Moment

  4. Pauli X

  5. Pauli Y

  6. Pauli Z

  7. Controlled Z

  8. Controlled NOT

  9. Controlled ISWAP

  10. Controlled TOFFOLI

  11. Controlled CCZ

参照サイト

Python(Cirq)について(1)

Python の 練習を兼ねて, 量子コンピュータのフレームワーク(Google社)のチュートリアルを確認してみた

動作環境は, Google Colaboratory で行った

■感想.
1. 量子論に関する知識がないので, Cirq を 操作しながら, 物理に関する知識も少しずつ確認していく必要があると感じた.
2. 時間を見つけて, 今後も, チュートリアルの残りの部分を進めていこうと思う.

■Cirq の install.

■qubits.
定義方法に, 以下の三パターンあるとのこと.
・cirq.NamedQubit
・cirq.LineQubit
・cirq.GridQubit

■hardware.
チュートリアル上, Foxtail が紹介されているが, 他のパターンも確認可能らしい.

■参照サイト
Cirq basics
Quantum computing hardware

Python の動作確認をしてみた(1)

Python 3 の練習を兼ねて, AtCoder Regular Contest 002 の 問題B(割り切れる日付) ~ 問題C (コマンド入力) を解いてみた.

■感想.
1. C++で実装しようとしたところ, 実装方法で迷宮入りしたため, Python 3 で, 書き換えたものである(汗).

本家のサイトAtCoder Regular Contest 002をご覧下さい.

■Python版プログラム(問題B/AC版).

■Python版プログラム(問題C/AC版).

■参照サイト
AtCoder Regular Contest 002

Kaggle に挑戦してみた(1)

Kaggle の仕組みに慣れるため, Digit Recognizer (Competition)に挑戦してみた.

■感想.
1. Kaggle の Kernels で, プログラム実行すると, CSVファイル(results.csv) に, インデックス名 ‘ImageId’ が出力されず, 苦戦した.
2. 一つのセルで, プログラム実行(CSV出力まで)すると, 1. の現象が起こるらしいことが確認できた.
-> CSVファイル出力に関するプログラムだけ, 別セルで実行したところ, 1. の現象が解消した(※Kaggle の Kernels の bugか?).
-> 下記, Python版(Kaggle)プログラムは, 二つのセルで実行する版を転記している(※1. の現象が改善された版)
3. ちなみに, Google Colaboratory 上では, 一つのセルで, プログラム実行(CSV出力まで)しても, 想定通り, インデックス名 ‘ImageId’ が出力され, 1. の現象は起きなかった.


詳細は, 本家のサイトDigit Recognizerをご覧下さい.


■Python版(Google Colaboratory)プログラム


■Python版(Kaggle)プログラム

■ ■ ■ 提出手順(概要) ■ ■ ■
■エラー時
① CSVファイル確認(インデックス名が表示されなかった)

② 提出するためにボタン押下

③ CSVファイルアップロード、説明文追記など

④ エラー表示を確認

■OK時
① CSVファイル確認(インデックス名 ‘ImageId’ が表示された)

② 提出するためにボタン押下

③ CSVファイルアップロード、説明文追記など

④ 提出完了(チュートリアル完了、Leaderboard に掲載されることも確認できた)


■参照サイト
Digit Recognizer