cuquantum.custatevec.compute_expectations_on_pauli_basis

cuquantum.custatevec.compute_expectations_on_pauli_basis(intptr_t handle, intptr_t sv, int sv_data_type, uint32_t n_index_bits, intptr_t expectation_values, pauli_operators_array, uint32_t n_pauli_operator_arrays, basis_bits_array, n_basis_bits_array)[source]

Calculate expectation values for a batch of (multi-qubit) Pauli operators.

Parameters
  • handle (intptr_t) – the handle to the cuStateVec library.

  • sv (intptr_t) – state vector.

  • sv_data_type (int) – data type of the state vector.

  • n_index_bits (uint32_t) – the number of index bits of the state vector.

  • expectation_values (intptr_t) – pointer to a host array to store expectation values.

  • pauli_operators_array (object) –

    pointer to a host array of Pauli operator arrays. It can be:

    • an int as the pointer address to the nested sequence, or

    • a Python sequence of ints, each of which is a pointer address to a valid sequence, or

    • a nested Python sequence of _Pauli.

  • n_pauli_operator_arrays (uint32_t) – the number of Pauli operator arrays.

  • basis_bits_array (object) –

    host array of basis bit arrays. It can be:

    • an int as the pointer address to the nested sequence, or

    • a Python sequence of ints, each of which is a pointer address to a valid sequence, or

    • a nested Python sequence of int32_t.

  • n_basis_bits_array (object) –

    host array of the number of basis bits. It can be:

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

    • a Python sequence of uint32_t.