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, a default value will be used. If keys are given as integers or strings with binary or hex prefix, the default value will be derived from the largest key present. If keys are given as bitstrings without prefix, the default value will be derived from the largest key length.
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