枚举 — GateType, OpType, PIC_TYPE
pyqpanda3 核心枚举类型的 API 参考。
GateType
所有量子门类型的枚举。用于 QGate.gate_type()、噪声模型配置和转译。
值
| 值 | 说明 |
|---|---|
GATE_NOP | 无操作(恒等占位符) |
GATE_UNDEFINED | 未定义门类型 |
I | 恒等门 |
X | 泡利-X(NOT)门 |
Y | 泡利-Y 门 |
Z | 泡利-Z 门 |
X1 | SX 门( |
Y1 | Y1 门( |
Z1 | Z1 门( |
H | Hadamard 门 |
T | T 门( |
S | S 门(相位门) |
P | 参数化相位门 |
RX | 绕 X 轴旋转 |
RY | 绕 Y 轴旋转 |
RZ | 绕 Z 轴旋转 |
RPHI | R-Phi 门 |
U1 | U1 门(单参数) |
U2 | U2 门(双参数) |
U3 | U3 门(三参数) |
U4 | U4 门(四参数) |
CU | 受控 U 门 |
CNOT | 受控非门 |
CZ | 受控 Z 门 |
CP | 受控相位门 |
CRX | 受控 RX 门 |
CRY | 受控 RY 门 |
CRZ | 受控 RZ 门 |
RYY | YY 旋转门 |
RXX | XX 旋转门 |
RZZ | ZZ 旋转门 |
RZX | ZX 旋转门 |
ISWAP | iSWAP 门 |
SQISWAP | 平方根 iSWAP 门 |
SWAP | SWAP 门 |
IDLE | IDLE(无操作)门 |
ECHO | Echo 门 |
ORACLE | Oracle(用户自定义幺正)门 |
TOFFOLI | Toffoli(CCNOT)门 |
BARRIER | 屏障操作 |
MS | Molmer-Sorensen 门 |
示例
python
from pyqpanda3.core import H, GateType
gate = H(0)
print(gate.gate_type()) # GateType.HOpType
量子程序中操作类型的枚举。
值
| 值 | 说明 |
|---|---|
Gate | 量子门操作 |
Measure | 测量操作 |
示例
python
from pyqpanda3.core import H, OpType
gate = H(0)
op = gate # Operation with m_operation_type == OpType.GatePIC_TYPE
线路可视化输出格式的枚举。
注意:
Gate和Measure是pyqpanda3.core.__init__中导出的别名:
Gate = OpType.GateMeasure = OpType.Measure检查操作类型时可以使用这些简写别名。
值
| 值 | 说明 |
|---|---|
TEXT | ASCII 文本可视化 |
LATEX | LaTeX 源码线路图 |
示例
python
from pyqpanda3.core import draw_qprog, QProg, H, CNOT, PIC_TYPE
prog = QProg()
prog << H(0) << CNOT(0, 1)
# 文本可视化
text_output = draw_qprog(prog, PIC_TYPE.TEXT)
print(text_output)
# LaTeX 可视化
latex_output = draw_qprog(prog, PIC_TYPE.LATEX)另见
set_print_options
配置量子线路和程序文本输出的全局打印选项。影响线路图在打印或转换为字符串时的渲染方式。
签名
python
set_print_options(precision: int = 8, param_show: int = True, linewidth: int = 100) -> None参数
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| precision | int | 8 | 输出中参数值的浮点精度 |
| param_show | int | True | 是否在线路输出中显示门参数(True 或 False) |
| linewidth | int | 100 | 每行最大字符数 |
示例
python
from pyqpanda3.core import set_print_options, QCircuit, H, RX
# 设置紧凑输出,4位精度
set_print_options(precision=4, linewidth=60)
circ = QCircuit()
circ << H(0) << RX(1, 0.123456789)
print(circ)