paddle_quantum.gate.matrix
门的矩阵实现。
以下是单比特量子门的矩阵。
- h_gate(dtype=None)
生成矩阵
\[\begin{split}\begin{align} H = \frac{1}{\sqrt{2}} \begin{bmatrix} 1&1\\ 1&-1 \end{bmatrix} \end{align}\end{split}\]- 参数:
dtype (str, optional) – 此矩阵的类型,默认值为
'None'
。- 返回:
H 门的矩阵。
- 返回类型:
paddle.Tensor
- s_gate(dtype=None)
生成矩阵
\[\begin{split}\begin{align} S = \begin{bmatrix} 1&0\\ 0&i \end{bmatrix} \end{align}\end{split}\]- 参数:
dtype (str, optional) – 此矩阵的类型,默认值为
'None'
。- 返回:
S 门的矩阵。
- 返回类型:
paddle.Tensor
- sdg_gate(dtype=None)
生成矩阵
\[\begin{split}\begin{align} S^\dagger = \begin{bmatrix} 1&0\\ 0&-i \end{bmatrix} \end{align}\end{split}\]- 参数:
dtype (str, optional) – 此矩阵的类型,默认值为
'None'
。- 返回:
\(S^\dagger\) 门的矩阵。
- 返回类型:
paddle.Tensor
- t_gate(dtype=None)
生成矩阵
\[\begin{split}\begin{align} T = \begin{bmatrix} 1&0\\ 0&e^\frac{i\pi}{4} \end{bmatrix} \end{align}\end{split}\]- 参数:
dtype (str, optional) – 此矩阵的类型,默认值为
'None'
。- 返回:
T 门的矩阵。
- 返回类型:
paddle.Tensor
- tdg_gate(dtype=None)
生成矩阵
\[\begin{split}\begin{align} T^\dagger = \begin{bmatrix} 1&0\\ 0&e^{-\frac{i\pi}{4}} \end{bmatrix} \end{align}\end{split}\]- 参数:
dtype (str, optional) – 此矩阵的类型,默认值为
'None'
。- 返回:
\(T^\dagger\) 门的矩阵。
- 返回类型:
paddle.Tensor
- x_gate(dtype=None)
生成矩阵
\[\begin{split}\begin{align} X = \begin{bmatrix} 0&1\\ 1&0 \end{bmatrix} \end{align}\end{split}\]- 参数:
dtype (str, optional) – 此矩阵的类型,默认值为
'None'
。- 返回:
X 门的矩阵。
- 返回类型:
paddle.Tensor
- y_gate(dtype=None)
生成矩阵
\[\begin{split}\begin{align} Y = \begin{bmatrix} 0&-i\\ i&0 \end{bmatrix} \end{align}\end{split}\]- 参数:
dtype (str, optional) – 此矩阵的类型,默认值为
'None'
。- 返回:
Y 门的矩阵。
- 返回类型:
paddle.Tensor
- z_gate(dtype=None)
生成矩阵
\[\begin{split}\begin{align} Z = \begin{bmatrix} 1&0\\ 0&-1 \end{bmatrix} \end{align}\end{split}\]- 参数:
dtype (str, optional) – 此矩阵的类型,默认值为
'None'
。- 返回:
Z 门的矩阵。
- 返回类型:
paddle.Tensor
- p_gate(theta)
生成矩阵
\[\begin{split}\begin{align} P = \begin{bmatrix} 1 & 0 \\ 0 & e^{i\theta} \end{bmatrix} \end{align}\end{split}\]- 参数:
theta (paddle.Tensor) – P 门的参数。
- 返回:
P 门的矩阵。
- 返回类型:
paddle.Tensor
- rx_gate(theta)
生成矩阵
\[\begin{split}\begin{align} R_X = \begin{bmatrix} \cos\frac{\theta}{2} & -i\sin\frac{\theta}{2} \\ -i\sin\frac{\theta}{2} & \cos\frac{\theta}{2} \end{bmatrix} \end{align}\end{split}\]- 参数:
theta (paddle.Tensor) – \(R_X\) 门的参数。
- 返回:
\(R_X\) 门的矩阵。
- 返回类型:
paddle.Tensor
- ry_gate(theta)
生成矩阵
\[\begin{split}\begin{align} R_Y = \begin{bmatrix} \cos\frac{\theta}{2} & -\sin\frac{\theta}{2} \\ \sin\frac{\theta}{2} & \cos\frac{\theta}{2} \end{bmatrix} \end{align}\end{split}\]- 参数:
theta (paddle.Tensor) – \(R_Y\) 门的参数。
- 返回:
\(R_Y\) 门的矩阵。
- 返回类型:
paddle.Tensor
- rz_gate(theta)
生成矩阵
\[\begin{split}\begin{align} R_Z = \begin{bmatrix} e^{-i\frac{\theta}{2}} & 0 \\ 0 & e^{i\frac{\theta}{2}} \end{bmatrix} \end{align}\end{split}\]- 参数:
theta (paddle.Tensor) – \(R_Z\) 门的参数。
- 返回:
\(R_Z\) 门的矩阵。
- 返回类型:
paddle.Tensor
- u3_gate(theta)
生成矩阵
\[\begin{split}\begin{align} U_3(\theta, \phi, \lambda) = \begin{bmatrix} \cos\frac\theta2&-e^{i\lambda}\sin\frac\theta2\\ e^{i\phi}\sin\frac\theta2&e^{i(\phi+\lambda)}\cos\frac\theta2 \end{bmatrix} \end{align}\end{split}\]- 参数:
theta (paddle.Tensor) – \(U_3\) 门的参数。
- 返回:
\(U_3\) 门的矩阵。
- 返回类型:
paddle.Tensor
以下是多量子比特门的矩阵
- cnot_gate(dtype)
生成矩阵
\[\begin{split}\begin{align} CNOT &=|0\rangle \langle 0|\otimes I + |1 \rangle \langle 1|\otimes X\\ &= \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 1 \\ 0 & 0 & 1 & 0 \end{bmatrix} \end{align}\end{split}\]- 参数:
dtype (str, optional) – 此矩阵的类型,默认值为
'None'
。- 返回:
CNOT 门的矩阵。
- 返回类型:
paddle.Tensor
- cy_gate(dtype)
生成矩阵
\[\begin{split}\begin{align} CY &=|0\rangle \langle 0|\otimes I + |1 \rangle \langle 1|\otimes Y\\ &= \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & -i \\ 0 & 0 & i & 0 \end{bmatrix} \end{align}\end{split}\]- 参数:
dtype (str, optional) – 此矩阵的类型,默认值为
'None'
。- 返回:
CY 门的矩阵。
- 返回类型:
paddle.Tensor
- cz_gate(dtype)
生成矩阵
\[\begin{split}\begin{align} CZ &=|0\rangle \langle 0|\otimes I + |1 \rangle \langle 1|\otimes Z\\ &= \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & -1 \end{bmatrix} \end{align}\end{split}\]- 参数:
dtype (str, optional) – 此矩阵的类型,默认值为
'None'
。- 返回:
CZ 门的矩阵。
- 返回类型:
paddle.Tensor
- swap_gate(dtype)
生成矩阵
\[\begin{split}\begin{align} SWAP = \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix} \end{align}\end{split}\]- 参数:
dtype (str, optional) – 此矩阵的类型,默认值为
'None'
。- 返回:
SWAP 门的矩阵。
- 返回类型:
paddle.Tensor
- cp_gate(theta)
生成矩阵
\[\begin{split}\begin{align} CP = \begin{bmatrix} 1 & 0 & 0 & 0\\ 0 & 1 & 0 & 0\\ 0 & 0 & 1 & 0\\ 0 & 0 & 0 & e^{i\theta} \end{bmatrix} \end{align}\end{split}\]- 参数:
theta (paddle.Tensor) – CP 门的参数。
- 返回:
CP 门的矩阵。
- 返回类型:
paddle.Tensor
- crx_gate(theta)
生成矩阵
\[\begin{split}\begin{align} CR_X &=|0\rangle \langle 0|\otimes I + |1 \rangle \langle 1|\otimes R_X\\ &= \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & \cos\frac{\theta}{2} & -i\sin\frac{\theta}{2} \\ 0 & 0 & -i\sin\frac{\theta}{2} & \cos\frac{\theta}{2} \end{bmatrix} \end{align}\end{split}\]- 参数:
theta (paddle.Tensor) – \(CR_X\) 门的参数。
- 返回:
\(CR_X\) 门的矩阵。
- 返回类型:
paddle.Tensor
- cry_gate(theta)
生成矩阵
\[\begin{split}\begin{align} CR_Y &=|0\rangle \langle 0|\otimes I + |1 \rangle \langle 1|\otimes R_Y\\ &= \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & \cos\frac{\theta}{2} & -\sin\frac{\theta}{2} \\ 0 & 0 & \sin\frac{\theta}{2} & \cos\frac{\theta}{2} \end{bmatrix} \end{align}\end{split}\]- 参数:
theta (paddle.Tensor) – \(CR_Y\) 门的参数。
- 返回:
\(CR_Y\) 门的矩阵。
- 返回类型:
paddle.Tensor
- crz_gate(theta)
生成矩阵
\[\begin{split}\begin{align} CR_Z &=|0\rangle \langle 0|\otimes I + |1 \rangle \langle 1|\otimes R_Z\\ &= \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & \cos\frac{\theta}{2} & -\sin\frac{\theta}{2} \\ 0 & 0 & \sin\frac{\theta}{2} & \cos\frac{\theta}{2} \end{bmatrix} \end{align}\end{split}\]- 参数:
theta (paddle.Tensor) – \(CR_Z\) 门的参数。
- 返回:
\(CR_Z\) 门的矩阵。
- 返回类型:
paddle.Tensor
- cu_gate(theta)
生成矩阵
\[\begin{split}\begin{align} CU &= \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & \cos\frac\theta2 &-e^{i\lambda}\sin\frac\theta2 \\ 0 & 0 & e^{i\phi}\sin\frac\theta2&e^{i(\phi+\lambda)}\cos\frac\theta2 \end{bmatrix} \end{align}\end{split}\]- 参数:
theta (paddle.Tensor) – CU 门的参数。
- 返回:
CU 门的矩阵。
- 返回类型:
paddle.Tensor
- rxx_gate(theta)
生成矩阵
\[\begin{split}\begin{align} RXX(\theta) = \begin{bmatrix} \cos\frac{\theta}{2} & 0 & 0 & -i\sin\frac{\theta}{2} \\ 0 & \cos\frac{\theta}{2} & -i\sin\frac{\theta}{2} & 0 \\ 0 & -i\sin\frac{\theta}{2} & \cos\frac{\theta}{2} & 0 \\ -i\sin\frac{\theta}{2} & 0 & 0 & \cos\frac{\theta}{2} \end{bmatrix} \end{align}\end{split}\]- 参数:
theta (paddle.Tensor) – RXX 门的参数。
- 返回:
RXX 门的矩阵。
- 返回类型:
paddle.Tensor
- ryy_gate(theta)
生成矩阵
\[\begin{split}\begin{align} RYY(\theta) = \begin{bmatrix} \cos\frac{\theta}{2} & 0 & 0 & i\sin\frac{\theta}{2} \\ 0 & \cos\frac{\theta}{2} & -i\sin\frac{\theta}{2} & 0 \\ 0 & -i\sin\frac{\theta}{2} & \cos\frac{\theta}{2} & 0 \\ i\sin\frac{\theta}{2} & 0 & 0 & cos\frac{\theta}{2} \end{bmatrix} \end{align}\end{split}\]- 参数:
theta (paddle.Tensor) – RYY 门的参数。
- 返回:
RYY 门的矩阵。
- 返回类型:
paddle.Tensor
- rzz_gate(theta)
生成矩阵
\[\begin{split}\begin{align} RZZ(\theta) = \begin{bmatrix} e^{-i\frac{\theta}{2}} & 0 & 0 & 0 \\ 0 & e^{i\frac{\theta}{2}} & 0 & 0 \\ 0 & 0 & e^{i\frac{\theta}{2}} & 0 \\ 0 & 0 & 0 & e^{-i\frac{\theta}{2}} \end{bmatrix} \end{align}\end{split}\]- 参数:
theta (paddle.Tensor) – RZZ 门的参数。
- 返回:
RZZ 门的矩阵。
- 返回类型:
paddle.Tensor
- ms_gate(dtype)
生成矩阵
\[\begin{split}\begin{align} \mathit{MS} = \mathit{R_{XX}}(-\frac{\pi}{2}) = \frac{1}{\sqrt{2}} \begin{bmatrix} 1 & 0 & 0 & i \\ 0 & 1 & i & 0 \\ 0 & i & 1 & 0 \\ i & 0 & 0 & 1 \end{bmatrix} \end{align}\end{split}\]- 参数:
dtype (str, optional) – 此矩阵的类型,默认值为
'None'
。- 返回:
MS 门的矩阵。
- 返回类型:
paddle.Tensor
- cswap_gate(dtype)
生成矩阵
\[\begin{split}\begin{align} CSWAP = \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} \end{align}\end{split}\]- 参数:
dtype (str, optional) – 此矩阵的类型,默认值为
'None'
。- 返回:
CSWAP 门的矩阵。
- 返回类型:
paddle.Tensor
- toffoli_gate(dtype)
生成矩阵
\[\begin{split}\begin{align} Toffoli = \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} \end{align}\end{split}\]- 参数:
dtype (str, optional) – 此矩阵的类型,默认值为
'None'
。- 返回:
Toffoli 门的矩阵。
- 返回类型:
paddle.Tensor
- universal2_gate(theta)
- 参数:
theta (paddle.Tensor) – 两量子比特通用门参数。
- 返回:
两量子比特通用门的矩阵。
- 返回类型:
paddle.Tensor
- universal3_gate(theta)
- 参数:
theta (paddle.Tensor) – 三量子比特通用门参数。
- 返回:
三量子比特通用门的矩阵。
- 返回类型:
paddle.Tensor