量子ビットの表現方法 ― ディラック先生ありがとう
という説明をしました。
「0 と 1 の重ね合わせの状態」についてしばしば誤解される点がふたつあって、
- 0.5 とか 0.86 とかの 0 と 1 の間の値を示すわけではなく、値は 0 と 1 のどちらかである
- 「0 と 1 のどちらかは決まっているけどそれがわかっていない状態」ではなく、「0 と 1 のどちらか決まっていない状態」である
という2点を確認しておきたいと思います。ただし、「0 と 1 のどちらか決まっていない状態」というのは一般的な記述であって、「0 と 1 のどちらかに決まっている状態」という特別な状態も含みます。
古典ビットは 0 と 1 のどちらの値に決まっていますので、例えば 2bit の場合はその値に応じて 00 とか 01 とか記述すれば良いのですが、量子ビットは別の記述方法が必要になります。
量子ビットの記述は量子力学の記述方法を援用して、以下のように行います。
ここで、左辺のは 1 つの量子ビットを表し、右辺はとを係数としてとの重ね合わせになっていることを示します。このや、に見られるで囲った記法が、量子ビットの記述になります。
「重ね合わせ」と言いながら、単にとを何倍かして足しているだけじゃないか、と思われるのも無理はありません。そして、は何倍しても 0 だから、何も重なってないじゃないか、と。
実はとはベクトルを表しています。で囲ったものを「ケット・ベクトル」と呼んだりもします。「ケット」の意味は後で説明しますが、とがベクトルを表しますので、
で表されるは、倍のベクトルと倍のベクトルの足し算になります。このベクトルの足し算が「重ね合わせ」を表しています。
ここで、とはそれぞれ「長さが 0と 1 のベクトル」ではありません。「0という状態」方向のベクトルと「1という状態」方向のベクトルです。 0 と 1 を使っているので混乱しやすいですが、とは、平面における軸方向のベクトルと軸方向のベクトルに近いものだと思って下さい。
極めて天下り的ではありますが、量子ビットの記述方法をご紹介しました。
この記述方法は量子力学での記述方法に倣っています。
量子力学を勉強された方の多くは、「シュレディンガーの波動方程式」による記述方法を目にされたことと思います。
こんな方程式がシュレディンガーの波動方程式です。意味はわからなくてもかまいません。この方程式は量子力学のひとつの表現方法である、という点だけ理解して下さい。
量子力学には別の表現方法もあります。比較的有名なのは、ハイゼンベルクによる「行列力学」です。その名の通り、行列を使った表現方法です(実はハイゼンベルクは行列を知らなかったのですが、ハイゼンベルクの師匠のボルンが行列を使ってわかりやすく書き直しました)。他に、ファインマン(有名な物理学者ですね)による経路積分法という表現もあります。
とかで使われるケット・ベクトルによる表現は、ディラックという物理学者が考案したやり方です。普通に量子力学を学んだ方で、この表現方法を知らない方も少なくないと思います。波動方程式が最も広く使われていて、ディラックの表現方法はあまりメジャーではありませんでした。量子コンピューターに注目が集まる前までは、ですけど。
というケット・ベクトルの他に、というのが出てきて、それら2つでを挟んでいます。のような形式はブラ・ベクトルと呼ばれます。要するに、がブラケット(括弧)なので、それを分けてをブラ・ベクトル、をケット・ベクトルと呼んでいる、というわけです。
量子ビットの表現には、ディラックのブラケット記法が便利だったため採用されましたが、量子コンピューターの理論をシュレディンガー方程式で説明するのはかなり難しいと思いますので、量子コンピューターを学ぶ者はディラック先生に感謝しなければならないと思います。
今回は量子ビットの記述方法を説明しましたが、次回は
この式の意味を説明したいと思います。
(蛇足1)ブログ内の数式の記述にはTEXのコマンドを使っているのですが、シュレディンガー方程式が正しく書けずにずいぶん苦労しました。TEX初心者なのです。
(蛇足2)私は学生時代、ゼミでディラック形式の量子力学をやっていたのですが、卒業後30年以上も経ってから量子コンピューターの勉強で再会するとは思ってもみませんでした。