Skip to content

hamiltonian 模块 ​

pyqpanda3.hamiltonian 模块提供了用于构造、操作和分析泡利算符与哈密顿量的类。这些是定义量子可观测量、变分算法(VQE、QAOA)中的问题哈密顿量以及量子模拟任务的基本构建模块。

概述 ​

量子力学中的哈密顿量是描述量子系统总能量的算符。在量子计算的背景下,哈密顿量通常表示为作用于量子比特的泡利算符的线性组合:

H=∑iciPi

其中每个 Pi 是泡利矩阵(I、X、Y、Z)的张量积,ci 是(可能为复数的)系数。

该模块暴露四个主要类:

  • PauliOperator -- 具有系数的泡利字符串的多项和。支持完整的算术代数(+、-、*、@),通过 .tensor() 进行张量积、字符串序列化、矩阵转换和交换项分组。
  • PauliTerm -- 泡利算符中的单项,由泡利字符串和系数组成。提供对单个泡利-量子比特对的访问和量子线路转换。
  • PauliWithQbit -- 与特定量子比特索引关联的泡利矩阵(I、X、Y、Z)。泡利项的最小单元。
  • Hamiltonian -- 围绕 PauliOperator 的高级封装,具有相同的代数接口和额外的便捷方法。

类层次结构 ​

mermaid
classDiagram
    class PauliOperator {
        +__add__()
        +__sub__()
        +__mul__()
        +__matmul__()
        +tensor()
        +terms() list~PauliTerm~
        +matrix() ndarray
        +group_commuting()
        +qubits()
        +data_dict_float_coeff()
        +data_dict_complex_coeff()
    }
    class PauliTerm {
        +coef() complex
        +paulis() list~PauliWithQbit~
        +to_qcircuit() QCircuit
        +qubits()
        +data_3tuple_complex_coeff()
        +data_3tuple_float_coeff()
    }
    class PauliWithQbit {
        +qbit() int
        +is_I() bool
        +is_X() bool
        +is_Y() bool
        +is_Z() bool
        +to_qgate() QGate
        +pauli_char() str
    }
    class Hamiltonian {
        +pauli_operator() PauliOperator
        +matrix() ndarray
    }
    PauliOperator "1" *-- "*" PauliTerm : contains
    PauliTerm "1" *-- "*" PauliWithQbit : contains
    Hamiltonian "1" *-- "1" PauliOperator : wraps

子主题 ​

主题说明
PauliOperator具有完整算术代数的多项泡利算符
PauliTerm带系数的单个泡利项
PauliWithQbit绑定到量子比特索引的泡利矩阵
Hamiltonian高级哈密顿量封装

Released under the MIT License.