单量子比特门

Hadamard门

H=12[1111]H=\frac{1}{\sqrt{2}}\begin{bmatrix}1&1\\1&-1\end{bmatrix}

H2=IH^2=I

Pauli矩阵

X=σx=[0110]X=\sigma_x=\begin{bmatrix}0&1\\1&0\end{bmatrix}

Y=σy=[0ii0]Y=\sigma_y=\begin{bmatrix}0&-i\\i&0\end{bmatrix}

Z=σz=[1001]Z=\sigma_z=\begin{bmatrix}1&0\\0&-1\end{bmatrix}

旋转门

Rx(θ)=[cosθ2isinθ2isinθ2cosθ2]R_x(\theta)=\begin{bmatrix}\cos\frac{\theta}{2}&-i\sin\frac{\theta}{2}\\-i\sin\frac{\theta}{2}&\cos\frac{\theta}{2}\end{bmatrix}

Ry(θ)=[cosθ2sinθ2sinθ2cosθ2]R_y(\theta)=\begin{bmatrix}\cos\frac{\theta}{2}&-\sin\frac{\theta}{2}\\\sin\frac{\theta}{2}&\cos\frac{\theta}{2}\end{bmatrix}

Rz(θ)=[eiθ200eiθ2]R_z(\theta)=\begin{bmatrix}e^{-i\frac{\theta}{2}}&0\\0&e^{i\frac{\theta}{2}}\end{bmatrix}

T=Rz(π4)T=R_z\left(\frac{\pi}{4}\right)

S=Rz(π2)S=R_z\left(\frac{\pi}{2}\right)

多量子比特门

约定狄拉克符号中左侧为高位,右侧为低位。比如基态 00|00\rangle 中,左侧 00 为高位,右侧 00 为低位。

CNOT门

高位作为控制位

UCNOT=[1000010000010010]U_{\text{CNOT}}=\begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 1 \\ 0 & 0 & 1 & 0 \end{bmatrix}

低位作为控制位

UCNOT=[1000010000100100]U_{\text{CNOT}}=\begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 1 & 0 & 0 \end{bmatrix}

SWAP门

USWAP=[1000001001000001]U_{\text{SWAP}}=\begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix}\quad

Toffoli门

两个高位为1时,将低位量子态翻转。

[1000000001000000001000000001000000001000000001000000000100000010]\begin{bmatrix} 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 \\ 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 \\ \end{bmatrix}

Fredkin门

高位为1时,将两个低位量子态交换。

[1000000001000000001000000001000000001000000000100000010000000001]\begin{bmatrix} 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 \\ \end{bmatrix}