cuquantum.cutensornet.state_apply_tensor_operator

cuquantum.cutensornet.state_apply_tensor_operator(intptr_t handle, intptr_t tensor_network_state, int32_t num_state_modes, state_modes, intptr_t tensor_data, tensor_mode_strides, int32_t immutable, int32_t adjoint, int32_t unitary) int64_t[源代码]

将张量算符应用于张量网络状态。

参数
  • handle (intptr_t) – cuTensorNet 库句柄。

  • tensor_network_state (intptr_t) – 张量网络状态。

  • num_state_modes (int32_t) – 张量算符作用的状态模式的数量。

  • state_modes (object) –

    指向张量算符作用的状态模式的指针。它可以是

    • 一个 int 作为数组的指针地址,或者

    • 一个 int32_t 的 Python 序列。

  • tensor_data (intptr_t) – 张量算符的元素(必须与状态张量的元素具有相同的数据类型)。

  • tensor_mode_strides (object) –

    张量算符数据布局的步幅(请注意,张量算符的模式数量是其作用的状态模式数量的两倍)。传递 NULL 将假定默认的广义列优先存储布局。它可以是

    • 一个 int 作为数组的指针地址,或者

    • 一个 int64_t 的 Python 序列。

  • immutable (int32_t) – 指示张量算符数据在张量网络状态的生命周期内是否可能更改。任何数据更改都必须通过调用 cutensornetStateUpdateTensorOperator 来注册。

  • adjoint (int32_t) – 指示张量算符是否作为伴随算符应用(ket 和 bra 模式反转,所有张量元素进行复共轭)。

  • unitary (int32_t) – 指示张量算符对于其模式的前半部分和后半部分是否是酉算符。

返回

唯一的整数 ID(用于稍后识别张量算符)。

返回类型

int64_t