Skip to main content

HierarchicalTiledDecoder

Struct HierarchicalTiledDecoder 

Source
pub struct HierarchicalTiledDecoder { /* private fields */ }
Expand description

Recursive multi-scale decoder achieving O(d^{2-epsilon} polylog d) expected complexity for physical error rates below threshold.

The lattice is recursively partitioned into tiles. At each level, tiles are decoded independently and boundary corrections are merged. Because error chains cross tile boundaries with probability decaying exponentially in the tile side length, the merge cost is dominated by a sublinear fraction of the total work.

Implementations§

Source§

impl HierarchicalTiledDecoder

Source

pub fn new(tile_size: u32, num_levels: u32) -> Self

Create a new hierarchical tiled decoder.

  • tile_size – side length of base tiles (must be >= 2).
  • num_levels – number of recursive coarsening levels.
Source

pub fn complexity_bound( &self, code_distance: u32, physical_error_rate: f64, ) -> ComplexityBound

Provable complexity bound for a given code distance and error rate.

Trait Implementations§

Source§

impl SurfaceCodeDecoder for HierarchicalTiledDecoder

Source§

fn decode(&self, syndrome: &SyndromeData) -> Correction

Decode a syndrome and return the inferred correction.
Source§

fn name(&self) -> &str

Human-readable name for this decoder.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V