common.title

Docs
Quantum Circuit
TYTAN CLOUD

QUANTUM GAMING


autoQAOA
Desktop RAG

Overview
Terms of service

Privacy policy

Contact
Research

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