GNURadioの量子ファームウェア拡張の概要:2Qubit編

quantum computing

GNURadioの量子ファームウェア拡張の概要:2Qubit編

前回の「GNURadioの量子ファームウェア拡張の概要:SDR連携編」の続きとなります。具体的な内容としては、2Qubit以上を扱うための方法の解説となります。

Simple of 2Qubit for GNURadio
Simple of 2Qubit for GNURadio

まず、ゲート側として、2Qubit以上を操作するゲートとして、CNOTブロックとCTRL junction pointブロックを用意しています。要するに、操作したいQubitに対して、CTRL junction pointブロックを使用して接続する形で制御します。(ほかにもいろいろありますが、今回はCNOTのみをターゲットとしています。)

さらに、Qubitの操作や観測系も、2Qubit対応のため、 Qubit SimulatorブロックとQubit Detectorブロックの入出力portが2倍になっています。これは、特別なブロックを用意しているわけではなく、ブロックの機能として、Qubit数を設定できるようにしてあるためです。

続いてのポイントは、今まであえて説明してこなかったQuantum Coprocessorブロックについている「3本目」のportです。いままでのgate portとreadout portに加えて、control portというものがあります。これが、他のQubitを操作するときに使うportとなります。このportから出力された電波は、 CTRL junction pointブロックで繋がっているQubitにも影響を与えます。これにより、2Qubit以上の制御が可能となっています。(ただし、gate portとcontrol portは共通ということもあるため、SDRのサンプルではMultiplayブロックを使って一本にしています。さらに、 controlはDCであることもあるため、CNOTブロック内でDCも選択できるようになっています。)

最後に、現在の拡張機能を簡単に紹介します。

Full Functions of Quantum GNURadio
Full Functions of Quantum GNURadio
  • ゲートブロックのI wave&Q wave出力ポート
    • 生成予定のI waveとQ waveを出力するデバッグ用のポートである
  • Sync Qubitブロック
    • FPGA化するときに、2Qubit以上(2個以上のSDRなど)をコントロールするときに使用するブロックである
  • Qubit Detectorブロックのfeedbackポート
    • Qubit観測後(readout後)、Qubitを初期化(Initializerブロック)するには、readout状態を踏まえたうえで初期化する必要がある。そのため、Initializerブロックにreadout状態をfeedbackするためのポートである

以上、GNURadioの量子ファームウェア拡張編の三部作が終了です。まだ、完全に動く状態となっていないため、現時点では非公開ですが、試してみたい方はご連絡いただければ、コードのほうを送付させていただきます。

Tags: , , , ,

2件の返信

  1. Zhao Hu より:

    I have try the gr-quantum project on github and find a little problem. I am very interested in the GNURadio Quantum Firmware Extension. Could you please share your code with me? Thanks very much.

コメントを残す

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