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 _get_top_readout_cube_qubits>, spatial_cube_top_readouts_builder=<function _get_top_readout_spatial_cube_qubits>, pipe_top_readouts_builder=<function _get_top_readout_pipe_qubits>, cube_bottom_stabilizers_builder=<function _get_bottom_stabilizer_cube_qubits>, spatial_cube_bottom_stabilizers_builder=<function _get_bottom_stabilizer_spatial_cube_qubits>, temporal_hadamard_includes_builder=<function _get_temporal_hadamard_includes_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