第 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ゲートのユニタリ行列による構成

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>
東京電機大学工学部情報通信工学科