QPU 命令その 2
CPHASE ゲート
条件付き PHASE ゲート
コントロールゲートと組合わせた PHASE ゲートを CPHASE ゲートと呼びます。 CNOT ゲートと同じく、CPHASE ゲートは条件付きで PHASE ゲートを作用させます。
CPHASE ゲートの特徴に対称性があります。 CPHASE ではコントロールビットとターゲットビットとの区別がなく、入れ替えてもまったく同じ動作をします。
この対称性のため、CPHASE ゲートはしばしば、次のようにコントロールゲートを使わず PHASE ゲート同士を接続した形で書きます。 このとき、ペアとなる CPHASE ゲートはそれぞれ同じ角度を持たなければいけないことに注意してください。
Qni では CPHASE をコントロールゲートありと PHASE ゲート 2 個の両方で書くことができます。
CPHASE ゲートの作用
ビット 1 をコントロールビット、ビット 3 をターゲットビットとした CPHASE ゲートの作用を見てみましょう。
まずはコントロールゲートなしで、PHASE ゲートのみをビット 3 に適用した場合の動作をおさらいします。
PHASE ゲートをビット 3 に適用する場合、演算ペアは 4 つ離れた円のペア「\(|0\rangle\) と \(|4\rangle\)」、「\(|1\rangle\) と \(|5\rangle\)」、「\(|2\rangle\) と \(|6\rangle\)」、「\(|3\rangle\) と \(|7\rangle\)」になります。
PHASE ゲートは演算ペアの右側の円のみに作用します。 つまり、すべての円のうち半分の円のみに作用します。
次にコントロールゲートをビット 1 に置いた場合を考えます。 この場合、ビット 1 が立っている演算ペアのみに PHASE ゲートを適用するのでした。 すると先ほどの演算ペアの半分「\(|1\rangle\) と \(|5\rangle\)」、「\(|3\rangle\) と \(|7\rangle\)」が PHASE ゲートの対象になります。
このように、コントロールビットを 1 つ増やすごとに、回転する円の数は半分になります。 たとえば、上の 3 量子ビットの例でコントロールゲートを 2 個に増やすと、回転する円は 1 つになります。
ハンズオン
コントロールゲート 2 個の PHASE ゲート (CCPHASE) を作り、回転する円が 1 個になることを確認しましょう。 また、CCPHASE を同等な 3 個のPHASE ゲートに書き換え、同様に動作することを確認しましょう。
CZ ゲート
角度が π の場合の CPHASE(π) は、次のようにコントロールゲートのみで書くことができます。
このコントロールゲートのみのゲートを CZ ゲートと呼びます。 これは、PHASE(π) には Z ゲートという別名があるため、CPHASE(π) は次のように Z ゲートにコントロールゲートを組合わせたもの (つまり CZ) としても書けるからです。
ハンズオン
CZ ゲートをコントロールゲートと PHASE(π) ゲートの組合わせ、コントロールゲートと Z ゲートの組合わせ、コントロールゲートのみの 3 通りで作り、同じ動作になることを確認しましょう。