qiskit-documentation/docs/api/qiskit/1.2/qiskit.result.QuasiDistribu...

170 lines
6.9 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: QuasiDistribution (v1.2)
description: API reference for qiskit.result.QuasiDistribution in qiskit v1.2
in_page_toc_min_heading_level: 1
python_api_type: class
python_api_name: qiskit.result.QuasiDistribution
---
# QuasiDistribution
<Class id="qiskit.result.QuasiDistribution" isDedicatedPage={true} github="https://github.com/Qiskit/qiskit/tree/stable/1.2/qiskit/result/distributions/quasi.py#L26-L154" signature="qiskit.result.QuasiDistribution(data, shots=None, stddev_upper_bound=None)" modifiers="class">
Bases: [`dict`](https://docs.python.org/3/library/stdtypes.html#dict "(in Python v3.13)")
A dict-like class for representing quasi-probabilities.
Builds a quasiprobability distribution object.
<Admonition title="Note" type="note">
The quasiprobability values might include floating-point errors. `QuasiDistribution.__repr__` rounds using `numpy.round()` and the parameter `ndigits` can be manipulated with the class attribute `__ndigits__`. The default is `15`.
</Admonition>
**Parameters**
* **data** ([*dict*](https://docs.python.org/3/library/stdtypes.html#dict "(in Python v3.13)"))
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*](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)")) Number of shots the distribution was derived from.
* **stddev\_upper\_bound** ([*float*](https://docs.python.org/3/library/functions.html#float "(in Python v3.13)")) An upper bound for the standard deviation
**Raises**
* [**TypeError**](https://docs.python.org/3/library/exceptions.html#TypeError "(in Python v3.13)") If the input keys are not a string or int
* [**ValueError**](https://docs.python.org/3/library/exceptions.html#ValueError "(in Python v3.13)") If the string format of the keys is incorrect
## Attributes
### stddev\_upper\_bound
<Attribute id="qiskit.result.QuasiDistribution.stddev_upper_bound">
Return an upper bound on standard deviation of expval estimator.
</Attribute>
## Methods
### binary\_probabilities
<Function id="qiskit.result.QuasiDistribution.binary_probabilities" github="https://github.com/Qiskit/qiskit/tree/stable/1.2/qiskit/result/distributions/quasi.py#L121-L137" signature="binary_probabilities(num_bits=None)">
Build a quasi-probabilities dictionary with binary string keys
**Parameters**
**num\_bits** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)")) 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](https://docs.python.org/3/library/stdtypes.html#dict "(in Python v3.13)")
</Function>
### clear
<Function id="qiskit.result.QuasiDistribution.clear" signature="clear() → None.  Remove all items from D." />
### copy
<Function id="qiskit.result.QuasiDistribution.copy" signature="copy() → a shallow copy of D" />
### fromkeys
<Function id="qiskit.result.QuasiDistribution.fromkeys" signature="fromkeys(value=None, /)">
Create a new dictionary with keys from iterable and values set to value.
</Function>
### get
<Function id="qiskit.result.QuasiDistribution.get" signature="get(key, default=None, /)">
Return the value for key if key is in the dictionary, else default.
</Function>
### hex\_probabilities
<Function id="qiskit.result.QuasiDistribution.hex_probabilities" github="https://github.com/Qiskit/qiskit/tree/stable/1.2/qiskit/result/distributions/quasi.py#L139-L146" signature="hex_probabilities()">
Build a quasi-probabilities dictionary with hexadecimal string keys
**Returns**
**A dictionary where the keys are hexadecimal strings in the**
format `"0x1a"`
**Return type**
[dict](https://docs.python.org/3/library/stdtypes.html#dict "(in Python v3.13)")
</Function>
### items
<Function id="qiskit.result.QuasiDistribution.items" signature="items() → a set-like object providing a view on D's items" />
### keys
<Function id="qiskit.result.QuasiDistribution.keys" signature="keys() → a set-like object providing a view on D's keys" />
### nearest\_probability\_distribution
<Function id="qiskit.result.QuasiDistribution.nearest_probability_distribution" github="https://github.com/Qiskit/qiskit/tree/stable/1.2/qiskit/result/distributions/quasi.py#L88-L119" signature="nearest_probability_distribution(return_distance=False)">
Takes a quasiprobability distribution and maps it to the closest probability distribution as defined by the L2-norm.
**Parameters**
**return\_distance** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.13)")) Return the L2 distance between distributions.
**Returns**
Nearest probability distribution. float: Euclidean (L2) distance of distributions.
**Return type**
[ProbDistribution](qiskit.result.ProbDistribution "qiskit.result.ProbDistribution")
**Notes**
Method from Smolin et al., Phys. Rev. Lett. 108, 070502 (2012).
</Function>
### pop
<Function id="qiskit.result.QuasiDistribution.pop" signature="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
</Function>
### popitem
<Function id="qiskit.result.QuasiDistribution.popitem" signature="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.
</Function>
### setdefault
<Function id="qiskit.result.QuasiDistribution.setdefault" signature="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.
</Function>
### update
<Function id="qiskit.result.QuasiDistribution.update" signature="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]
</Function>
### values
<Function id="qiskit.result.QuasiDistribution.values" signature="values() → an object providing a view on D's values" />
</Class>