Skip to content

Add minimal Clifford-to-transvection decomposition - #9

Closed
marcusps wants to merge 4 commits into
masilv/clifford-to-pauli-exp-unphasedfrom
masilv/clifford-to-transvections-minimal
Closed

marcusps wants to merge 4 commits into
masilv/clifford-to-pauli-exp-unphasedfrom
masilv/clifford-to-transvections-minimal

Conversation

@marcusps

Copy link
Copy Markdown
Owner

Summary

  • Adds a strict-minimum transvection decomposition with r or r + 1 factors.
  • Uses complete memoized congruence-triangularization with lazy residue-space candidate generation.
  • Adds exact small-system minimality oracles, randomized reconstruction tests, documentation, and a worked notebook.

Reference

Builds on arXiv:2102.11380, while documenting and correcting its minimality criterion: the minimum is r exactly when the residue core is congruence-triangularizable, and r + 1 otherwise. The included note gives a machine-checked two-qubit counterexample to the paper’s broader claim.

Stack

Stack B, PR 2 of 2. Base: masilv/clifford-to-pauli-exp-unphased. Review and merge after Stack B PR 1; this stack is independent of Stack A.

marcusps and others added 4 commits July 3, 2026 21:29
Implement `clifford_to_transvections_minimal`, decomposing a Clifford into a
minimal-length ordered product of Clifford transvections (pi/4 Pauli exponents)
reproducing its symplectic action with r or r+1 factors (r = residue rank).

The core is an exact, complete congruence-triangularization of the residue form
E via memoized backtracking: the paper's forward-greedy pivot search is
incomplete at rank >= 5 (it can dead-end on a bad non-isotropic pivot even when
a triangularization exists), and its line-411 claim that every non-hyperbolic
form is triangularizable is incorrect. The r+1 branch appends a fix vector that
restores triangularizability at the same rank. Subspaces proven unsolvable are
memoized by canonical RREF key to keep the search tractable.

Add Python binding `CliffordUnitary.to_transvections_minimal`, .pyi stub, and
Rust + hypothesis tests (symplectic-action roundtrip, minimality bound r/r+1,
minimal <= greedy length). Track the regression seed for the previously-failing
n=4 case.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Document two issues found while implementing clifford_to_transvections_minimal:

1. The paper's claim that a non-hyperbolic symplectic map's residue matrix is
   always congruence-triangularizable (hence decomposes into exactly r
   transvections) is false over F2. The clean r/(r+1) dichotomy is Dieudonne's
   theorem (O'Meara, Symplectic Groups, Thm 2.1.11), stated only for F != F2;
   O'Meara's Sec 2.3 explicitly notes it fails over F2. We give a machine-checked
   2-qubit counterexample (residue rank 3, minimal length 4) and a census showing
   210 non-hyperbolic maps in Sp(4,2) require r+1.
2. Even when a triangularization exists, the forward-greedy pivot search is
   incomplete for r >= 5; fixed by complete memoized backtracking.

States the adopted criterion (min = r iff the residue core is
congruence-lower-triangularizable, else r+1) with honest caveats about exact
minimality for large m. All references verified against the sources.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Ensure the Clifford -> transvection decomposition (arXiv:2102.11380) is
referenced across docs, READMEs, and examples:

- Add a runnable Jupyter example
  (bindings/python/examples/clifford-transvection-decomposition.ipynb) showing
  greedy vs minimal decomposition, rebuild + symplectic-action verification, the
  r / r+1 factor count, and the non-hyperbolic r+1 case from the correction note.
- Reference the decomposition in paulimer/README.md (Clifford features +
  documentation list) and in the Python bindings README (feature bullet +
  quick-start snippet).
- Make this branch self-contained: rephrase the intra-doc links to
  clifford_to_pauli_exponents / to_pauli_exponents (which live on a separate
  branch) into plain text, so cargo doc builds standalone.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Generate residue-space candidates lazily without fixed-width masks, preventing eager exponential allocation and rank-64 shift overflow while preserving exhaustive search order. Document the exact search's remaining exponential time and memoization costs.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Co-authored-by: GPT-5.6 Sol <noreply@openai.com>
@marcusps

Copy link
Copy Markdown
Owner Author

Superseded by microsoft#119, targeting the upstream repository.

@marcusps marcusps closed this Jul 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant