qml.ops.op_math

该模块包含运算符算术的类和函数。

构造函数

adjoint(fn[, lazy])

创建一个算子的伴随或一个应用所提供的函数伴随的函数。

ctrl(op, control[, control_values, work_wires])

创建一个方法,该方法应用所提供操作的受控版本。

cond(条件[, 真值函数, 假值函数, elif条])

量子兼容的if-else条件 --- 基于中途电路量子比特测量结果等参数对量子操作进行条件处理。

exp(op[, coeff, num_steps, id])

取一个算子的指数乘以一个系数。

sum(*加数[, 分组类型, 方法, 标识符, 懒惰])

构造一个运算符,它是给定运算符的总和。

pow(基数[, z, 延迟, id])

将运算符提升到一个幂。

prod(*ops[, id, lazy])

构造一个表示所提供算子的广义乘积的算子。

s_prod(标量, 操作符[, 惰性, id])

构造一个算子,该算子是给定标量和提供的算子的标量积。

符号类

Adjoint([base, id])

算子的伴随。

CompositeOp(*操作数[, id, _pauli_rep])

一个由其他算子组成的算子基类。

Conditional(expr, then_op[, id])

一个条件操作。

Controlled(base, control_wires[, ...])

表示受控算子的符号运算符。

ControlledOp(base, control_wires[, ...])

Controlled类相关的特定操作方法和属性。

Evolution(生成器[, 参数, 步数, ID])

创建一个定义生成器的指数算子,形式为 \(e^{-ix\hat{G}}\)

Exp(基数[, 系数, 步数, id])

一个符号运算符,表示一个算子的指数。

LinearCombination(coeffs, observables[, ...])

表示算子线性组合的算子。

Pow([基数, z, id])

表示幂运算的符号运算符。

Prod(*操作数[, id, _pauli_rep])

表示算子乘积的符号运算符。

Sum(*操作数[, 分组类型, 方法, id, ...])

表示算子总和的符号运算符。

SProd(标量, 基[, id, _pauli_rep])

表示给定标量与算子的标量乘积的算术运算符。

SymbolicOp(基础[, id])

面向开发者的单操作符符号运算符的基类。

ScalarSymbolicOp(base, scalar[, id])

面向开发者的基类,用于包含标量系数的单操作符符号操作符。

受控算子类

ControlledQubitUnitary(U, control_wires, ...)

将任意固定的单位操作应用于 wires,并从 control_wires 控制。

CY(导线)

受控-Y算子

CZ(线路)

受控-Z算子

CH(电线)

受控Hadamard算子

CCZ(导线)

CCZ(受控-受控-Z)门。

CSWAP(线路)

受控交换算子

CNOT(线路)

受控非门运算符

Toffoli(导线)

托福利(控制-控制-X)门。

MultiControlledX(control_wires, wires, ...)

应用一个受到任意计算基态控制的保利X门。

CRX(phi, wires[, id])

受控RX算子

CRY(phi, wires[, id])

受控RY算子

CRZ(phi, wires[, id])

受控-RZ算子

CRot(phi, theta, omega, wires[, id])

受控旋转算子

ControlledPhaseShift(phi, wires[, id])

一个量子比特控制的相位移。

分解

one_qubit_decomposition(U, wire[, ...])

将一个一量子比特的幺正算子 \(U\) 分解为基本操作。

two_qubit_decomposition(U, wires)

将二量子比特的单位操作 \(U\) 分解为基本操作。

sk_decomposition(op, epsilon, *[, ...])

使用Solovay-Kitaev算法在Clifford+T基中近似任意的单量子位门。

控制分解

ctrl_decomp_zyz(目标操作, 控制线)

分解目标单量子比特操作的受控版本

ctrl_decomp_bisect(目标操作, ...)

分解目标单量子比特操作的受控版本