Counts (qiskit_addon_sqd.counts
)¶
Functions for transforming counts dictionaries.
- counts_to_arrays(counts)[source]¶
Convert a counts dictionary into a bitstring matrix and a probability array.
- Parameters:
counts (dict[str, float | int]) – The counts dictionary to convert
- Returns:
A 2D array representing the sampled bitstrings. Each row represents a bitstring, and each element is a
bool
representation of the bit’s valueA 1D array containing the probability with which each bitstring was sampled
- Return type:
- generate_counts_uniform(num_samples, num_bits, rand_seed=None)[source]¶
Generate a bitstring counts dictionary of samples drawn from the uniform distribution.
- Parameters:
- Returns:
A dictionary mapping bitstrings of length
num_bits
to the number of times they were sampled.- Raises:
ValueError –
num_samples
andnum_bits
must be positive integers.- Return type:
- generate_counts_bipartite_hamming(num_samples, num_bits, *, hamming_right, hamming_left, rand_seed=None)[source]¶
Generate a bitstring counts dictionary with specified bipartite hamming weight.
- Parameters:
num_samples (int) – The number of samples to draw
num_bits (int) – The number of bits in the bitstrings
hamming_right (int) – The hamming weight on the right half of each bitstring
hamming_left (int) – The hamming weight on the left half of each bitstring
rand_seed (Generator | int | None) – A seed for controlling randomness
- Returns:
A dictionary mapping bitstrings to the number of times they were sampled. Each half of each bitstring in the output dictionary will have a hamming weight as specified by the inputs.
- Raises:
ValueError –
num_bits
andnum_samples
must be positive integers.ValueError – Hamming weights must be specified as non-negative integers.
ValueError –
num_bits
must be even.
- Return type: