LF3/Spinor: the detector-axis spinors #
Category: 3-Local (the local eigenbasis of σ·a).
Why this exists #
SingletDeisolationFlow.nudgedSinglet was documented as the singlet "transformed
by local basis rotations". That description is false, and the repository's own
proof shows why: inside singletJointEig_born,
inner ℂ singlet (singletJointEig s t a b) = (Real.sqrt (P_st a b s t) : ℂ)
so nudgedSinglet a b is the vector (√P_st)_{s,t} — all real, all
non-negative, every phase stripped. Local unitaries preserve Schmidt spectra
and ψ⁻ is maximally entangled, so a local-unitary image of ψ⁻ is maximally
entangled; but at a ⊥ b all four P_st = ¼, making nudgedSinglet = ½(1,1,1,1)
a product state. No local unitary does that.
The defect is in singletJointEig := (√P_st)⁻¹ • (Πˢ(a) ⊗ Πᵗ(b)) ψ⁻, which fixes
each basis vector's phase by projecting ψ⁻ itself: four independent phases,
where a product unitary supplies only separable ones (αₛ + βₜ).
This module builds the local eigenbasis that a genuine nudge-locality
statement needs. It sits in LF3 because every object here (DetectorSetting,
spinProj, pauliDot) is LF3's; the nudge theorem that consumes it belongs in
LF6. Nothing here depends on the old definition, and nothing here is claimed of
it.
Contents #
spinor s a— the units-eigenvector ofσ·a, defined by an explicit formula with a single case split at the pole1 + s·a_z = 0(where the eigenvector collapses to a basis vector).spinor_normSq— the spinor is a unit vector.- ★★
spinProj_eq_outer— the projector is its outer product. This is what carries the Born identity downstream: it givesΠˢ(a) ⊗ Πᵗ(b) = (u ⊗ w)(u ⊗ w)ᴴ, hence⟨ψ⁻, (Πˢ ⊗ Πᵗ) ψ⁻⟩ = |⟨u ⊗ w, ψ⁻⟩|².
References #
LF3/Setup.lean (spinProj, pauliDot, DetectorSetting);
LF6/SingletDeisolationFlow.lean (the object this replaces);
specs/c1-correction-plan.md §3b.
Preliminaries #
The z-component is bounded by one, from ‖a‖ = 1.
The detector-axis spinor #
The unnormalised s-eigenvector of σ·a: the first column of Πˢ(a)
scaled by 2. Its squared norm is 2(1 + s·a_z), so it is nonzero exactly away
from the pole.
Equations
Instances For
★ The division-free outer-product identity.
2(1 + s·a_z) · Πˢ(a)ᵢⱼ = rawᵢ · conj(rawⱼ). Away from the pole, dividing by the
positive scalar gives Πˢ(a) = u uᴴ.
The unit s-eigenvector of σ·a. Away from the pole it is spinorRaw
normalised; at the pole (1 + s·a_z = 0, forcing a = -s·ẑ) that vector
vanishes and Πˢ(a) = diag(0,1), so the eigenvector is e₁.
Equations
Instances For
The spinor is a unit vector, and the projector is its outer product #
★★ The projector is the spinor's outer product: Πˢ(a) = u uᴴ.
This is the lemma that carries the Born identity downstream: it gives
Πˢ(a) ⊗ Πᵗ(b) = (u ⊗ w)(u ⊗ w)ᴴ, hence
⟨ψ⁻, (Πˢ ⊗ Πᵗ) ψ⁻⟩ = |⟨u ⊗ w, ψ⁻⟩|².
The wing basis unitary #
The two spinors are the columns of a unitary. Completeness of the spin
projectors gives U Uᴴ = 1 in one step, with no orthogonality argument:
(U Uᴴ)ᵢⱼ = Σₛ (u_s)ᵢ conj((u_s)ⱼ) = Σₛ Πˢ(a)ᵢⱼ = δᵢⱼ.
The two signs, indexed by Fin 2.
Instances For
Completeness of the spin projectors: Π⁺(a) + Π⁻(a) = 1.
Summing the projectors over both signs.
The wing basis unitary. Columns are the two detector-axis spinors, so
conjugating by it is the change of basis into the σ·a eigenbasis.
Equations
- CSD.LF3.wingBasisUnitary a = Matrix.of fun (i k : Fin 2) => CSD.LF3.spinor (CSD.LF3.signOfFin k) a i
Instances For
★★ The wing basis matrix is unitary.
The wing basis unitary, as an element of the unitary group.
Equations
Instances For
The two-qubit product spinor #
The product spinor u_s(a) ⊗ w_t(b) on the two-qubit space.
Equations
- CSD.LF3.spinorPair s t a b p = CSD.LF3.spinor s a p.1 * CSD.LF3.spinor t b p.2
Instances For
★★ The joint projector is the outer product of the product spinor:
Πˢ(a) ⊗ Πᵗ(b) = (u ⊗ w)(u ⊗ w)ᴴ.