Architecture¶
MQT QECC combines a shared mathematical representation of quantum error-correcting codes with tools for circuit synthesis, state preparation, decoding, and compilation. This page describes the main representation layers and shows which parts of the toolkit currently build on them.
Typical Data Flow¶
A typical workflow starts with a code construction and passes that code to a specialized tool:
Construction → Code → Tool → Result
The result depends on the tool. For example, synthesis and state-preparation tools produce circuits, decoders produce corrections, and compilation tools produce transformed circuits or schedules.
Representation Layers¶
The shared QEC code model is assembled from layered mathematical building blocks:
Binary algebra
→ Symplectic vectors and vector spaces
→ Pauli-group elements
→ Stabilizer codes
→ CSS codes and specialized code families
Layer |
Main abstractions |
Responsibility |
|---|---|---|
1 |
NumPy arrays and |
Binary matrices and linear algebra over \(\mathbb{F}_2\). |
2 |
The binary symplectic vector space used to encode Pauli support and determine commutation relations. |
|
3 |
Signed Pauli operators, ordered collections of Pauli operators, and CSS-specific check matrices. |
|
4 |
Stabilizer generators and logical operators, together with syndrome, logical-operator, and code-equivalence operations. |
|
5 |
A specialization of |
|
6 |
|
Concrete code families or functions that construct instances of the shared code model from a small set of parameters. |
The layers describe a builds on relationship, not exclusively class inheritance.
Layer 3 carries the phase of a Pauli operator as an exponent rather than a sign bit, and layer 4 is where Hermiticity and the absence of \(-I\) are enforced. The Pauli conventions page spells out both, along with why combining rows of a signed tableau is not a mod-2 row operation.