common.title

Docs
Quantum Circuit
TYTAN CLOUD

QUANTUM GAMING


Overview
Contact
Event
Project
Research

Terms of service (Web service)

Terms of service (Quantum and ML Cloud service)

Privacy policy


Sign in
Sign up
common.title

初心者の量子ゲートCZ回路

Yuichiro Minato

2021/01/03 04:41

#量子ゲート

はじめに

今日はCZ回路を少しみてみたいと思います。量子ニューロンをみていたらCZ回路が頻繁に出ます。

CZ回路とは?

CZ回路は量子計算の中で「コントロールビット」と「ターゲットビット」を持ち、コントロールゲートが1の時にターゲットビットの位相を反転させます。

a -----*-----
|
b -----Z-----

CZ回路はCXもしくはCNOTゲートにHゲートを適用することで実現できます。

a -----*-----
|
b ---H-X-H---

CZ回路はリバーシブル!

なんかCZ回路は「コントロールビット」と「ターゲットビット」がリバーシブルのようです。つまり、

a -----*----- a -----Z-----
| = |
b -----Z----- b -----*-----

つまり、、、

a -----*-----
|
b -----*-----

こういう風に書けそうです!

ユニタリ行列を確認

教えてもらいました。。。CZのユニタリ行列は、

CZ = [[1 0 0 0]
[0 1 0 0]
[0 0 1 0]
[0 0 0 -1]]

こうなりますが、行列変換を考えると、、、下記見辛いですが、[a,b,c,d]のベクトルにユニタリ行列をかけて、[a’,b’,c’,d’]をえます。

[a' = [[1 0 0 0] @ [a
b' [0 1 0 0] b
c' [0 0 1 0] c
d'] [0 0 0 -1]] d]

ユニタリ変換のmatrixは入出力を対応させると列が入力、行が出力に対応します。

a b c d
[[1 0 0 0] a'
[0 1 0 0] b'
[0 0 1 0] c'
[0 0 0 -1]] d'

もとの状態ベクトルに対応させると、

|00> |01> |10> |11>
[[1 0 0 0] |00>'
[0 1 0 0] |01>'
[0 0 1 0] |10>'
[0 0 0 -1]] |11>'

列の入力に対応して行の出力が対応します。上記のCZ回路のユニタリ変換だと、|11>の入力が-|11>となりますが、コントロールビットとターゲットビットを入れ替えてももともと両方|11>の回路が位相反転するだけなので、CZのユニタリ行列は変わりません。

見方を変えてみる

普通に式で書いてみても、やはり11の回路の確率振幅だけを符号反転させれば良さそうです。

CZ(01)(a|00>+b|01>+c|10>+d|11>) = a|00>+b|01>+c|10>-d|11>

CZ(10)(a|00>+b|01>+c|10>+d|11>) = a|00>+b|01>+c|10>-d|11>

まとめ

CZ回路は制御Z回路で、Z軸周りの回転を制御します。ユニタリ行列の形から反転可能ということがわかりました。以上です。

© 2025, blueqat Inc. All rights reserved