Skip to content

PauliWithQbit

PauliWithQbit 表示与特定量子比特索引关联的单个泡利矩阵(IXYZ)。它是哈密顿量模块中最细粒度的构建块——每个 PauliTerm 由一组 PauliWithQbit 实例组成,每个量子比特一个。

方法

qbit

python
PauliWithQbit.qbit() -> int

返回此泡利矩阵作用的量子比特索引。

返回: 整数量子比特索引。

is_I

python
PauliWithQbit.is_I() -> bool

如果此泡利是恒等矩阵 I 则返回 True

返回: 布尔值。

is_X

python
PauliWithQbit.is_X() -> bool

如果此泡利是 X(比特翻转)矩阵则返回 True

返回: 布尔值。

is_Y

python
PauliWithQbit.is_Y() -> bool

如果此泡利是 Y 矩阵则返回 True

返回: 布尔值。

is_Z

python
PauliWithQbit.is_Z() -> bool

如果此泡利是 Z(相位翻转)矩阵则返回 True

返回: 布尔值。

to_qgate

python
PauliWithQbit.to_qgate() -> QGate

将此泡利转换为相应的量子门对象。映射关系为:

泡利
I恒等(无操作)
XX 门
YY 门
ZZ 门

返回: 作用于索引 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}")

另见

Released under the MIT License.