Documentation

CsdLean4.LF6.BlochContraction

LF6-3/LF6-4: Bloch-volume contraction — the open-system drift, measured #

Category: LF6 (open-system / de-isolation dynamics).

The geometric signature that separates open from closed dynamics, on the two proved qubit dissipators. Closed (unitary) dynamics preserves state-space volume — the corpus carries that side as schrodinger_flow_kahler_symplectomorphism and fubiniStudyMeasure_smul_invariant. This module proves the open side: both canonical dissipators contract Bloch volume, at exactly the same rate e^{-2γt}, and the drift rate is the measurable decoherence rate.

Honest scope: the two exhibited dissipators only — the general-generator form of the volume-drift law waits on LF6-9's exponential-CP residual (Mathlib-scale, recorded there); the closed-side volume preservation is cited from the pure-state Kähler results, not re-proved at the density level. Cross-references: LF6/LindbladGenerator.lean (both channels are GKSL), LF5/ (the reduced-state framing), specs/future-work.md rows LF6-3/LF6-4.

Bloch coordinates #

noncomputable def CSD.LF6.blochX (ρ : Matrix (Fin 2) (Fin 2) ) :

Bloch x: the real part of the coherence sum.

Equations
Instances For
    noncomputable def CSD.LF6.blochY (ρ : Matrix (Fin 2) (Fin 2) ) :

    Bloch y: the rotated coherence difference.

    Equations
    Instances For
      noncomputable def CSD.LF6.blochZ (ρ : Matrix (Fin 2) (Fin 2) ) :

      Bloch z: the population difference.

      Equations
      Instances For
        noncomputable def CSD.LF6.blochVec (ρ : Matrix (Fin 2) (Fin 2) ) :
        Fin 3

        The Bloch vector.

        Equations
        Instances For

          The channel actions in Bloch form #

          theorem CSD.LF6.blochX_dephasing (γ t : ) (ρ : Matrix (Fin 2) (Fin 2) ) :
          blochX (dephasingChannel γ t ρ) = Real.exp (-(γ * t)) * blochX ρ
          theorem CSD.LF6.blochY_dephasing (γ t : ) (ρ : Matrix (Fin 2) (Fin 2) ) :
          blochY (dephasingChannel γ t ρ) = Real.exp (-(γ * t)) * blochY ρ
          theorem CSD.LF6.blochZ_dephasing (γ t : ) (ρ : Matrix (Fin 2) (Fin 2) ) :
          theorem CSD.LF6.blochX_damping (γ t : ) (ρ : Matrix (Fin 2) (Fin 2) ) :
          blochX (dampingChannel γ t ρ) = Real.exp (-(γ * t) / 2) * blochX ρ
          theorem CSD.LF6.blochY_damping (γ t : ) (ρ : Matrix (Fin 2) (Fin 2) ) :
          blochY (dampingChannel γ t ρ) = Real.exp (-(γ * t) / 2) * blochY ρ
          theorem CSD.LF6.blochZ_damping (γ t : ) (ρ : Matrix (Fin 2) (Fin 2) ) :
          blochZ (dampingChannel γ t ρ) = Real.exp (-(γ * t)) * blochZ ρ + (1 - Real.exp (-(γ * t))) * ρ.trace.re

          The damping z-action is affine: contraction toward the ground pole, with the offset weighted by the trace.

          The linear parts and the volume-drift law #

          noncomputable def CSD.LF6.blochLinearDephasing (γ t : ) :
          Matrix (Fin 3) (Fin 3)

          The dephasing Bloch superoperator: equatorial contraction, axis fixed.

          Equations
          Instances For
            noncomputable def CSD.LF6.blochLinearDamping (γ t : ) :
            Matrix (Fin 3) (Fin 3)

            The damping Bloch superoperator (linear part): equatorial contraction at half rate, axis contraction at full rate.

            Equations
            Instances For

              The dephasing Bloch action IS the linear map.

              theorem CSD.LF6.blochVec_damping (γ t : ) (ρ : Matrix (Fin 2) (Fin 2) ) :
              blochVec (dampingChannel γ t ρ) = (blochLinearDamping γ t).mulVec (blochVec ρ) + ((1 - Real.exp (-(γ * t))) * ρ.trace.re) ![0, 0, 1]

              The damping Bloch action is the linear map plus the trace-weighted pole offset.

              ★★ The dephasing volume-drift law: T2 contracts Bloch volume by exactly e^{-2γt} (equator² × fixed axis).

              ★★ The damping volume-drift law: T1 contracts Bloch volume by exactly the SAME e^{-2γt} (half-rate equator × full-rate axis) — the volume drift is a dissipation invariant, blind to how the contraction is distributed over axes.

              Metrology A4: the drift is the observable (LF6-4) #

              theorem CSD.LF6.bloch_volume_closed {γ t : } (h : γ * t = 0) :

              The closed case is drift-free: at γ·t = 0 the volume factor is 1.

              theorem CSD.LF6.bloch_volume_lt_one {γ t : } (h : 0 < γ * t) :

              Openness is detected: any γ·t > 0 strictly contracts the volume.

              theorem CSD.LF6.bloch_volume_decay_rate (γ : ) :
              HasDerivAt (fun (t : ) => (blochLinearDephasing γ t).det) (-(2 * γ)) 0

              The initial drift rate is the decoherence rate: the volume factor's derivative at t = 0 is exactly -2γ — measuring the drift measures γ.

              theorem CSD.LF6.volume_drift_determines_rate {γ₁ γ₂ t : } (ht : 0 < t) (h : (blochLinearDephasing γ₁ t).det = (blochLinearDephasing γ₂ t).det) :
              γ₁ = γ₂

              One drift sample identifies the rate: equal volume factors at any single t > 0 force equal γ — the drift is a faithful observable of the decoherence rate.