OAI/Topology/EilenbergGanea/UnitaryWords.lean
97 declarations, 0 contain sorry, 0 declared as axioms
- abbrev
OAI.EilenbergGanea.SU2line 18 - theorem
OAI.EilenbergGanea.quaternion_mem_unitary_iffline 20 - instance
OAI.EilenbergGanea.su2_compactSpaceline 30 - def
OAI.EilenbergGanea.circleQuaternionline 38 - theorem
OAI.EilenbergGanea.circleQuaternion_coeline 48 - theorem
OAI.EilenbergGanea.circleQuaternion_injectiveline 51 - theorem
OAI.EilenbergGanea.circleQuaternion_continuousline 58 - def
OAI.EilenbergGanea.wordMapline 62 - def
OAI.EilenbergGanea.exponentMatrixline 65 - def
OAI.EilenbergGanea.normalizeQuaternionline 74Source documentation
Radial normalization is only used on nonzero quaternions. The harmless value at zero makes it a total function without changing that domain.
def normalizeQuaternion (q : ℍ) : SU2 := by …
Mentions: OAI.EilenbergGanea.SU2
- theorem
OAI.EilenbergGanea.normalizeQuaternion_coe_of_ne_zeroline 81 - theorem
OAI.EilenbergGanea.normalizeQuaternion_coe_contDiffAtline 84 - theorem
OAI.EilenbergGanea.normalizeQuaternion_continuousAtline 92 - theorem
OAI.EilenbergGanea.normalizeQuaternion_unitaryline 96 - theorem
OAI.EilenbergGanea.freeGroup_lift_coe_contDiffAtline 104Source documentation
Smoothness of coefficient-free word evaluation follows directly by induction, using quaternion conjugation for unitary inverses.
theorem freeGroup_lift_coe_contDiffAt {D ι : Type*} [NormedAddCommGroup D] [NormedSpace ℝ D] (w : FreeGroup ι) (a : D) (x : D → ι → SU2) (hx : ∀ i, ContDiffAt ℝ ∞ (fun z => (x z i : ℍ)) a) : ContDiffAt ℝ ∞ (fun z => ((FreeGroup.lift (x z) w : SU2) : ℍ)) a := by …Mentions: OAI.EilenbergGanea.SU2
- def
OAI.EilenbergGanea.radialWordMapline 122 - theorem
OAI.EilenbergGanea.radialWordMap_normline 126 - theorem
OAI.EilenbergGanea.radialWordMap_contDiffAtline 132 - theorem
OAI.EilenbergGanea.radialWordMap_eq_one_iffline 140 - def
OAI.EilenbergGanea.radialCutoffline 160Source documentation
A conjugation-invariant smooth cutoff, zero near coordinate hyperplanes and one near the unit quaternion locus.
def radialCutoff {m : ℕ} (x : Fin m → ℍ) : ℝ := … - def
OAI.EilenbergGanea.smoothRadialWordMapline 163 - theorem
OAI.EilenbergGanea.radialCutoff_contDiffline 166 - theorem
OAI.EilenbergGanea.radialCutoff_nonnegline 173 - theorem
OAI.EilenbergGanea.radialCutoff_le_oneline 176 - theorem
OAI.EilenbergGanea.radialCutoff_eq_oneline 180 - theorem
OAI.EilenbergGanea.radialCutoff_eventually_zeroline 187 - theorem
OAI.EilenbergGanea.radialCutoff_eventually_oneline 196 - theorem
OAI.EilenbergGanea.smoothRadialWordMap_contDiffline 206 - theorem
OAI.EilenbergGanea.smoothRadialWordMap_eq_one_iffline 218 - theorem
OAI.EilenbergGanea.smoothRadialWordMap_eventuallyEqline 235 - def
OAI.EilenbergGanea.splitComplexline 247 - def
OAI.EilenbergGanea.radialAngularLinearline 255 - theorem
OAI.EilenbergGanea.radialAngularLinear_applyline 260 - theorem
OAI.EilenbergGanea.radialAngularLinear_detline 263 - def
OAI.EilenbergGanea.complexPolarChartline 274 - def
OAI.EilenbergGanea.complexRadialTorusline 276 - theorem
OAI.EilenbergGanea.normalize_complex_mul_expline 279 - theorem
OAI.EilenbergGanea.complexRadialTorus_chartline 290 - def
OAI.EilenbergGanea.complexDiagonalline 313Source documentation
The real derivative of multiplication by a unit complex tuple has determinant one.
def complexDiagonal (x : n → ℂ) : (n → ℂ) →L[ℝ] (n → ℂ) := …
- theorem
OAI.EilenbergGanea.complexDiagonal_applyline 316 - theorem
OAI.EilenbergGanea.complexDiagonal_detline 319 - theorem
OAI.EilenbergGanea.complexPolarChart_hasFDerivAtline 327 - theorem
OAI.EilenbergGanea.exp_radialAngularLinear_hasFDerivAtline 341 - theorem
OAI.EilenbergGanea.complexRadialTorus_differentiableAtline 349 - theorem
OAI.EilenbergGanea.complexRadialTorus_detline 367Source documentation
At every torus root, the radial extension has exactly determinant det B. The extra radial coordinates contribute the identity, not an additional sign.
theorem complexRadialTorus_det (B : Matrix n n ℤ) (x : n → ℂ) (hx : ∀ i, ‖x i‖ = 1) (hroot : ∀ i, ∏ j, x j ^ B i j = 1) : (fderiv ℝ (complexRadialTorus B) x).det = (B.det : ℝ) := by …Mentions: OAI.EilenbergGanea.complexRadialTorus
- def
OAI.EilenbergGanea.wordExponentsline 391 - theorem
OAI.EilenbergGanea.wordExponents_oneline 395 - theorem
OAI.EilenbergGanea.wordExponents_ofline 398 - theorem
OAI.EilenbergGanea.wordExponents_invline 402 - theorem
OAI.EilenbergGanea.wordExponents_mulline 406 - theorem
OAI.EilenbergGanea.freeGroup_lift_commutativeline 410 - def
OAI.EilenbergGanea.quaternionCoordinatesline 424 - theorem
OAI.EilenbergGanea.quaternionCoordinates_applyline 432 - theorem
OAI.EilenbergGanea.quaternionCoordinates_ofComplexline 435 - theorem
OAI.EilenbergGanea.norm_quaternion_ofComplexline 439 - def
OAI.EilenbergGanea.quaternionTupleCoordinatesline 445 - theorem
OAI.EilenbergGanea.quaternionTupleCoordinates_fixedline 456 - theorem
OAI.EilenbergGanea.quaternionTupleCoordinates_symm_fixedline 462 - def
OAI.EilenbergGanea.normalizeCircleline 467Source documentation
Circle normalization chosen compatibly with quaternion normalization.
def normalizeCircle (z : ℂ) : Circle := by …
- theorem
OAI.EilenbergGanea.normalizeCircle_coe_of_ne_zeroline 471 - theorem
OAI.EilenbergGanea.normalizeQuaternion_ofComplexline 474 - theorem
OAI.EilenbergGanea.wordMap_circleQuaternionline 491 - theorem
OAI.EilenbergGanea.radialWordMap_fixedline 504 - theorem
OAI.EilenbergGanea.quaternionCoordinates_conjComplexline 521 - theorem
OAI.EilenbergGanea.quaternionCoordinates_conjCircleline 528 - def
OAI.EilenbergGanea.quaternionConjugateline 534Source documentation
Ambient conjugation, compatible with the group operation on unit quaternions.
def quaternionConjugate (a : SU2) (q : ℍ) : ℍ := (a : ℍ) * q * star (a : ℍ)
Mentions: OAI.EilenbergGanea.SU2
- theorem
OAI.EilenbergGanea.quaternionConjugate_normline 536 - theorem
OAI.EilenbergGanea.quaternionConjugate_zeroline 541 - theorem
OAI.EilenbergGanea.quaternionConjugate_oneline 544 - theorem
OAI.EilenbergGanea.quaternionConjugate_smulline 547 - theorem
OAI.EilenbergGanea.quaternionConjugate_coeline 551 - theorem
OAI.EilenbergGanea.normalizeQuaternion_conjugateline 554 - theorem
OAI.EilenbergGanea.wordMap_conjugationline 567 - theorem
OAI.EilenbergGanea.radialWordMap_conjugationline 580 - theorem
OAI.EilenbergGanea.smoothRadialWordMap_conjugationline 588 - theorem
OAI.EilenbergGanea.complex_root_of_unity_normline 601 - theorem
OAI.EilenbergGanea.rootsOfUnity_isPGroupline 606 - theorem
OAI.EilenbergGanea.rootsOfUnity_exists_nonrealline 611 - theorem
OAI.EilenbergGanea.circle_exists_square_rootline 633 - def
OAI.EilenbergGanea.splitWordMapline 648 - theorem
OAI.EilenbergGanea.splitWordMap_contDiffline 652 - theorem
OAI.EilenbergGanea.quaternionTupleCoordinates_conjCircleline 657 - theorem
OAI.EilenbergGanea.splitWordMap_rotationline 670 - theorem
OAI.EilenbergGanea.splitWordMap_fixed_eventuallyline 691 - theorem
OAI.EilenbergGanea.splitWordMap_fixed_detline 710 - theorem
OAI.EilenbergGanea.splitWordMap_zero_iffline 726 - theorem
OAI.EilenbergGanea.splitWordMap_fixed_zero_iffline 738 - theorem
OAI.EilenbergGanea.splitWordMap_fixed_oneline 759 - theorem
OAI.EilenbergGanea.zpow_finite_sumline 771 - def
OAI.EilenbergGanea.torusMapline 778 - theorem
OAI.EilenbergGanea.torusMap_compline 782 - theorem
OAI.EilenbergGanea.torusMap_det_oneline 793 - theorem
OAI.EilenbergGanea.torusMap_kernel_pow_detline 798 - theorem
OAI.EilenbergGanea.circle_finite_pow_rootsline 804 - theorem
OAI.EilenbergGanea.torusMap_finite_kernelline 816 - theorem
OAI.EilenbergGanea.splitWordMap_fixed_finiteline 828 - theorem
OAI.EilenbergGanea.word_exists_regularization_nonzero_countline 854Source documentation
The signed-root noncancellation for the actual ambient quaternion word map, with no regularity assumed of the original word map.
theorem word_exists_regularization_nonzero_count {m : ℕ} (w : Fin m → FreeGroup (Fin m)) (hB : (exponentMatrix w).det ≠ 0) (K : Set ((Fin m → ℂ) × (Fin m → ℂ))) (hK : IsCompact K) (hKi : ∀ z : ℂ, ‖z‖ = 1 → ∀ q ∈ K, (q.1, z • q.2) ∈ K) (h1 : (1, 0) ∈ K) (L : Set ((Fin m → ℂ) × (Fin m → ℂ))) (hL : IsCompact L) (hKL : K ⊆ L) (ε : ℝ) (hε : 0 < ε) : ∃ g : ((Fin m → ℂ) × (Fin m → ℂ)) → ((Fin m → ℂ) × (Fin m → ℂ)), ContDiff ℝ ∞ g ∧ (∀ q ∈ L, ‖g q - splitWordMap w q‖ < ε) ∧ ∃ s : Finset ((Fin m → ℂ) × (Fin m → ℂ)), (∀ q, q ∈ s ↔ q ∈ K ∧ g q = 0) ∧ (∀ q ∈ s, (fderiv ℝ g q).det ≠ 0) ∧ …Mentions: OAI.EilenbergGanea.exponentMatrix, OAI.EilenbergGanea.splitWordMap