tqec.plaquette#

Defines all the necessary data-structures to represent a plaquette.

This package defines one of the core class of the tqec library: Plaquette. The Plaquette class represents what is commonly called a “plaquette” in quantum error correction and is basically a ScheduledCircuit instance representing the computation defining the plaquette.

Because we do not have a module to perform simple geometry operations on qubits (yet), the tqec.plaquette.qubit module is providing classes to represent the qubits a plaquette is applied to and perform some operations on them (e.g., get the qubits on a specific side of the plaquette).

Classes

FrozenDefaultDict([arg, default_factory])

A defaultdict implementation that cannot be mutated.

Plaquette(name, qubits, circuit[, ...])

Represents a QEC plaquette.

PlaquetteOrientation(value[, names, module, ...])

PlaquetteQubits(data_qubits, syndrome_qubits)

PlaquetteSide(value[, names, module, ...])

Plaquettes(collection)

Represent a collection of plaquettes that might be applied to a Template instance.

RG([r, g])

Organize the prep and meas bases for the ancilla, together with the meas time

RPNG(r, p, n, g)

Organize a single RPNG value

RPNGDescription(corners[, ancilla])

Organize the description of a plaquette in RPNG format

RepeatedPlaquettes(collection, repetitions)

Represent plaquettes that should be repeated for several rounds.

SquarePlaquetteQubits()