deltakit.decode.analysis.GraphDecoderManager#

class deltakit.decode.analysis.GraphDecoderManager(noise_model: SequentialNoise[CodeT, ErrorT] | MonteCarloNoise[CodeT, ErrorT], decoder: GraphDecoder[HyperMultiGraph], decoding_graph: HyperMultiGraph | None = None, logicals: Sequence[AbstractSet[DecodingHyperEdge | int]] | None = None, reporters: List[BaseReporter] | None = None, metadata: Dict[str, str] | None = None, seed: int | None = None, batch_size: int = 10000)#

Bases: NoiseModelDecoderManager[AbstractSet[EdgeT], HyperMultiGraph, Tuple[bool, …], List[AbstractSet[EdgeT]], List[Tuple[bool, …]]]

Decoder manager for a graph decoder with an edge-based noise model. In this representation, an edge corresponds to a possible error event and the nodes of the edge correspond to the syndromes triggered by the error.

Methods#

GraphDecoderManager.clear_pool_manager

Configure pool workers to state of this decoder manager.

GraphDecoderManager.configure_pool

Configure pool workers to state of this decoder manager.

GraphDecoderManager.generate_single_error

Generate an error for a single shot of decoding.

GraphDecoderManager.get_reporter_results

Get aggregated data from the manager's internal state and all available reporters as a dict from string of data identifier to data.

GraphDecoderManager.reset

Reset all reporters and their aggregations.

GraphDecoderManager.run_batch_shots

Run multiple shots of decoding.

GraphDecoderManager.run_batch_shots_parallel

Run batch of shots in parallel using processes number of runners from pool.

GraphDecoderManager.run_single_shot

Run a single shot of decoding.