pauli_expansion_view_compute_operator_application_backward_diff#

cuquantum.bindings.cupauliprop.pauli_expansion_view_compute_operator_application_backward_diff(
intptr_t handle,
intptr_t view_in,
intptr_t cotangent_out,
intptr_t cotangent_in,
intptr_t quantum_operator,
int32_t adjoint,
int sort_order,
int32_t keep_duplicates,
int32_t num_truncation_strategies,
truncation_strategies,
intptr_t workspace,
intptr_t stream,
)[source]#

Computes the backward differentiation of operator application on a Pauli expansion view.

Parameters:
  • handle (intptr_t) – Library handle.

  • view_in (intptr_t) – Input Pauli expansion view (forward input).

  • cotangent_out (intptr_t) – Output cotangent represented as a Pauli expansion view.

  • cotangent_in (intptr_t) – Pauli expansion populated with the input cotangent.

  • quantum_operator (intptr_t) – Quantum operator whose adjoint buffer will be updated.

  • adjoint (int32_t) – Whether or not the adjoint of the quantum operator is applied. True (!= 0) if the adjoint is applied, false (0) otherwise.

  • sort_order (int) – Sort order to apply to the output expansion. Use CUPAULIPROP_SORT_ORDER_NONE if sorting is not required.

  • keep_duplicates (int32_t) – Whether or not the output expansion is allowed to contain duplicates.

  • num_truncation_strategies (int32_t) – Number of Pauli expansion truncation strategies.

  • truncation_strategies (object) –

    Pauli expansion truncation strategies. It can be:

    • an int as the pointer address to the array, or

    • a Python sequence of cupaulipropTruncationStrategy_t.

  • workspace (intptr_t) – Allocated workspace descriptor.

  • stream (intptr_t) – CUDA stream to be used for the operation.