QuasiDistribution
qiskit.result.QuasiDistribution(data, shots=None, stddev_upper_bound=None)
GitHub(opens in a new tab)
Bases: dict
(opens in a new tab)
A dictlike class for representing quasiprobabilities.
Builds a quasiprobability distribution object.
The quasiprobability values might include floatingpoint errors. QuasiDistribution.__repr__
rounds using numpy.round()
and the parameter ndigits
can be manipulated with the class attribute __ndigits__
. The default is 15
.
Parameters

data (dict(opens in a new tab)) –
Input quasiprobability data. Where the keys represent a measured classical value and the value is a float for the quasiprobability 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(opens in a new tab)) – Number of shots the distribution was derived from.

stddev_upper_bound (float(opens in a new tab)) – An upper bound for the standard deviation
Raises
 TypeError(opens in a new tab) – If the input keys are not a string or int
 ValueError(opens in a new tab) – If the string format of the keys is incorrect
Attributes
stddev_upper_bound
Return an upper bound on standard deviation of expval estimator.
Methods
binary_probabilities
binary_probabilities(num_bits=None)
Build a quasiprobabilities dictionary with binary string keys
Parameters
num_bits (int(opens in a new tab)) – 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
clear
clear() → None. Remove all items from D.
copy
copy() → a shallow copy of D
fromkeys
fromkeys(value=None, /)
Create a new dictionary with keys from iterable and values set to value.
get
get(key, default=None, /)
Return the value for key if key is in the dictionary, else default.
hex_probabilities
hex_probabilities()
Build a quasiprobabilities dictionary with hexadecimal string keys
Returns
A dictionary where the keys are hexadecimal strings in the
format "0x1a"
Return type
items
items() → a setlike object providing a view on D's items
keys
keys() → a setlike object providing a view on D's keys
nearest_probability_distribution
nearest_probability_distribution(return_distance=False)
Takes a quasiprobability distribution and maps it to the closest probability distribution as defined by the L2norm.
Parameters
return_distance (bool(opens in a new tab)) – Return the L2 distance between distributions.
Returns
Nearest probability distribution. float: Euclidean (L2) distance of distributions.
Return type
Notes
Method from Smolin et al., Phys. Rev. Lett. 108, 070502 (2012).
pop
pop(k[, d]) → v, remove specified key and return the corresponding value.
If key is not found, default is returned if given, otherwise KeyError is raised
popitem
popitem()
Remove and return a (key, value) pair as a 2tuple.
Pairs are returned in LIFO (lastin, firstout) order. Raises KeyError if the dict is empty.
setdefault
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
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
values() → an object providing a view on D's values