The commutator decomposition: a small rotation is a commutator of two √ε rotations #
Category: 1-Mathlib (CSD-free; staged as a Mathlib-upstream candidate). BACKLOG #114, the third brick of #74's split.
#112 proved that a commutator of two near-identity unitaries is quadratically nearer the identity.
This file proves the converse direction the Solovay–Kitaev recursion needs: a rotation by a small
angle is such a commutator, with both factors O(√ε) from the identity. Together the two make
the iteration contract.
Everything runs on the quaternion product su2_mul, so the matrix work is real algebra.
What is proved #
- ★★★
exists_commutator_of_det_one— the target: every determinant-one unitary is a group commutator of two unitaries within√2·√‖U - 1‖of the identity, with the commutator exact. Read with #112's contraction, that is the Solovay-Kitaev step in both directions. The two factors are themselves determinant one (SU2Rotation.axisRot_det,det_conj_of_mem_unitary), which the construction always produced and the statement records since #116 — that is what lets the Solovay-Kitaev recursion re-enter itself on them; - ★★
norm_su2_sub_one— the distance to the identity is√(2 - 2w), wherewis the scalar part:star M * Mis a scalar forM = su2 w x y z - 1, so the C*-identity‖M‖² = ‖M⋆M‖gives the norm with no eigenvalue computation. For a rotation this is ★norm_axisRot_sub_one; - ★★★
skComm_eq— the exact commutator identity: forVthe rotation byφaboutx̂andWthe rotation byφaboutŷ,V W V⋆ W⋆ = su2 (1 - 2s⁴) (2cs³) (-2cs³) (2c²s²)withc = cos(φ/2),s = sin(φ/2). The scalar part is the angle relation — quartic ins, hence quadratic in the angle — and the rest is the axis, which depends onφ; - ★★
norm_skComm_sub_one=2sin²(φ/2), ★★★norm_skV_sub_one_le— the√2·√εbound — and ★★★exists_skComm_norm_eq: every distance in[0, 2]is realised exactly, at factor angle2 arcsin √(ε/2); - ★★
exists_su2_of_det_one— thesu2parametrisation is onto the determinant-one unitaries (the surjectivity #113 found missing): fordet U = 1the inverse is the adjugate and for a unitary it is the adjoint, so comparing them forcesU 1 1 = conj (U 0 0)andU 1 0 = -conj (U 0 1), which is exactly the shapesu2has; - ★★
su2_conj_pure— conjugating by aπ-rotation reflects the axis,v ↦ 2(m̂·v)m̂ - v, and ★★bisector_reflect— the bisector reflection swaps two vectors of equal length, so the axis can be moved anywhere except to its exact opposite. ★star_groupCommutatordisposes of that last case: the opposite axis belongs to the adjoint of the commutator, which is the same pair in the other order — no perpendicular-vector construction is needed anywhere; - ★★
norm_conj_sub_oneand ★★conj_groupCommutator— the transport: conjugation changes no distance to the identity, and a conjugate of a commutator is the commutator of the conjugates.
Honest scope #
⚠️ V and W are unitaries, not gate words. The commutator is exact and the factors are
rotations; nothing here expresses them in a generating set. That is the division of labour the
algorithm needs — the net (#113) supplies words, the recursion (#115) approximates these factors by
them — and it means this row alone implies no gate count.
⚠️ Determinant one, and 2 × 2. A general unitary needs a phase, exactly as in #81; nothing is
claimed for U(2) modulo phase here, and nothing in higher dimension.
⚠️ The constant is √2, and it is not claimed optimal. It comes from
sin(φ/4) ≤ sin(φ/2) = √(sin(θ/4)), which is lossy by design: the Solovay-Kitaev exponent does not
depend on it.
⚠️ The factor bound needs 0 ≤ φ ≤ π for the standard pair, which is where the sign analysis
(2c + 1)(c - 1) ≤ 0 holds; exists_skComm_norm_eq only ever produces angles in that range.
References: C. Dawson, M. Nielsen, The Solovay-Kitaev algorithm, Quantum Inf. Comput. 6 (2006) 81,
§4 (the group-commutator decomposition); M. Nielsen, I. Chuang, Quantum Computation and Quantum
Information, Appendix 3; SU2Rotation.lean (#80, su2, su2_mul, axisRot),
GroupCommutator.lean (#112); specs/BACKLOG.md #114, #74, #112, #113, #115, #116.
The quaternion conjugate, and the distance to the identity #
The commutator of two rotations about orthogonal axes #
The first factor of the standard pair: rotation by φ about x̂.
Equations
- QuantumInfo.SU2.skV φ = QuantumInfo.SU2.axisRot 1 0 0 φ
Instances For
The second factor of the standard pair: rotation by φ about ŷ.
Equations
- QuantumInfo.SU2.skW φ = QuantumInfo.SU2.axisRot 0 1 0 φ
Instances For
The group commutator of the standard pair. star is the inverse here, both factors being unit
quaternions.
Equations
Instances For
★★★ The exact commutator identity. With c = cos(φ/2) and s = sin(φ/2), the commutator of
the two standard rotations is the unit quaternion (1 - 2s⁴, 2cs³, -2cs³, 2c²s²).
The scalar part 1 - 2s⁴ is the angle relation — quartic in s, hence quadratic in the angle —
and the three vector components are the axis, which depends on φ and is not x̂, ŷ or their
cross product. Only su2_mul is used: the matrix work is quaternion algebra.
The square-root bound #
★★★ The factors are within √2·√ε of the identity, where ε is the commutator's own
distance. This is the half of Solovay-Kitaev that #112 does not give: not only is a commutator of
small things smaller, but the factors needed to produce a given smallness are only square-root
large.
★★★ Every distance in [0, 2] is realised by an exact commutator whose factors are
√2·√ε-close to the identity. The accuracy is attained exactly, not approached: the factors'
angle is 2 arcsin √(ε/2).
Every determinant-one unitary is a unit quaternion #
★★ The su2 parametrisation is onto the determinant-one unitaries. For det U = 1 the
inverse is the adjugate, and for a unitary it is the adjoint, so comparing the two gives
U 1 1 = conj (U 0 0) and U 1 0 = -conj (U 0 1) — which is exactly the shape su2 has.
This is the surjectivity #113 found missing.
Moving the axis: conjugation by a π-rotation reflects it #
★★ Conjugating by a π-rotation about m̂ reflects the vector part in m̂, fixing the
scalar part: v ↦ 2(m̂·v)m̂ − v. The π-rotation about m̂ is the pure unit quaternion
su2 0 m₁ m₂ m₃, and this is the whole conjugacy engine: a reflection in the bisector of two axes
swaps them.
★★ The bisector reflection swaps two vectors of equal length. No normalisation is needed: the same bisector works at any common length, which is what keeps the assembly free of axis arithmetic. The hypothesis is exactly that the two are not opposite.
Transport along a unitary conjugation #
★★ A conjugate of a commutator is the commutator of the conjugates, so a decomposition at
one axis transports to every unitary conjugate of it — and by norm_conj_sub_one the factors keep
their distances. This is the consumer for the missing same-angle conjugacy step.
★ The adjoint of a group commutator is the commutator of the same pair, swapped. This is what removes the antipodal case from the axis argument: an axis opposite the standard commutator's belongs to its adjoint, which is the same two factors in the other order.
The theorem: every determinant-one unitary is such a commutator #
★★★ #114's target: every determinant-one unitary is a group commutator of two unitaries that are only square-root far from the identity.
‖V - 1‖, ‖W - 1‖ ≤ √2·√‖U - 1‖, with the commutator exact. Read with #112's contraction this is
the Solovay-Kitaev step in both directions: the commutator of two δ-close unitaries is 2δ²-close,
and every ε-close unitary is the commutator of two √(2ε)-close ones.
The proof assembles the file: exists_su2_of_det_one writes U as a unit quaternion;
exists_skComm_norm_eq produces a standard-pair commutator at exactly the same distance, hence
(by norm_su2_sub_one) with the same scalar part; the vector parts then have the same length, so
bisector_reflect and su2_conj_pure rotate one onto the other unless they are opposite — and in
that case U is the adjoint of the commutator, which is the same pair in the other order.