Commit f930897
Add Z3-based exact synthesis engine for Clifford encoding isometries (#740)
## Description
This PR expands the exact synthesis of encoding circuits.
It provides `synthesize_isometry_exact` for provably **gate-optimal**
and **depth-optimal** encoding
circuits for both **CSS and non-CSS** stabilizer codes, with symmetry
breaking,
two-qubit-gate bounding, timeouts, and result verification.
Previously, there was the functionality for depth-optimal synthesis of
CSS and non-CSS encoders and gate-optimal synthesis of CSS encoders.
This PR unifies the synthesis so that both objectives are available for
both cases.
> [!NOTE]
> This PR was prepared with AI assistance (Claude Opus 4.8 via Claude
Code); see
> the `Assisted-by:` commit footer. All changes were reviewed by the
author.
## Checklist
- [x] The pull request only contains commits that are focused and
relevant to this change.
- [x] I have added appropriate tests that cover the new/changed
functionality.
- [x] I have updated the documentation to reflect these changes.
- [x] The changes follow the project's style guidelines and introduce no
new warnings.
- [x] The changes are fully tested and pass the CI checks.
- [x] I have reviewed my own code changes.
**If PR contains AI-assisted content:**
- [x] I have disclosed the use of AI tools in the PR description as per
our [AI Usage
Guidelines](https://github.com/munich-quantum-toolkit/qecc/blob/main/docs/ai_usage.md).
- [x] AI-assisted commits include an `Assisted-by: [Model Name] via
[Tool Name]` footer.
- [x] I confirm that I have personally reviewed and understood all
AI-generated content, and accept full responsibility for it.
---------
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>1 parent 7d5a4b2 commit f930897
34 files changed
Lines changed: 7211 additions & 1002 deletions
File tree
- docs
- examples
- src/mqt/qecc
- circuit_synthesis
- exact
- codes
- tests/circuit_synthesis
- exact
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
47 | 47 | | |
48 | 48 | | |
49 | 49 | | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
50 | 54 | | |
51 | 55 | | |
52 | 56 | | |
| |||
241 | 245 | | |
242 | 246 | | |
243 | 247 | | |
244 | | - | |
245 | | - | |
246 | | - | |
247 | | - | |
248 | | - | |
249 | | - | |
250 | | - | |
251 | | - | |
252 | | - | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
253 | 251 | | |
254 | | - | |
255 | | - | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
256 | 255 | | |
257 | 256 | | |
258 | 257 | | |
| |||
0 commit comments