tqec.circuit.observable_qubits.observable_qubits_from_template#
- observable_qubits_from_template(template: Template, k: int, plaquettes: Sequence[Plaquette] | Mapping[int, Plaquette], orientation: TemplateOrientation = TemplateOrientation.HORIZONTAL) Sequence[tuple[GridQubit, int]] [source]#
Return the default observable qubits for the given template and its plaquettes.
- Parameters:
template – The template to get the default observable qubits from.
k – scaling parameter used to instantiate the provided template.
plaquettes – The plaquettes to use to get the accurate positions of the observable qubits.
orientation – Whether to get the observable qubits from the horizontal or vertical midline. Defaults to horizontal.
- Raises:
TQECException – If the number of plaquettes does not match the expected number.
TQECException – If the plaquettes are provided as a dictionary and 0 is in the keys.
TQECException – If the template does not have a definable midline.
- Returns:
The sequence of qubits and offsets for the observable qubits.