mirror of
https://github.com/allaunthefox/SilverSight.git
synced 2026-08-20 13:27:29 +00:00
docs(research): spherical chiral CRT — labels on S²
The chiral implementation is positional on a sphere — labels live at (θ,φ) coordinates on S², and chiral crossings permute spherical positions. This is a ROTATION (not negation), which breaks the ring-automorphism invariance. The degree (winding number of the braid on S²) is the topological invariant connecting to HCMR's mixing rate: high degree = good mixing = low self-loop = high throughput Connections: - Dual quaternions: S³ rotations on S² - Rendering equation: hemisphere integral = half of S² - Observerless observer: rotational invariance on S² - HCMR: degree = mixing rate - (ω_i · n) = q-profile at each spherical position
This commit is contained in:
parent
62399d035d
commit
c22549d3de
1 changed files with 165 additions and 0 deletions
165
docs/research/SPHERICAL_CHIRAL_CRT.md
Normal file
165
docs/research/SPHERICAL_CHIRAL_CRT.md
Normal file
|
|
@ -0,0 +1,165 @@
|
||||||
|
# Spherical Chiral CRT: Labels on S²
|
||||||
|
|
||||||
|
**Status:** REFINEMENT — chiral positions are on a sphere, not flat
|
||||||
|
**Date:** 2026-07-04
|
||||||
|
**Depends on:** `CHIRAL_CRT_MULTIPLEXING.md`, `RENDERING_EQUATION_OBSERVERLESS.md`,
|
||||||
|
`DUAL_QUATERNION_SIDON_FILTER.md`, `pipeline_core.py`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 1. The Key Insight
|
||||||
|
|
||||||
|
The chiral implementation is **positional on a sphere**. Labels live at
|
||||||
|
specific (θ, φ) coordinates on S², not in a flat array. The chiral
|
||||||
|
crossing swaps which strand is at which **spherical position**.
|
||||||
|
|
||||||
|
This means:
|
||||||
|
1. The CRT moduli encode **geometric constraints at each spherical position**
|
||||||
|
(distance to corridor walls, angular position relative to corner, etc.)
|
||||||
|
2. The chiral permutation changes which label is at which spherical position
|
||||||
|
3. The **degree** (winding number of the braid on S²) is a topological
|
||||||
|
invariant that depends on the chiral configuration
|
||||||
|
4. The Sidon check operates on **spherical geometry**, not just flat CRT sums
|
||||||
|
|
||||||
|
## 2. Why This Breaks Chiral Invariance
|
||||||
|
|
||||||
|
The negation proof (CHIRAL_INVARIANCE_GENERALIZED.md) assumed flat CRT
|
||||||
|
embeddings where the chiral flip is x → -x mod L. On a sphere, the chiral
|
||||||
|
operation is a **rotation** (permutation of spherical positions), not a
|
||||||
|
negation. Rotations are NOT ring automorphisms of Z/LZ.
|
||||||
|
|
||||||
|
Specifically:
|
||||||
|
- Flat: chiral flip = negation (x → -x) — ring automorphism, Sidon-invariant
|
||||||
|
- Spherical: chiral = rotation of positions (label moves to different (θ,φ))
|
||||||
|
— NOT a ring automorphism, Sidon can change
|
||||||
|
|
||||||
|
The spherical positions have different geometric meanings:
|
||||||
|
- Position at (0, 0): near the inner wall (poloidal/identity, modulus L₀)
|
||||||
|
- Position at (π/2, 0): at the corner (transition, modulus L₁)
|
||||||
|
- Position at (π, 0): near the outer wall (toroidal/reflection, modulus L₂)
|
||||||
|
- Position at (0, π/2): angular offset (modulus L₃)
|
||||||
|
|
||||||
|
Different labels at different positions produce different CRT embeddings
|
||||||
|
because each position has a different modulus encoding a different
|
||||||
|
geometric constraint.
|
||||||
|
|
||||||
|
## 3. The Degree (Winding Number)
|
||||||
|
|
||||||
|
The braid on S² has a **degree** (winding number):
|
||||||
|
|
||||||
|
deg(γ) = (1/4π) ∮ (γ × γ') · dγ
|
||||||
|
|
||||||
|
where γ: [0,1] → S² is the braid trajectory.
|
||||||
|
|
||||||
|
The degree counts how many times the braid wraps around the sphere.
|
||||||
|
It's a topological invariant — invariant under continuous deformation,
|
||||||
|
but NOT invariant under chiral permutation (which changes the trajectory).
|
||||||
|
|
||||||
|
Connection to HCMR:
|
||||||
|
- Degree = mixing rate of the Markov chain on the sphere
|
||||||
|
- High degree = more wrapping = more mixing = lower self-loop
|
||||||
|
- Low degree = less wrapping = less mixing = higher self-loop
|
||||||
|
- Ring dispatch (degree = k) → self_loop = 0 (perfect mixing)
|
||||||
|
- AVX-512 (degree = 0) → self_loop = 0.885 (stuck, no wrapping)
|
||||||
|
|
||||||
|
## 4. Spherical CRT Embedding
|
||||||
|
|
||||||
|
Each label aᵢ is at a spherical position (θᵢ, φᵢ):
|
||||||
|
|
||||||
|
F(aᵢ) = (aᵢ mod L₀(θᵢ, φᵢ), S - aᵢ mod L₁(θᵢ, φᵢ), ...)
|
||||||
|
|
||||||
|
where Lⱼ(θ, φ) is a position-dependent modulus encoding the j-th
|
||||||
|
geometric constraint at position (θ, φ).
|
||||||
|
|
||||||
|
The chiral permutation σ swaps positions:
|
||||||
|
σ: (θᵢ, φᵢ) → (θ_{σ(i)}, φ_{σ(i)})
|
||||||
|
|
||||||
|
This changes which label pairs with which modulus, breaking the
|
||||||
|
ring-automorphism invariance.
|
||||||
|
|
||||||
|
## 5. Connection to Dual Quaternions
|
||||||
|
|
||||||
|
Unit quaternions live on S³ (the 3-sphere). A rotation on S² is:
|
||||||
|
|
||||||
|
R(q) = q · v · q⁻¹
|
||||||
|
|
||||||
|
where q ∈ S³ is a unit quaternion and v ∈ S² is the position.
|
||||||
|
|
||||||
|
The chiral permutation on S² corresponds to a rotation in S³:
|
||||||
|
|
||||||
|
σ ↔ q_σ ∈ S³
|
||||||
|
|
||||||
|
The dual quaternion product:
|
||||||
|
|
||||||
|
q_i ⊛ q_j = r_i · r_j + ε · (r_i · t_j + t_i · r_j)
|
||||||
|
|
||||||
|
where r_i, t_i are the rotation and translation quaternions at position i.
|
||||||
|
The spherical positions make r_i and t_i depend on (θᵢ, φᵢ), so the
|
||||||
|
chiral permutation changes the products non-trivially.
|
||||||
|
|
||||||
|
## 6. Connection to the Rendering Equation
|
||||||
|
|
||||||
|
The rendering equation integrates over the hemisphere (half of S²):
|
||||||
|
|
||||||
|
L_o = L_e + ∫_Ω f_r(ω_i, ω_o) L_i(ω_i) (ω_i · n) dω_i
|
||||||
|
|
||||||
|
The spherical chiral CRT is the DISCRETE version:
|
||||||
|
- Labels = sample points on S² (the hemisphere)
|
||||||
|
- CRT moduli = BRDF values at each sample point
|
||||||
|
- Chiral permutation = rearranging which sample point gets which label
|
||||||
|
- Sidon check = are all pairwise products distinct?
|
||||||
|
|
||||||
|
The (ω_i · n) factor is the q-profile at each spherical position —
|
||||||
|
the angle between the sample direction and the surface normal.
|
||||||
|
|
||||||
|
## 7. Implementation: Spherical Positions in pipeline_core.py
|
||||||
|
|
||||||
|
The Config structure needs spherical positions:
|
||||||
|
|
||||||
|
```python
|
||||||
|
@dataclass
|
||||||
|
class Config:
|
||||||
|
chiral: tuple # permutation of positions (not negation)
|
||||||
|
labels: tuple # Sidon labels (integers)
|
||||||
|
positions: tuple # (θ, φ) spherical coordinates per strand
|
||||||
|
S: int # reflection point
|
||||||
|
moduli: tuple # position-dependent CRT moduli
|
||||||
|
...
|
||||||
|
```
|
||||||
|
|
||||||
|
The _embed_chiral_positional function becomes:
|
||||||
|
|
||||||
|
```python
|
||||||
|
def _embed_chiral_positional(self, c):
|
||||||
|
# Permute positions (not labels) according to chiral config
|
||||||
|
permuted_positions = self._permute(c.positions, c.chiral)
|
||||||
|
embedded = []
|
||||||
|
for label, (theta, phi) in zip(c.labels, permuted_positions):
|
||||||
|
# Modulus depends on spherical position
|
||||||
|
L0 = position_to_modulus(theta, phi, axis=0)
|
||||||
|
L1 = position_to_modulus(theta, phi, axis=1)
|
||||||
|
row = [label % L0, (c.S - label) % L1]
|
||||||
|
embedded.append(row)
|
||||||
|
return embedded
|
||||||
|
```
|
||||||
|
|
||||||
|
## 8. claim_boundary
|
||||||
|
|
||||||
|
```
|
||||||
|
spherical-chiral-crt:positional-permutation:refinement
|
||||||
|
```
|
||||||
|
|
||||||
|
The chiral implementation is positional on S² — labels live at spherical
|
||||||
|
coordinates, and the chiral crossing permutes positions. This is a rotation,
|
||||||
|
NOT a negation, and breaks the ring-automorphism invariance.
|
||||||
|
|
||||||
|
The degree (winding number) of the braid on S² is the topological invariant
|
||||||
|
that connects to HCMR's mixing rate. High degree = good mixing = low
|
||||||
|
self-loop = high throughput.
|
||||||
|
|
||||||
|
The spherical structure connects to:
|
||||||
|
- Dual quaternions (S³ rotations on S²)
|
||||||
|
- Rendering equation (hemisphere integral)
|
||||||
|
- Observerless observer (rotational invariance on S²)
|
||||||
|
- HCMR (degree = mixing rate)
|
||||||
|
```
|
||||||
Loading…
Add table
Reference in a new issue