tqec
architecture#
This document is mainly targeted at developer wanting to contribute to the
tqec
library. It gives a high-level overview of the different pieces that compose
the tqec
library and how they interact with each other.
This is done by presenting each of the sub-modules and their main classes / methods
in the order in which they are used internally to go from a topological computation to
an instance of stim.Circuit
that can be executed on compatible hardware.
The below diagram provides a high-level overview of the dependencies between tqec
submodules. It is not 100% accurate, as for example the tqec.circuit
submodule
defines a few core data-structures that are used in tqec.plaquette
, but this is
the order in which the sub-modules will be covered here.
graph A[tqec.interop] --> B[tqec.computation] B --> E[tqec.compile] C[tqec.templates] --> E D[tqec.plaquette] --> E E --> F[tqec.circuit] F --> G[tqec.noise_models] G --> H[tqec.simulation]
tqec.interop
#
TODO
tqec.computation
#
TODO
tqec.compile
#
TODO
tqec.templates
#
TODO
tqec.plaquette
#
TODO
tqec.circuit
#
TODO
tqec.noise_models
#
TODO
tqec.simulation
#
TODO