pauli_expansion_view_compute_trace_with_expansion_view_backward_diff#

cuquantum.bindings.cupauliprop.pauli_expansion_view_compute_trace_with_expansion_view_backward_diff(
intptr_t handle,
intptr_t view1,
intptr_t view2,
int32_t take_adjoint1,
intptr_t cotangent_trace_significand,
intptr_t cotangent_trace_exponent,
intptr_t cotangent_expansion1,
intptr_t cotangent_expansion2,
intptr_t workspace,
intptr_t stream,
)[source]#

Computes the backward differentiation of the trace of two Pauli expansion views.

Parameters:
  • handle (intptr_t) – Library handle.

  • view1 (intptr_t) – First Pauli expansion view.

  • view2 (intptr_t) – Second Pauli expansion view.

  • take_adjoint1 (int32_t) – Whether or not the adjoint of the first view is taken when forming the trace. True (!= 0) if the adjoint is taken, false (0) otherwise.

  • cotangent_trace_significand (intptr_t) – Pointer to host-accessible memory holding the scalar cotangent of traceSignificand. The numerical type must match the data type of the views’ coefficients.

  • cotangent_trace_exponent (intptr_t) – Pointer to host-accessible memory holding the scalar cotangent of traceExponent. This argument is currently a dead branch for coefficient cotangents, since traceExponent presently carries no parameter dependence, though beware that this may change in the future. The numerical type is always double.

  • cotangent_expansion1 (intptr_t) – Output Pauli expansion populated with coefficient cotangents corresponding to view1. The numerical type must match the data type of the views’ coefficients.

  • cotangent_expansion2 (intptr_t) – Output Pauli expansion populated with coefficient cotangents corresponding to view2. The numerical type must match the data type of the views’ coefficients.

  • workspace (intptr_t) – Allocated workspace descriptor.

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