PauliWithQbit
PauliWithQbit 表示与特定量子比特索引关联的单个泡利矩阵(PauliTerm 由一组 PauliWithQbit 实例组成,每个量子比特一个。
方法
qbit
python
PauliWithQbit.qbit() -> int返回此泡利矩阵作用的量子比特索引。
返回: 整数量子比特索引。
is_I
python
PauliWithQbit.is_I() -> bool如果此泡利是恒等矩阵 True。
返回: 布尔值。
is_X
python
PauliWithQbit.is_X() -> bool如果此泡利是 True。
返回: 布尔值。
is_Y
python
PauliWithQbit.is_Y() -> bool如果此泡利是 True。
返回: 布尔值。
is_Z
python
PauliWithQbit.is_Z() -> bool如果此泡利是 True。
返回: 布尔值。
to_qgate
python
PauliWithQbit.to_qgate() -> QGate将此泡利转换为相应的量子门对象。映射关系为:
| 泡利 | 门 |
|---|---|
| 恒等(无操作) | |
| X 门 | |
| Y 门 | |
| Z 门 |
返回: 作用于索引 qbit() 处量子比特的 QGate。
pauli_char
python
PauliWithQbit.pauli_char() -> str返回标识泡利类型的单字符字符串:"I"、"X"、"Y" 或 "Z"。
返回: 单字符字符串。
示例
检查项中的泡利
python
from pyqpanda3.hamiltonian import PauliOperator
h = PauliOperator({"X0 Y1 Z2": 1.0})
term = h.terms()[0]
for pwq in term.paulis():
print(f"Qubit {pwq.qbit()}: {pwq.pauli_char()}")
print(f" is_X: {pwq.is_X()}, is_Y: {pwq.is_Y()}, is_Z: {pwq.is_Z()}, is_I: {pwq.is_I()}")将泡利转换为量子门
python
from pyqpanda3.hamiltonian import PauliOperator
h = PauliOperator({"X0 Z1": 1.0})
term = h.terms()[0]
for pwq in term.paulis():
if not pwq.is_I():
gate = pwq.to_qgate()
print(f"Gate on qubit {pwq.qbit()}: {gate}")另见
- PauliTerm -- 组成单个项的 PauliWithQbit 实例集合
- PauliOperator -- 包含 PauliTerms 的多项泡利算符
- Hamiltonian -- 高级哈密顿量封装