第 14 回 量子コンピュータ

本日の内容


14-1. 量子コンピュータ

qubit とテンソル積

量子コンピュータでは、1bitの情報、つまり、0または1のどちらかを保持する 情報の単位をqubitと呼ぶ。 具体的には0 を表す現象と 1 を表す現象のどちらかを観測できるような物理 現象で情報を保持する。 そのため、qubit は以下のように表される (この 0と1は情報の表現であって、数学の0とは異なることに注意)。

ψ = a 0 + b 1 a 2 + b 2 = 1

状態 0 を 0 = 1 0 とし、 1 = 0 1 とし、 これをパウリの σzで観測すると、 0 を観測する確率が a 2 , 1 を観測する確率が b 2 となる。

複数の状態 ψ , φ に対して、テンソル積 ψ φ を考える。 これは、内積空間 V, W に対して、それぞれの正規直交基底が ξ 1 ... ξ n , η 1 ... η m である時、 ψ = i = 1 n a i ξ i , φ = j = 1 m b j η j の時、 ψ φ = i = 1 n j = 1 m a i b j ξ i η j なお、この場合、基底どうしのテンソル積は単なる直積として考える。 また、テンソル積を ψ φ や、 ψ φ や、 ψ φ とも表す。

さらに、 ψ ' φ ' = i = 1 n j = 1 m a i ' b j ' ξ i η j ψ φ の内積を考える。 ξ i η j ξ k η l = ξ i ξ k η j η l と定義することにより、 ψ φ ψ ' φ ' = i j k l a i * b j * a k ' b l ' ξ i ξ k η j η l = i j a i * b j * a i ' b j ' = i a i * a i ' j b j * b j ' = ψ ψ ' φ φ ' また、 A ^ B ^ ψ φ = A ^ ψ B ^ φ

状態が複素ヒルベルト空間の元であれば、テンソル積で得られた複合状態は次 元が違うが複素ヒルベルト空間の元なので、量子力学の公理を満たすことが できる。

非クローン化定理

観測されていない任意の量子状態をコピーすることはできないことを示しま す。 これを示すには仮に二つの量子状態に対してコピーができたとき、必ず満たす べき状態が導かれるため、任意の状態のコピーにならないことを示します。 まず、状態 ψ と φ のコピーができるとします。これは初期の任意 状態 s があるユニタリ行列 U によって、 ψ や φ に遷移できるこ とを意味します。

U ψ s = ψ ψ U φ s = φ φ

この二つの内積を取ります。

U ψ s U φ s = ψ ψ φ φ ψ s U U φ s = ψ ψ φ φ ψ φ s s = ψ φ ψ φ ψ φ = ψ φ 2 ψ φ = 0 1

つまり、どのようなユニタリ行列でもコピーができる状態は平行か直交かし かなく、任意の状態のコピーはできないということです。

量子コンピュータの基本構成

量子コンピュータの実現性を示すためには、基本的には論理回路の構成と同 様にします。 論理回路の構成を示すには、基本ゲートを定め、入力長を固定します。 そして、任意の入力長に対して、基本ゲートのみで回路の構成の仕方のアル ゴリズムを与えます。 (なお、回路の非存在を示すような場合、入力長毎のアルゴリズムを与えら れないような回路列も想定できるため、 uniformity, non-uniformity とい う区分を考えることがあります)。 通常の論理回路では、任意の2入力論理ゲートや、多入力 and, or, nand 回 路などを想定します。

Toffoli Gate

しかし量子コンピュータでは、and, or, nand ゲートなど、入力数と出力数 が異なったり、逆演算ができないようなゲートは実現できません。 そこで、入出力ゲート数が同じで、可逆計算可能で、あらゆる計算を実現で きる Toffoli Gate をユニタリ行列で実現できることを示します。

Toffoli Gate は controlled-Controlled-not (CCNOT)とも呼ばれ、次の論 理式で与えられます

CCNOT(x,y,z)=(x,y,(x,y)+z)

量子コンピュータは入力に対して、入力に対応した qubit を作り、さ らにその入力の長さに対応したユニタリ行列を構成し、qubit にユニタリ行 列を適用し、最終的に特定の qubit の観測を出力とします。 ユニタリ行列の積はユニタリ行列なので、原理的には一つのユニタリ行列で最 終状態にすることはできます。 しかし、そのユニタリ行列の複雑度を考える上で、ユニタリ行列を基本的な 操作の組み合わせに分解することを考えます。

さらに、基本的な操作の組み合わせで計算を定義する事自体が、 量子計算のプログラミングとなります。 以下は量子コンピュータの構成の流れになります:

  1. qubit を2つの角度で表す Bloch球表現
  2. qubit への任意のユニタリ行列演算が、3つの基本ユニタリ行列の積で表せ る
  3. 制御NOT
  4. Tofforiゲートのユニタリ行列による構成
  5. 2状態系のBloch 球表示

    観測すると2つの状態のうちの一つが観測される状態 ψ は、2つの正規直交基底 0 1 により、次で表される。

    ψ = a 0 + b 1 a 2 + b 2 = 1

    a を(広く使われている表記に合わせて) a = e α cos θ 2 と置き、同じく b b = e β sin θ 2 と置く。すると、状態の表記を次のように表示できる。

    ψ = e α cos θ 2 0 + e β sin θ 2 1 = e α cos θ 2 0 + e β - α sin θ 2 1

    ここで、全体の係数 e α は、観測の確率と関係なく、また、 φ = β - α と置くことで、2状態系の状態を二つの角度を表す実数 θ φ で表すことができる。 これは、半径1の三次元球の表面の極座標になるので、この2状態系を2実数 の極座標で表すことを Bloch 球表現と呼ぶ。

    単一qubitに対するZ-Y変換(定理4.1)

    パウリ行列について次の関数を定義する

    R x θ = e - θ σ x / 2

    単一qubitに対するユニタリ行列 U に対して、次の実数の α, β, γ, δ が存在する。

    U = e α R z β R y γ R z δ

    補題

    以下のユニタリ行列もパウリ行列の積で表せる

    Hadamard
    H = 1 2 1 1 1 -1
    π/8 ゲート
    T = 1 0 0 e π / 4
    位相ゲート
    S = 1 0 0

    制御Not

    CNOT = 1 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0

    Toffoli Gate の構成

    Quantum gates for Toffoli Gate

    坂本直志 <sakamoto@c.dendai.ac.jp>
    東京電機大学工学部情報通信工学科