create_pauli_noise_channel_operator#

cuquantum.bindings.cupauliprop.create_pauli_noise_channel_operator(
intptr_t handle,
int32_t num_qubits,
qubit_indices,
probabilities,
) intptr_t[source]#

Creates a Pauli noise channel.

Parameters:
  • handle (intptr_t) – Library handle.

  • num_qubits (int32_t) – Number of qubits. Only 1 and 2 qubits are supported.

  • qubit_indices (object) –

    Qubit indices. It can be:

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

    • a Python sequence of int32_t.

  • probabilities (object) –

    Probabilities for each Pauli channel. For a single qubit Pauli Channel, the probabilities are an array of length 4: PauliKind((i)%4) (i.e. [p_I, p_X, p_Y, p_Z]). For a two qubit Pauli Channel, probabibilities is an array of length 16. The i-th element of the probabilities is associated with the i-th element of the 2-qubit Pauli strings in lexographic order. E.g. prob[i] corresponds to the Pauli string PauliKind((i)%4), PauliKind_t((i)/4). It can be:

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

    • a Python sequence of float.

Returns:

Quantum operator associated with the Pauli channel.

Return type:

intptr_t