QPanda3
Supported by OriginQ
载入中...
搜索中...
未找到
量子线路


上一章: 量子线路与量子程序

下一章: 量子程序


量子线路

量子线路(Quantum Circuit),又称量子逻辑线路(Quantum Logic Circuit),是最常见的通用量子计算模型。它们以抽象概念表示作用于量子比特(qubits)的线路,并由多个逻辑门组成。通常,计算结束后需要进行量子测量来读取结果。
与传统线路通过金属导线传输电压或电流信号不同,量子线路中的“导线”实际上是时间的延续。这意味着量子比特的状态会随着时间自然演化,并按照哈密顿算子(Hamiltonian Operator)的指示进行演化,直到遇到逻辑门并被操作。
由于组成量子线路的每个量子逻辑门都是 酉矩阵(Unitary Matrix) ,因此整个量子线路本身也是一个大型酉矩阵。

类的初始化

可以通过三种方式初始化 QCircuit

  • 默认构造函数
  • 指定量子比特数
  • 拷贝构造函数

基本方法

  • 获取线路大小

    使用 size 方法获取线路大小。
    示例:

  • 添加操作

    可以使用 append 方法或 << 操作符向线路中添加逻辑门或其他线路。

线路管理

  • 清空线路

    使用 clear 方法清空线路。
    示例:

  • 获取量子比特

    使用 qubits 方法获取线路中涉及的量子比特。
    示例:

  • 目标与控制量子比特

    使用 target_qubits 获取目标量子比特,
    使用 control_qubits 获取控制量子比特。
    示例:

线路属性

  • 设置共轭转置属性

    使用 dagger 方法设置线路的共轭转置(Dagger)。如果当前线路已是共轭转置状态,则会取消该属性。
    示例:

控制操作

  • 设置与清除控制量子比特

    使用 controlclear_control 方法设置和清除控制量子比特。
    示例:

线路名称

  • 设置和获取线路名称

    使用 set_namename 方法设置和获取线路名称。
    示例:

操作与层

  • 列出线路操作

    使用 gate_operations 方法获取线路中的操作列表。

  • 计算操作数量

    使用 count_ops 方法统计线路中逻辑门的数量。

  • 获取线路深度

    使用 depth 方法获取线路的深度。

  • 展开线路

    使用 expand 方法获取展开后的线路副本。

示例用法

以下是一个简单示例,演示如何创建 QCircuit,添加操作,并获取相关属性:

运行结果:

Circuit Size: 2
Qubits: [0, 1]
Operations: {'CNOT': 1, 'H': 1}
Circuit Depth: 2