cuquantum.custatevec.apply_generalized_permutation_matrix¶
- cuquantum.custatevec.apply_generalized_permutation_matrix(intptr_t handle, intptr_t sv, int sv_data_type, uint32_t n_index_bits, permutation, intptr_t diagonals, int diagonals_data_type, int32_t adjoint, targets, uint32_t n_targets, controls, control_bit_values, uint32_t n_controls, intptr_t extra_workspace, size_t extra_workspace_size_in_bytes)[source]¶
应用广义置换矩阵。
- 参数
handle (intptr_t) – cuStateVec 库的句柄。
sv (intptr_t) – 状态向量。
sv_data_type (int) – 状态向量的数据类型。
n_index_bits (uint32_t) – 状态向量的索引位数。
permutation (object) –
指向置换表的主机或设备指针。它可以是
一个
int
作为数组的指针地址,或者一个
custatevecIndex_t
的 Python 序列。
diagonals (intptr_t) – 指向对角线元素的主机或设备指针。
diagonals_data_type (int) – 对角线的数据类型。
adjoint (int32_t) – 应用广义置换矩阵的伴随矩阵。
targets (object) –
指向目标位的主机数组的指针。它可以是
一个
int
作为数组的指针地址,或者一个
int32_t
的 Python 序列。
n_targets (uint32_t) – 目标位的数量。
controls (object) –
指向控制位的主机数组的指针。它可以是
一个
int
作为数组的指针地址,或者一个
int32_t
的 Python 序列。
control_bit_values (object) –
指向控制位值的主机数组的指针。它可以是
一个
int
作为数组的指针地址,或者一个
int32_t
的 Python 序列。
n_controls (uint32_t) – 控制位的数量。
extra_workspace (intptr_t) – 额外的工作区。
extra_workspace_size_in_bytes (size_t) – 额外的工作区大小。