GNURadioの量子ファームウェア拡張の概要:ブロック解説編

quantum computing

GNURadioの量子ファームウェア拡張の概要:ブロック解説編

今回は、前回の「量子ファームウェアとは?」の続きとなります。具体的な内容としては、実際に行うGNURadioの拡張について、解説していきます。

まずは、今回拡張を行ったブロックです。

quantum blocks
quantum blocks for GNURadio

Usage

ゲート系

1量子ビットのゲート

  • X
    • ビット反転演算
  • Y
    • 位相反転演算
  • Z
    • 位相・ビット反転演算
  • H
    • アダマール演算
  • S
    • Pai/2位相シフト演算
  • T
    • Pai/4位相シフト演算

2量子ビットのゲート

  • CNOT
    • 制御NOTゲート
  • CTRL junction point
    • 制御ゲートが影響を与える先

特殊なゲート

  • readout演算子
    • readoutを実施する。実質の観測用ゲート
  • 初期化演算子
    • 量子ビットの状態を初期化する。
  • wait演算子
    • ナノ秒数waitする
    • これで各ゲートを同期させる

観測系(measurement)

  • 標準規定測定(Constellation Measurement)
    • 観測後の確率表示
  • ブロッホ測定(Bloch Measurement)
    • 量子ビットの断層撮影表示
  • 量子シミュレータ・観測器(Qubit Detector)
    • コンパイラのほうに処理結果を返すもの
    • 値を表示するもの

操作系(controller)

  • 量子ファームウェア実行エンジンソース(Quantum Coprocessor)
    • スクリプトを実行して、波形を出力する
  • Initializer
    • 定数などのセットアップをするブロック
    • シミュレートモード(時間倍率などを変更)
  • 量子シミュレータ・実行器(Qubit Simulator)
    • 内部的には接続されていて、状態を両方で保持する。入出力を多数にする方法で多量子ビットを表す。
  • 同期(Sync Qubit)
    • 2量子ビット以上利用するときに同期を行う
    • FPGA拡張するときに利用する

IBM Qなどを触ったことがある人なら、ビンと来るかもしれませんが、そうじゃないと何のことか全くわからないと思います。そこで、1QubitをXゲートするサンプルを示します。

1qubit_simple
Simple of 1Qubit Sample for GNURadio

Initializerブロック~readoutブロックの間にgate系のブロックを挿入することで、Qubit(量子ビット)を操作するという感じです。そして、その操作内容はQuantum Coprocessorブロックによって解釈され、各ゲート操作をするための電波をGate Portから出力し、 Qubit Simulatorブロックが解釈してQubitを動かします。 観測(読み出し)時は、readout Portからreadout電波を出力して、 Qubit Detectorブロックがその電波を解釈して、結果が出力されます。

この時の各出力される電波が、 「量子ファームウェアとは?」 で解説した形の電波となります。実際には、各ゲートごとでこれらの周波数や強度、照射時間が違うのです。

Tags: , , , ,

1件の返信

  1. […] 前回の「GNURadioの量子ファームウェア拡張の概要:ブロック解説編」の続きとなります。具体的な内容としては、前回の最後に開設した1Qubitの操作をSDRを使って行う場合の例となります。 […]

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です