ウィーンの中心で

    本社

    Löwengasse 14 / Lokal 2

    オーストリア ウィーン 1030

    フォローはこちら

    量子コンピューティングと量子情報

    多量子ビット系

    複数の量子ビットを持つ回路を作るためには、まず 2 つ以上の量子ビットの数学的な状態を記述する必要があります。古典ビットの表現と同様に、 個の古典的状態を 個の量子ビットで表現できるはずです。この組み合わせは、(古典計算機科学と同様に)レジスタ または 量子レジスタ と呼ばれます。 理論的には、量子レジスタは無限に多くの状態を表現できますが、ある基底で測定すると、可能な測定結果は 通りしかありません。

    量子レジスタ

    2 つの量子ビットをレジスタ にまとめたものは、状態ベクトルのテンソル積、すなわち です:

    ここで、振幅 については、引き続き次が成り立ちます:

    この表記を簡単にするために、振幅 をまとめて とします:

    表記の慣例として、量子ビットのテンソル積 とまとめて書くことができます:

    量子レジスタを測定すると、状態 が確率 で得られます。

    量子ビット数 のレジスタを形式的に定義するには、2 進表記から 10 進表記へ切り替えるのが理にかなっています:

    定義 量子ビット数 の量子レジスタ は、 個の状態(形は )を取り得ます。 次が成り立ちます:

    したがって、量子レジスタを測定すると、状態 が確率 で得られます。

    わかりやすさのため、以下では 2 進表現を優先します。したがって、2 量子ビットレジスタの基底状態は次のようになります:

    ベクトル表現では、2 進数に対応する位置(0 から数えて)に、ちょうど 1 つの 1 があることがわかります。

    単純な多量子ビットゲート

    量子レジスタを新しい状態に変換するために、複数の量子ビットにゲートを適用できます。次の回路では、状態 [^1] は、 へと、多量子ビット演算 を用いて変換されます:

    例えば、前の節で紹介した単一量子ビットの U3 ゲートを、QASM コードとして組み合わせることができます:

    実際に触って、角度を変えて結果の違いを確かめてみましょう

    OpenQASM

    OPENQASM 2.0;
    include "qelib1.inc";
    qreg q[2];
    u(pi,pi/2,pi/4) q[0];
    u(pi,pi/2,pi/8) q[1];

    Der interaktive QASM-Playground ist auf PhotonQ verfügbar. Diesen Abschnitt auf PhotonQ öffnen

    2 つの 1 量子ビット行列のテンソル積は、2 量子ビットゲートになります。すなわち:

    例えば、 ゲートの場合、結果は次のようになります。

    多量子ビットゲートをレジスタの一部だけに適用することも可能です:

    量子ビット に何の操作も行わない場合、これは単位行列 (または )による乗算に対応します。単位行列はゲートとしても表現できます:

    OpenQASM

    OPENQASM 2.0;
    include "qelib1.inc";
    qreg q[1];
    id q[0];

    Der interaktive QASM-Playground ist auf PhotonQ verfügbar. Diesen Abschnitt auf PhotonQ öffnen

    テンソル積の結果は次のとおりです:

    例として ゲートを用いると、これは次のように機能します:

    そして、対応する行列も同じ方法で計算されます:

    この行列を状態ベクトル(例えば )に適用すると、望みどおりの結果が得られます:

    QASM 言語では、これは次のようになります:

    OpenQASM

    OPENQASM 2.0;
    include "qelib1.inc";
    qreg q[3];
    x q[1];
    x q[2];

    Der interaktive QASM-Playground ist auf PhotonQ verfügbar. Diesen Abschnitt auf PhotonQ öffnen

    制御付き多量子ビットゲート

    複数の量子ビットを入力として必要とし、個々のゲートのテンソル積として表現できない、特別な多量子ビットゲートが存在します。これにより、ある量子ビットの状態が別の量子ビットの状態に影響を与えることが可能になります。その一例が 制御 NOT ゲート、略して CNOT ゲートです:

    OpenQASM

    OPENQASM 2.0;
    include "qelib1.inc";
    qreg q[2];
    cx q[0],q[1];

    Der interaktive QASM-Playground ist auf PhotonQ verfügbar. Diesen Abschnitt auf PhotonQ öffnen

    いわゆる 制御量子ビット が、標的量子ビット への X ゲートの適用を制御します。

    制御量子ビットが基底状態 にある場合、X ゲートが標的量子ビットに適用されるのは、制御量子ビットが のときだけです。制御量子ビットの状態は変化しません。重ね合わせ状態にある制御量子ビットの場合、制御量子ビットが である基底状態の振幅だけが影響を受けます。このゲートの行列は次のとおりです:

    この行列を、例えば状態ベクトル に適用すると、次の結果が得られます:

    ゲートを制御するという原理は X ゲートに限られるものではなく、他のすべてのゲートと組み合わせることができます。例えば:

    OpenQASM

    OPENQASM 2.0;
    include "qelib1.inc";
    qreg q[2];
    cy q[0],q[1];
    cz q[0],q[1];
    ch q[0],q[1];
    cu(pi,pi/2,pi/4,pi/8) q[0],q[1];

    Der interaktive QASM-Playground ist auf PhotonQ verfügbar. Diesen Abschnitt auf PhotonQ öffnen

    一般に、制御ゲート を状態 に( を制御量子ビット、 を標的量子ビットとして)適用する場合、その行列は次のようになります:

    同様に、ブラケット記法では、制御ゲート は次のように定義されます:

    制御ゲートの原理は 2 量子ビットに限られるものではなく、より多くの量子ビットでも使用できます。例えば、いわゆる 制御 CNOT または CCNOT ゲートという形で用いられ、これはその発明者にちなんで トフォリゲート としても知られています。

    OpenQASM

    OPENQASM 2.0;
    include "qelib1.inc";
    qreg q[3];
    ccx q[0],q[1],q[2];

    Der interaktive QASM-Playground ist auf PhotonQ verfügbar. Diesen Abschnitt auf PhotonQ öffnen

    NOT ゲートが標的量子ビットに適用されるのは、両方の制御量子ビットが のときだけです。CNOT と同様に、2 つの制御量子ビットの状態は変化しません。CCNOT ゲートの行列は次のようになります。

    同様に、ブラケット記法では、多重制御ゲートを次のように定義できます。

    Quantencomputing und Quanteninformation
    Die Quantengatter

    リンク

    GitHub

    Telegram

    Facebook

    Instagram

    運営者情報

    パートナー

    Kanbon

    Neurons

    Copyright © 2024 Netsnek, Florian Herbert Kleber IT & Werbeagentur Nico Schett. All rights reserved.