sample_prob_array_sparse_compute#

cuquantum.bindings.custabilizer.sample_prob_array_sparse_compute(
intptr_t handle,
int64_t num_samples,
int64_t num_probs,
intptr_t probs,
uint64_t seed,
intptr_t nnz,
intptr_t column_indices,
intptr_t row_offsets,
intptr_t workspace,
size_t workspace_size,
intptr_t stream,
)[source]#

Sample Bernoulli random bits from a probability array and return a CSR matrix.

Parameters:
  • handle (intptr_t) – Library handle.

  • num_samples (int64_t) – Number of samples (rows / shots).

  • num_probs (int64_t) – Number of probabilities (columns).

  • probs (intptr_t) – Probability array of length num_probs (device-accessible pointer). Values should be in [0, 1]; out-of-range values are clamped, NaN is treated as 0.

  • seed (uint64_t) – Random seed.

  • nnz (intptr_t) – On input, capacity of column_indices. On output, number of non-zeros used (or required).

  • column_indices (intptr_t) – Output CSR column indices (device-accessible pointer), length at least *nnz on input.

  • row_offsets (intptr_t) – Output CSR row offsets (device-accessible pointer), length num_samples+1.

  • workspace (intptr_t) – Device-accessible workspace of at least the size returned by Prepare.

  • workspace_size (size_t) – Size of workspace in bytes.

  • stream (intptr_t) – CUDA stream.