compile_block_graph#

tqec.compile.compile_block_graph(block_graph, convention=Convention(name='fixed_bulk', triplet=ConventionTriplet(cube_builder=<tqec.compile.specs.library.fixed_bulk.FixedBulkCubeBuilder object>, pipe_builder=<tqec.compile.specs.library.fixed_bulk.FixedBulkPipeBuilder object>, observable_builder=ObservableBuilder(cube_top_readouts_builder=<function build_cube_top_readout_qubits>, pipe_top_readouts_builder=<function <lambda>>, cube_bottom_stabilizers_builder=<function build_cube_bottom_stabilizer_qubits>, pipe_bottom_stabilizers_builder=<function build_pipe_bottom_stabilizer_qubits>, pipe_temporal_hadamard_builder=<function build_pipe_temporal_hadamard_qubits>))), observables='auto')[source]#

Compile a block graph.

Parameters:
  • block_graph (BlockGraph) – The block graph to compile.

  • convention (Convention) – convention used to generate the quantum circuits.

  • observables (list[CorrelationSurface] | Literal['auto'] | None) – correlation surfaces that should be compiled into observables and included in the compiled circuit. If set to "auto", the correlation surfaces will be automatically determined from the block graph. If a list of correlation surfaces is provided, only those surfaces will be compiled into observables and included in the compiled circuit. If set to None, no observables will be included in the compiled circuit.

Returns:

A TopologicalComputationGraph object that can be used to generate a stim.Circuit and scale easily.

Return type:

TopologicalComputationGraph