cuquantum.densitymat.OperatorAction

class cuquantum.densitymat.OperatorAction(ctx, operators)[源代码]

算符操作,表示一组 Operator 对象在一组输入状态上的作用,累积到一个输出状态中。

参数
  • ctx – 库上下文,包含工作区、流和其他配置信息。

  • operatorsOperator 对象的序列,其长度与计算此实例操作时接受的输入状态序列的长度相同。

方法

__init__(ctx: WorkStream, operators: Tuple[Operator])[源代码]

初始化算符操作,表示一组 Operator 对象在一组输入状态上的作用,累积到一个输出状态中。

compute(t: float, params: Sequence[float], states_in: Sequence[State], state_out: State) None[源代码]

计算此实例在一系列输入状态上的作用,并将结果累积到一个输出状态中。

参数
  • t – 要传递给所有回调函数的时间参数。

  • params – 要传递给所有回调函数的附加参数。

  • states_in – 应用 OperatorAction 的量子态。

  • state_out – 结果累积到的量子态。

prepare(ctx: WorkStream, states_in: Sequence[State], state_out: Optional[State] = None, compute_type: Optional[str] = None) None[源代码]

准备此实例在输入状态上的操作。

参数
  • ctx – 库上下文,包含工作区、流和其他配置信息。

  • states_in – 要应用操作的输入量子态。

  • state_out – 操作将累积到的输出量子态。默认为 state_in 的第一个元素。

  • compute_type – 计算要使用的 CUDA 计算类型。

注意

compute_type 参数目前未使用,将默认为数据类型。

属性

dtype

OperatorAction 的数据类型。

hilbert_space_dims

OperatorAction 的希尔伯特空间维度。