QuasiDistribution¶
- class QuasiDistribution(data, shots=None, stddev_upper_bound=None)[source]¶
Bases:
dict
A dict-like class for representing quasi-probabilities.
Builds a quasiprobability distribution object.
- Parameters
data (dict) –
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
shots (int) – Number of shots the distribution was derived from.
stddev_upper_bound (float) – An upper bound for the standard deviation
- Raises
TypeError – If the input keys are not a string or int
ValueError – If the string format of the keys is incorrect
Methods
Build a quasi-probabilities dictionary with binary string keys
Create a new dictionary with keys from iterable and values set to value.
Return the value for key if key is in the dictionary, else default.
Build a quasi-probabilities dictionary with hexadecimal string keys
Takes a quasiprobability distribution and maps it to the closest probability distribution as defined by the L2-norm.
If key is not found, d is returned if given, otherwise KeyError is raised
Remove and return a (key, value) pair as a 2-tuple.
Insert key with a value of default if key is not in the dictionary.
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]
Attributes
- stddev_upper_bound¶
Return an upper bound on standard deviation of expval estimator.