ProbDistribution
class ProbDistribution(data, shots=None)
Bases: dict
A generic dict-like class for probability distributions.
Builds a probability distribution object.
Parameters
-
data (dict) –
Input probability data. Where the keys represent a measured classical value and the value is a float for the probability of that result. The keys can be one of several formats:
- A hexadecimal string of the form
"0x4a"
- A bit string e.g.
'0b1011'
or"01011"
- An integer
- A hexadecimal string of the form
-
shots (int) – Number of shots the distribution was derived from.
Raises
- TypeError – If the input keys are not a string or int
- ValueError – If the string format of the keys is incorrect
Methods
binary_probabilities
ProbDistribution.binary_probabilities(num_bits=None)
Build a probabilities dictionary with binary string keys
Parameters
num_bits (int) – number of bits in the binary bitstrings (leading zeros will be padded). If None, the length will be derived from the largest key present.
Returns
A dictionary where the keys are binary strings in the format
"0110"
Return type
dict
clear
ProbDistribution.clear() → None. Remove all items from D.
copy
ProbDistribution.copy() → a shallow copy of D
fromkeys
ProbDistribution.fromkeys(value=None, /)
Create a new dictionary with keys from iterable and values set to value.
get
ProbDistribution.get(key, default=None, /)
Return the value for key if key is in the dictionary, else default.
hex_probabilities
ProbDistribution.hex_probabilities()
Build a probabilities dictionary with hexadecimal string keys
Returns
A dictionary where the keys are hexadecimal strings in the
format "0x1a"
Return type
dict
items
ProbDistribution.items() → a set-like object providing a view on D’s items
keys
ProbDistribution.keys() → a set-like object providing a view on D’s keys
pop
ProbDistribution.pop(k[, d]) → v, remove specified key and return the corresponding value.
If key is not found, d is returned if given, otherwise KeyError is raised
popitem
ProbDistribution.popitem()
Remove and return a (key, value) pair as a 2-tuple.
Pairs are returned in LIFO (last-in, first-out) order. Raises KeyError if the dict is empty.
setdefault
ProbDistribution.setdefault(key, default=None, /)
Insert key with a value of default if key is not in the dictionary.
Return the value for key if key is in the dictionary, else default.
update
ProbDistribution.update([E, ]**F) → None. Update D from dict/iterable E and F.
If E is present and has a .keys() method, then does: for k in E: D[k] = E[k] If E is present and lacks a .keys() method, then does: for k, v in E: D[k] = v In either case, this is followed by: for k in F: D[k] = F[k]
values
ProbDistribution.values() → an object providing a view on D’s values