Skip to content

tsim.utils.encoder.TransversalEncoder

← Module overview

classTransversalEncodersource

tsim.utils.encoder.TransversalEncoder

Base class for transversal quantum error correction encoders.

Signature
class TransversalEncoder(n: int, encoding_qubit: int, encoding_program_text: str | None, stabilizer_generators: list[list[int]], observables: list[list[int]])

Parameters

NameTypeDescription
nint
encoding_qubitint
encoding_program_textstr | None
stabilizer_generatorslist[list[int]]
observableslist[list[int]]

Attributes

NameTypeDefaultDescription
nintn
encoding_qubitintencoding_qubit
circuit—tsim.Circuit()
used_qubitsset[int]set()
encoding_program_text—encoding_program_text
stabilizer_generators—stabilizer_generators
observables—observables

methodinitializesource

tsim.utils.encoder.TransversalEncoder.initialize

Signature
def initialize(program_text: str, encoding_program_text: str | None = None) -> None

Initialize state preparation and apply encoding circuit.

Apply the state preparation program for k qubits, then apply an encoding circuit to encode the state into n qubits.

Parameters

NameTypeDefaultDescription
program_textstrrequiredThe state preparation program for k qubits. Generally, this should be a simple program that prepares each of the k qubits in a single-qubit state.
encoding_program_textstr | NoneNoneAn encoding circuit for a single logical qubit. This should encode a single logical qubit at input `self.encoding_qubit` into a state of n qubits. If not provided, the encoder will use a noiseless default encoding.
source

methodencode_transversallysource

tsim.utils.encoder.TransversalEncoder.encode_transversally

def encode_transversally(program_text: str) -> None

Encode a program transversally by replacing physicalgates with transversal gates.

Transform a program on m qubits into a program on n * m qubits (consisting of n code blocks).

Parameters

NameTypeDescription
program_textstrThe program to encode transversally.
source

methoddiagramsource

tsim.utils.encoder.TransversalEncoder.diagram

def diagram(**kwargs={})

Return a timeline-svg diagram of the encoded circuit.

Parameters

NameTypeDefaultDescription
**kwargs—{}
source

methodencoding_flow_generatorssource

tsim.utils.encoder.TransversalEncoder.encoding_flow_generators

def encoding_flow_generators()

Return the Pauli flow generators for the encoding circuit.

source