deltakit.decode.LCDecoder#

class deltakit.decode.LCDecoder(circuit: Circuit | Circuit | str, parameters: dict[str, Any] | None = None, use_experimental_graph_method: bool = False, client: Client | None = None, num_observables: int | None = None)#

Bases: _CloudDecoder

Local Clustering Decoder (Cloud-based).

Parameters:
  • circuit (deltakit_circuit.Circuit | stim.Circuit | str) – Circuit to use to construct the decoder.

  • parameters (Optional[dict[str, Any]]) – Some decoders may require additional parameters. Please refer to decoder documentation.

  • use_experimental_graph_method (bool) – If enabled, the decoder tries to extract noise model from the experimental data.

  • client (Optional[Client]) – Client with which to perform operations.

  • num_observables (Optional[int]) – If provided, sets the number of observables in the decoder. If not provided, the number of observables is inferred from the circuit (if possible). This parameter is useful when the circuit uses non-standard STIM extensions to represent observables.

Raises:

NotImplementedError – When a method or attribute other than decode_batch_to_logical_flip is accessed.

Notes

Currently, only decode_batch_to_logical_flip is implemented; this class can be used with deltakit.decode.analysis.run_decoding_on_circuit, but not other decoder workflows.

This cloud-based decoder implements the Local Clustering Decoder algorithm (https://arxiv.org/abs/2411.10343).

Local Clustering Decoder (Cloud-based).

Parameters:
  • circuit (deltakit_circuit.Circuit | stim.Circuit | str) – Circuit to use to construct the decoder.

  • parameters (Optional[dict[str, Any]]) – Some decoders may require additional parameters. Please refer to decoder documentation.

  • use_experimental_graph_method (bool) – If enabled, the decoder tries to extract noise model from the experimental data.

  • client (Optional[Client]) – Client with which to perform operations.

  • num_observables (Optional[int]) – If provided, sets the number of observables in the decoder. If not provided, the number of observables is inferred from the circuit (if possible). This parameter is useful when the circuit uses non-standard STIM extensions to represent observables.

Methods#

LCDecoder.decode_batch_to_full_correction

Decodes a batch of syndrome bitstrings to full correction.

LCDecoder.decode_batch_to_logical_flip

The method decodes the batch of syndromes to boolean values.

LCDecoder.decode_to_full_correction

Decode a given syndrome and return the full correction as a collection of decoding edges.

LCDecoder.decode_to_logical_flip

Decode a given syndrome and return a flip boolean for each logical.