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