qiskit-documentation/docs/api/qiskit/0.32/qiskit.ignis.verification.G...

124 lines
4.2 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

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: GraphDecoder
description: API reference for qiskit.ignis.verification.GraphDecoder
in_page_toc_min_heading_level: 1
python_api_type: class
python_api_name: qiskit.ignis.verification.GraphDecoder
---
# GraphDecoder
<Class id="qiskit.ignis.verification.GraphDecoder" isDedicatedPage={true} github="https://github.com/qiskit-community/qiskit-ignis/tree/stable/0.6/qiskit/ignis/verification/topological_codes/fitters.py" signature="GraphDecoder(code, S=None)" modifiers="class">
Bases: `object`
Class to construct the graph corresponding to the possible syndromes of a quantum error correction code, and then run suitable decoders.
**Parameters**
* **code** (*RepitionCode*) The QEC Code object for which this decoder will be used.
* **S** (*retworkx.PyGraph*) Graph describing connectivity between syndrome elements. Will be generated automatically if not supplied.
**Additional information:**
The decoder for the supplied `code` is initialized by running `_make_syndrome_graph()`. Since this process can take some time, it is also possible to load in a premade `S`. However, if this was created for a differently defined `code`, it wont work properly.
## Methods
### get\_error\_probs
<Function id="qiskit.ignis.verification.GraphDecoder.get_error_probs" signature="GraphDecoder.get_error_probs(results)">
Generate probabilities of single error events from result counts.
**Parameters**
* **results** (*dict*) A results dictionary, as produced by the
* **method of the code.** (*process\_results*)
**Returns**
Keys are the edges for specific error events, and values are the calculated probabilities
**Return type**
dict
#### Additional information:
Uses results to estimate the probability of the errors that create the pairs of nodes specified by the edge. Calculation done using the method of Spitz, et al. [https://doi.org/10.1002/qute.201800012](https://doi.org/10.1002/qute.201800012)
</Function>
### get\_logical\_prob
<Function id="qiskit.ignis.verification.GraphDecoder.get_logical_prob" signature="GraphDecoder.get_logical_prob(results, algorithm='matching')">
**Parameters**
* **results** (*dict*) A results dictionary, as produced by the
* **method of the code.** (*process\_results*)
* **algorithm** (*str*) Choice of which decoder to use.
**Returns**
Dictionary of logical error probabilities for each of the encoded logical states whose results were given in the input.
**Return type**
dict
</Function>
### make\_error\_graph
<Function id="qiskit.ignis.verification.GraphDecoder.make_error_graph" signature="GraphDecoder.make_error_graph(string, subgraphs=None)">
**Parameters**
* **string** (*str*) A string describing the output from the code.
* **subgraphs** (*list*) Used when multiple, semi-independent graphs need
* **to created.** (*need*)
**Returns**
The subgraph(s) of S which corresponds to the non-trivial syndrome elements in the given string.
**Return type**
E
</Function>
### matching
<Function id="qiskit.ignis.verification.GraphDecoder.matching" signature="GraphDecoder.matching(string)">
**Parameters**
**string** (*str*) A string describing the output from the code.
**Returns**
**A string with corrected logical values,**
computed using minimum weight perfect matching.
**Return type**
str
#### Additional information:
This function can be run directly, or used indirectly to calculate a logical error probability with get\_logical\_prob
</Function>
### weight\_syndrome\_graph
<Function id="qiskit.ignis.verification.GraphDecoder.weight_syndrome_graph" signature="GraphDecoder.weight_syndrome_graph(results)">
Generate weighted syndrome graph from result counts.
**Parameters**
* **results** (*dict*) A results dictionary, as produced by the
* **method of the code.** (*process\_results*)
#### Additional information:
Uses results to estimate the probability of the errors that create the pairs of nodes in S. The edge weights are then replaced with the corresponding -log(p/(1-p).
</Function>
</Class>