2つのアダマールゲートに2つのキュービットを入力する方法


12

アダマールゲートを持つ回路があるとします。2

ここに画像の説明を入力してください

状態を入力として取りましょう。状態のベクトル表現はですが、これはキュビットの表現であり、Hはキュビットしか受け入れないため、最初のHゲートを、への2番目のHゲート?または、各Hゲートにを入力する必要がありますこれは、Hゲートを状態毎回1つのキュビットにのみ適用するためです。| 00 [ 1 0 0 0 ] 2 1 [ 1 0 ] [ 0 0 ] [ 1 0 ] | 0 |00|00[1 0 0 0]21[1 0][0 0][1 0]|0

回答:


12

または、毎回状態ゲート Hゲートを適用しているので、各Hゲートにを入力する必要がありますか?| 0 [1 0]|0

はい、2つのキュービット状態がある場合(2つのキュービットにそれぞれとラベルを付けるなど)、2つのアダマールゲートを各キュービットの状態に個別に適用する必要があります。最終状態は、2つの「変換された」単一キュービット状態のテンソル積になります。BAB

入力が場合、出力は単純に| 0 + | 1 |0A|0B

(|0+|12)A(|0+|12)B

代替:

2つの入力キュビットが絡まっている場合、2つのキュビットの状態のテンソル積として入力状態を表すことができないため、上記の方法は機能しません。したがって、ここではより一般的な方法の概要を説明します。

あなたの場合のように2つのゲートが並列である場合、2つのゲートのテンソル積を考慮て、それを2キュービットの状態ベクトルに適用できます。同じ結果になります。

12[1111]12[1111]=12[1111111111111111]

この行列を2キュービット状態すると、次のようになります。[1000]

12[1111111111111111][1000]=[1/21/21/21/2]

これは

(|0+|12)A(|0+|12)B

正当化

線形マップのテンソル積

テンソル積は、ベクトル空間間の線形写像にも作用します。具体的には、 ベクトル空間間の2つの線形マップおよびが与えられると、2つの線形マップ およびのテンソル積は線形マップ は定義されます。S:VXT:WYST(ST)(vw)=S(v)T(w)(ST)(vw)=S(v)T(w)

したがって、

(H|0A)(H|0B)=(HH)(|0A|0B)

3

2番目のオプションです。したがって、両方のハードマードゲートを状態に適用して、2つのを取得します。したがって、最終的な2キュービットの状態は|012(|0+|1)

12(|0+|1)12(|0+|1)=12(|00+|01+|10+|11)

正規化条件を確認することで、これが有効な量子状態であることを簡単に確認できます。

|12|2+|12|2+|12|2+|12|2=14+14+14+14=1

一般に、このコンテキストでは、ディラックのブラケット表記を使用する方が直感的です(つまり、列ベクトル代わりに使用します)。次に、キュービットのサブセットにゲートを適用する必要がある場合は、上記と同様に進めることができます。1 0 0 0 T|00(1,0,0,0)T

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.