他の答えはいいですが、質問に対処するものはありません:量子コンピューターはどのような数値ベースを使用するのでしょうか?私は2つの部分で回答します。1つ目は少し微妙な質問です。2つ目は任意の数値ベースを使用でき、その後、クトリットまたは一般的にクディットを使用して、質的に新しい直観につながります。とにかく、私は彼らがそうするケースを作るようにしようとします。
量子ビットは単なるや1ではなく、それよりも少し複雑です。たとえば、量子ビットは状態√01。測定すると、確率1で結果0を測定します14−−√| 0⟩+ 34−−√| 1⟩0および結果1確率で3141。あなたが話していた「重ね合わせ」は√34が、一般に複素数の任意の対とBは限り、尽くす2+B2=1。キュービットが3つある場合は、絡み合わせることができ、状態は12−−√| 0⟩+ 12−−√| 1⟩aba2+ b2= 1
a0| 000⟩+ A1| 001⟩+ A2| 010⟩+ A3| 011⟩+ A4| 100⟩+ A5| 101⟩+ A6| 110⟩+ A7| 111⟩
しかし、この3キュービットシステムを測定すると、測定結果はこれらの8つの状態のうちの1つ、つまり3ビットになります。これは、本当に奇妙な二分法であり、一方では量子システムがこの指数状態空間を持っているように見えますが、他方では、状態空間の対数部分しか「取得」できないようです。「デモクリトス以降の量子コンピューティング」では、スコットアーロンソンがいくつかの複雑さのクラスを照合してこの質問を調査し、この指数状態空間をどれだけ計算に利用できるかを試して理解しています。
そうは言っても、上記の答えには明らかな不満があります。すべての表記はバイナリです。量子ビットは、の重ね合わせである2台の状態、および3つの量子ビットは、の重ね合わせであるため、彼らは、そのあまり変わりません交絡ベースの状態。通常はunsigned intを数値と見なし、後付けとして32ビット文字列として実装されていることを覚えているだけなので、これは正当な不満です。23署名されていない int
qutritを入力します。これはベクトルです。つまり、2つではなく3つの基本状態で構成されています。このベクトルを3 × 3の行列で操作します。量子計算で行われるすべての通常の操作はそれほど変化しません。これは、クトリットで表現されるすべての操作がクジットで表現できるため、実際には構文糖衣です。しかし、いくつかの問題は、絡み合ったキュービットではなくキューディットとして表現すると、書き留めたり、考えたりすることがはるかに容易になります。たとえば、関数f :{ 0 、… 、k n − 1のオラクルが与えられた場合、Deutsch-Josza問題の変種が尋ねられる場合があります。C33×3、この関数は定数であるか、バランスが取れていますか?この関数は、当然、1つの k -quditレジスタを入力として受け取ります。それを解決するには、次のようにフーリエ変換をこの k quditに適用する必要があります(これが頭を越えても心配いりません。これは単に説明のためです)。f:{0,…,kn−1}→{0,…,k−1}kk
|a⟩↦∑u=0k−1ei2πauk|u⟩
0…k−1≥krr=2r=5552
n