こんにちは|こんばんは。カエルのアイコンで活動しております @kyamaz です。
本稿は、量子コンピュータ Advent Calendar 2023 の17日目(2023年12月17日)の記事エントリーです。
【はじめに】本稿の対象は次のような方を想定しております。
- 量子コンピューターや量子プログラミングに興味がある方
万能計算
古典計算でも、量子計算でもコンピューターの動作における基礎的な計算理論において、ある論理ゲートの集合を考えたときに、その集合の要素である論理ゲートの組み合わせだけで全ての計算と等価(量子計算では近似的に等価)にできる集合の場合に、その論理ゲートの集合は「万能(英語では"Universal")」であるといいます。
古典計算では、例えばNANDゲートはそれだけで全ての論理計算が表現できます。NOT、OR、ANDのそれぞれの論理ゲートはNANDだけの論理式とイコールの関係が計算でき、「NANDの万能性定理:任意の論理回路はNANDだけで表せられる」ということが示せますので、NANDゲートだけの集合{NAND}
は万能論理ゲート集合です。このような万能な論理ゲート集合は、ひと組みだけではなく、ほかにもあります。{AND, OR, NOT}
や{OR, NOT}
、{AND, NOT}
も要素数が1つではないですが、万能ゲート集合です。その中で、1つの論理ゲートだけで全ての論理計算がまかなえる{NAND}
は、世の中にある様々な(古典)コンピューターの計算がそれだけで出来るということを示唆していて、論理計算の原子(atom)を発見した気分にもなります。
一方で、この古典計算で見てきた「万能」である論理ゲートの集合と同じ考え方を量子計算でも考えることができます。天下り的ではありますが、{X, H, CNOT}
は万能量子計算であることが示せされている論理量子ゲートの集合です。これ以外には、任意の2×2ユニタリ行列演算$U$を論理量子ゲートとすると、{U, CNOT}
の集合も万能であると示されております。{U, CNOT}
の要素数は2個で、{X, H, CNOT}
の要素数は3個ですので、一見{U, CNOT}
の方がよりシンプルで原子的に感じますが、そうではありません。$U$は任意の2×2ユニタリ行列演算で、この"任意の"というのが原子的とは考えづらい点です。
本稿では、この任意の2×2ユニタリ行列演算$U$の部分集合である2×2特殊ユニタリ行列という演算について考察してみようと思います。
本来であれば、ユニタリ行列のイメージを取り扱えるのが良かったのですが、執筆者の力量がなく、特殊ユニタリのイメージを扱うことにしました。
それでは最初に、2×2特殊ユニタリ群の定義をみておきましょう。
2次の特殊ユニタリ群 SU(2) とは、行列式が1の2次ユニタリ行列である。
数式にすると、$
SU(2) = \{ g \in U(2); det\ {g} = 1 \}
$となります。このなかのユニタリ群$U(2)$は、$U U ^{*}=I$を満たす2×2複素行列として定義されます。ユニタリ群$U(2)$は、$det\ {g} = \pm 1$という性質がありますので、その$+1$である基底の向きも変えないものを「特殊ユニタリ」と呼びます。
ちなみに、量子計算では重要な役割を果たしているパウリ行列(次式で表す3つの行列$\sigma_{x,y,z}$)はいずれも行列式が$-1$となりますので、本稿で取り扱う特殊ユニタリではないユニタリ行列です。
$\qquad\qquad
\sigma_{x} = \left( \begin{matrix}
{ 0 } & { 1 } \\
{ 1 } & { 0 }
\end{matrix} \right)
,\sigma_{y} = \left( \begin{matrix}
{ 0 } & { -i } \\
{ i } & { 0 }
\end{matrix} \right)
,\sigma_{z} = \left( \begin{matrix}
{ 1 } & { 0 } \\
{ 0 } & { -1 }
\end{matrix} \right)
$
特殊ユニタリ群SU(2)の行列
特殊ユニタリ群SU(2)の行列は、こここでは量子計算で登場する演算ですのでそれぞれの成分が複素数である複素行列とします。つまり、$SU(2,\mathbb{C})$を考えます。この2×2特殊ユニタリ行列の特徴は、最近では様々な情報源がありますので本稿では割愛しますが、特殊ユニタリ群$SU(2)$の元の一般形として、次のように表されることが知られてます。
$\qquad\qquad
U = \left( \begin{matrix}
{ \alpha } & { \beta } \\
{ - \bar{\beta} } & { \bar{\alpha} }
\end{matrix} \right)
,\begin{equation}
\left.\begin{aligned}
|\alpha|^{2}+|\beta|^{2}= 1
,\alpha,\beta \in \mathbb{C}
\end{aligned} \right.
\end{equation}
$
以下の説明のために、2×2特殊ユニタリ行列の各行列成分を次のように$U$の添字をつけて定義しておきます。
$\qquad\qquad
U \equiv \left( \begin{matrix}
{ U_{11} } & { U_{12} } \\
{ U_{21} } & { U_{22} }
\end{matrix} \right)
$
まずは、$U$の対角成分である$U_{11},U_{22}$について見てみましょう。
$U_{11}$を表す複素数$\alpha$は、$|\alpha|^{2}+|\beta|^{2}= 1$という制約がありますので、$|\alpha| \le 1$であることは容易にわかります。つまり、複素数$\alpha$は、複素平面上の単位円(半径が1の円)の内側の任意の点として考えることができます。また、$U_{22}$は複素数$\alpha$の複素共役$\bar{\alpha}$ですが、こちらも複素平面上の単位円の内点($|\bar{\alpha}| \le 1$)であり、$\alpha$が決まれば一意に決まる点として表されます。
さて、ここで次のような単位円が2つある図を考えてみましょう。
$U_{11}$を表す単位円は、通常の複素平面上にある円(図中の右側の円)ですが、$U_{22}$を表すための複素平面は実数軸が左右逆転した複素平面上にある円(図中の左側の円)として、その2つを同じ平面に表記しています。$U_{22}$を表す単位円は、$U_{11}$を表す単位円を$\alpha=-1$に対して鏡像になるような単位円として考えます。
そうすると、$U_{11}(=\alpha)$と、$U_{11}(=\bar{\alpha})$は、図中の黒点●の点対称の位置でそれぞれを表記できます。(下図の★の2点)
次に、$U$の反対角成分である$U_{12},U_{12}$について見てみましょう。
こちらも上記と同様に、複素数$\beta$とその共役複素数$\bar{\beta}$は共に単位円の内点(それぞれ $ |\beta| \le 1, |\bar{\beta}| \le 1 $)であることがわかります。こちらも先ほどと同様に、次のような2つの単位円の2点として表記してみましょう。
この図の中で、複素数$\beta$を任意に取れる点とすると、$-\bar{\beta}$は虚数部が同じで、実数部の符号がプラスとマイナスが逆になる複素数となりますので、実数軸と並行でその距離が2の2点で表せられます。(下図の★の2点)
ここでも共役複素数$\bar{\beta}$を表す単位円が鏡像であり、実数部が反転していることが工夫したポイントになります。右側の単位円の片側半分の符号違いが左側の単位円の同じサイドで表記されるようになっており、これにより実数部が反転することを表すのに都合がよく、その距離が2を維持するような2点として表すことができます。
特殊ユニタリ群SU(2)のイメージ
ここまでで、特殊ユニタリ群SU(2)の行列の各成分を2つの平面、4つの単位円でイメージしてきました。この$\alpha$と$\beta$を表すそれぞれの平面を空間的に直行した位置に配置して、立体的に捉えてみましょう。(あまり綺麗に図が描けていませんが)下図のようになります。それぞれの単位円には色を付けてあります。
この図の原点にあたる黒丸●の点は、$\alpha$と$\beta$とも$-1$を示す点です。図にも記載されているように、それぞれの単位円の原点から遠い点(外側の点)が$1$を示す点となります。この4つの単位円の内点を上記の規則に応じてプロットすれば、次の図のように特殊ユニタリ行列をイメージとして見ることができます。
●特殊ユニタリの行列要素のイメージ
この図が本稿で示したかった図になります。
この図を、トーラスの2平面の断面だと考えることもできますので、面白いですね。
なお、単位行列 $I = \left( \begin{matrix}
{ 1 } & { 0 } \\
{ 0 } & { 1 }
\end{matrix} \right)
$や特殊ユニタリ行列と容易にわかる$\left( \begin{matrix}
{ 0 } & { 1 } \\
{ -1 } & { 0 }
\end{matrix} \right)
$,$\left( \begin{matrix}
{ 0 } & { i } \\
{ i } & { 0 }
\end{matrix} \right)
$,$\left( \begin{matrix}
{ i } & { 0 } \\
{ 0 } & { -i }
\end{matrix} \right)
$もこのルールで表すことができます。どのように図形で表されるかは読者の皆さまに考えて頂けると嬉しいです。
αとβの関連性に留意する
ここまでは、$\alpha$と$\beta$の関連性については取り上げずに単位円4つの内点を示せるようにイメージを考えてきました。最初に見た通り、$\alpha$と$\beta$の間には$|\alpha|^{2}+|\beta|^{2}= 1$という関係があります。つまり、独立ではないということです。図で示すと次のような関係になります。
【特殊ユニタリの行列要素のイメージ】では直行する平面に配置した$U_{11}$を表す単位円と$U_{12}$を表す単位円とを平面に広げたイメージをもって頂ければ下図との対応もできるかと思います。(図の右上から原点($\alpha=\beta=-1$)方向を見ているカメラ位置)
ここで、複素数$\alpha$,$\beta$をそれぞれ次のように置きます。
$\qquad\qquad
\left.\begin{aligned}
\alpha &= r_{\alpha} ( \cos{\theta} + i \sin{\theta} ) \\
\beta &= r_{\beta} ( \cos{\phi} + i \sin{\phi} ) \\
& r_{\alpha},r_{\beta} \ge 0,
r_{\alpha},r_{\beta} \in \mathbb{R},\\
& 0 \le \{\theta,\phi\} \le 2\pi
\theta, \phi \in \mathbb{R}
\end{aligned} \right.
$
すると、$|\alpha|^{2}+|\beta|^{2}= 1$は$r_{\alpha}^{2}+r_{\beta}^{2}= 1$という制約になります。つまり図のように$r_{\alpha}$を決めると、この関係式から$r_{\beta}$が決まります。
最後に特殊ユニタリを表す独立した変数の話題をして本稿を締めたいと思います。
$|\alpha|\le1 $を満たす任意の複素数$\alpha$をとります。独立した実変数は$r_{\alpha},\theta$の2つです。$r_{\alpha}$が決まると$r_{\beta}$が決まりますので、複素数$\beta$の独立した実変数は$\phi$のみですので、特殊ユニタリは、独立した3つの実変数で決まるということになります。このあたりの考察を進めると、特殊ユニタリ群$SU(2)$と3次元空間の回転群$SO(3)$の関係など興味深い性質も出てきます。(さらにご興味のある方は参考サイト等1をご確認くださいませ。)
このように任意のユニタリ演算を考察するにも中々骨が折れそうですが、興味深い対象でもあり、量子計算の分野の楽しさでもあると思います。
編集後記
本稿とともに、p5jsのサンプルプログラムを提示するつもりで作成しておりましたが、プログラムをダラダラと掲載して解説するよりは、記事のなかに図を多く掲載して説明した方がイメージをお伝えしやすいと思い、コンテンツを整えました。サンプルプログラムはまたどこかのタイミングでご覧いただけるようにしようと考えております。
【最後にいつものご挨拶】
(●)(●)
/"" __""\ @kyamaz は、オープンソース・コミュニティ2を通じて、皆さんと共に量子情報・量子コンピューティングの分野で挑戦しております。今後とも引き続き、どうぞ宜しくお願い致します。
May your Christmas wishes come true!
May happy Quantum Computer world has come!
-
『EMANの物理学』のサイトにSO(3)とSU(2)の関係というエントリで考察があります。 ↩
-
OpenQLプロジェクトは、量子コンピューターを扱うための様々なライブラリを開発するためのオープンソースプロジェクトです。量子情報、量子コンピューターに興味のある人たちが集うコミュニティを運営しております。詳しくはconnpassのサイトをご覧ください。 ↩