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[Set[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[Set[EdgeT], HyperMultiGraph, tuple[bool, …], list[Set[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.