pauli_expansion_view_compute_operator_application#

cuquantum.bindings.cupauliprop.pauli_expansion_view_compute_operator_application(
intptr_t handle,
intptr_t view_in,
intptr_t expansion_out,
intptr_t quantum_operator,
int32_t adjoint,
int32_t make_sorted,
int32_t keep_duplicates,
int32_t num_truncation_strategies,
truncation_strategies,
intptr_t workspace,
)[source]#

Computes the application of a quantum operator to a Pauli expansion view.

Parameters:
  • handle (intptr_t) – Library handle.

  • view_in (intptr_t) – Pauli expansion view to apply a quantum operator to.

  • expansion_out (intptr_t) – Pauli expansion to be overwritten with the result. The output expansion will satisfy sortedness and uniqueness respectively if these flags have been set to true when creating or resetting the output expansion. Otherwise they may or may not be satisfied. Their state is queryable on the output expansion after this function call via cupaulipropPauliExpansionGetSortedness() and cupaulipropPauliExpansionGetUniqueness().

  • quantum_operator (intptr_t) – Quantum operator to be applied.

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

  • make_sorted (int32_t) – Whether or not the output expansion is required to be sorted.

  • 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.