以下のユニタリーの2キュービットゲートがあります。
def _unitary_(self):
st = np.sin(self.theta)
ct = np.cos(self.theta)
ei = np.exp(1j*self.phi)
emi = np.exp(-1j*self.phi)
return np.array([
[1., 0, 0, 0],
[0, ct, ei*st, 0],
[0, emi*st, -ct, 0],
[0, 0, 0, 1.]
]
)
3つの量子ビットゲートを作成します。1つの量子ビットが上記の2つの量子ビットゲートの制御量子ビットとして機能し、他の2つの量子ビットにゲートが適用されます。
そのようなゲートの例を次に示します。ゲートがq0、q1、およびq2に適用されているとします。ここで、q0は制御キュービットです。上記の4 * 4ユニタリは、q0が0の場合にのみ、q1とq2に適用する必要があります。
そのような3キュービットゲートの単一性はどのように見えますか?(私はCirqでこれを行っています)