量子ビット
更新
量子コンピュータの計算の基本となるのが量子ビットです。この記事では量子ビットについて,従来のビットと比較しながら解説します。以下では,量子コンピュータに対し,私たちが従来用いているコンピュータを古典コンピュータと呼びます。
量子ビットとは
量子ビットとは
古典コンピュータでは,0と1の2つの数を用いて計算を行っています。このように,古典コンピュータが扱うことのできる情報の最小単位をビットと呼んでいます。1ビットは0または1のいずれかの値を取ります。この0と1とはアナログの情報であり,例えば電圧の高低によって表現されます。
量子力学では,1つの原子が,基底状態と励起状態というエネルギーが異なるいくつかの状態を取りうることで知られています。このような量子状態のうちエネルギーが小さい方の2つ(例えば,基底状態と第一励起状態の2つ)を取りうるような情報の単位を量子ビット(qubit,キュービット)と呼び,量子コンピュータの計算に用いています。
ディラックのブラケット記法
量子力学の状態の表し方として,ブラケット記法が知られています。(こちらは別記事にて解説予定です。)
これを用いると,これらの量子状態は や のように表されます。古典コンピュータの0に対応するのが (あるいは ),1に対応するのが (あるいは ) となっています。
量子ビットの重ね合わせ
量子ビットの重ね合わせ
量子ビットとビットの最も大きな違いは,情報のアナログ/デジタル性です。
古典コンピュータに用いられているビットは,0か1の2つの値しか取りうることはできません。
一方,量子ビットは,量子力学の重ね合わせの原理により, と を重ね合わせたような状態をとることが許されます(重ね合わせの原理については別記事にて解説予定です)。これは数式では
のように表現されます。 は複素数を表しており,複素確率振幅と呼ばれます(別記事にて解説予定です)。
この重ね合わせの原理により,量子コンピュータはある種の問題に対し,古典コンピュータよりも早く解くことができることが知られています。
ただし,全ての問題に対し,量子コンピュータの方が古典コンピュータより速く解けるというわけではありません。誤解が生じやすい内容なので,注意してください。
この記事に関連するQ&A
量子ビットとベクトルとの関係
量子ビットとベクトルとの関係
量子ビットは複素ベクトルを用いて表すことができます。
ここでは簡単のため,1量子ビットの系を考えます。このとき,状態ベクトル および は
のように表現できます。
また,これらの重ね合わせ は,
のように表すことができます。
扱う量子ビットが2個以上になっても,同様にベクトルで表現することができます。例えば,量子ビットが2つの2量子ビットの系を考えると,この系の状態空間は以下の4つのベクトルによって張られると考えることができます。
詳細な計算の仕方は別記事にて解説します。
【補足】量子ビットを現実で扱うには?
【補足】量子ビットを現実で扱うには?
量子ビットを現実で扱う方法は,現在盛んに研究されている分野の一つになっています。有名なものとしては,超伝導体量子ビットや光量子ビットなどが知られています。
量子コンピュータを扱えるようなオープンソフトウェアもいくつか存在していますので,興味のある方はぜひ調べてみてください。
量子コンピュータ・量子情報の分野においても,線形代数が非常に重要になってきます。逆に,線形代数がわかれば,量子コンピュータの計算の大部分は理解可能になっています!