Documentation

CsdLean4.LF2.FlowChannel

Channels from Σ-flows: the density operator of a flowed preparation #

Category: 3-Local (W6 of specs/qit-chain-scoping.md; the CSD origin of the channels the QIT layer reasons about).

W3 (LF2/PreparationBarycenter.lean) made the density operator of a preparation the barycentre ∫ |rep ψ⟩⟨rep ψ| d(π_* μprep) of rank-one projectors along its projective law. This module follows that object along an ontic flow. If the flow Φ : Σ → Σ lifts a unitary U through the projection and the representative — |rep (π (Φ x))⟩⟨…| = U |rep (π x)⟩⟨…| Uᴴ — then:

The matrix-level inputs: barycenterMatrix_map (barycentre along a pushforward), barycenterMatrix_conj (covariance under a projector-level conjugation), barycenterMatrix_kronecker_of_ae (product preparations have Kronecker barycentres), embedEnv with embedEnv_conjTranspose_mul (isometry) and embedEnv_mul_mul_conjTranspose (E ρ Eᴴ = ρ ⊗ |e₀⟩⟨e₀|), outerProduct_toEuclideanLin (|U v⟩⟨U v| = U |v⟩⟨v| Uᴴ).

The lift hypothesis, and why it is not vacuous #

IsUnitaryLift D Φ rep U is stated at the projector level, so it is phase-free: rep is a choice of unit representative and two representatives of one ray differ by a phase the projector does not see. It follows from the vector-level lift (isUnitaryLift_of_vector) and — the corpus's actual shape — from π (Φ x) = U • π x for the projective action of a unitary, for any unit section rep (isUnitaryLift_of_smul). That is the projectable field of every KahlerOnticSetup (LF4/NonTrivialSetup.lean, unitaryFlowSetup) and the form of LF5's measurementFlow.

Honest scope #

⚠️ The survey row misdescribed the corpus. specs/qit-chain-scoping.md W6 called RecordLayer.IsJointLift "the lift of a unitary U_t on ℂᴺ ⊗ ℂᴱ". It is not: it is the pointer-arena stroke predicate (pointer agreement plus conserved rates and register). The corpus's flows-lifting-unitaries are the projective actions above; this module builds W6 on those and on the abstract SectorData interface, at the QM theorem's level of generality.

Mixed environments. traceRight_barycenter_flow takes the environment in a fixed unit vector e₀ (the LF5 apparatus ground state a₀). For a mixed environment state σ, stinespringChannelMixed is the finite Kraus family √λₖ · (env-blocks of U · embedEnv vₖ) over a spectral decomposition σ = ∑ₖ λₖ |vₖ⟩⟨vₖ| (isHermitian_eq_sum_eigenvalues_smul_outerProduct), with action ρ ↦ Tr_env (U (ρ ⊗ σ) Uᴴ) (stinespringChannelMixed_apply); and ★★ traceRight_barycenter_flow_prod is the CSD theorem for a product preparation μS ⊗ μE on a product sector: the environment state is then the barycentre of the environment preparation (barycenterMatrix_prod, Fubini), and the reduced flowed system state is that channel applied to the system's density operator.

The lift hypothesis, discharged for projective actions. IsUnitaryLift says the ontic flow projects to a unitary action through rep; for the corpus's KahlerOnticSetup flows it is a theorem for any unit section (isUnitaryLift_of_smul) and unconditional with the canonical measurable unit section Projectivization.unitSection (isUnitaryLift_unitSection, Mathlib/LinearAlgebra/Projectivization/UnitSection.lean); for an abstract SectorData it is what "the flow is the lift of U" means. Which unitary a given de-isolation flow lifts is the physics (LF5's vnUnitary for the von Neumann coupling; LF6/DecoherenceChannel.lean instantiates it).

Index generality. The theorems are over any finite index; the projective-action instance isUnitaryLift_of_smul is at Fin N because the corpus's projective unitary action (Mathlib/LinearAlgebra/Projectivization/Unitary.lean) is. A joint Fin N × Fin E sector is fed through it by reindexing (Fin N × Fin E ≃ Fin m, LF5's device): isUnitaryLift_of_reindex transports the lift along piLpCongrLeft, and LF6/MeasurementFlowChannel.lean applies it to LF5's measurementFlow (W6′).

References: specs/qit-chain-scoping.md (W6, W5); LF2/PreparationBarycenter.lean (W3); Mathlib/QuantumInfo/Stinespring.lean (Channel.ofIsometry, ofIsometry_apply); Mathlib/QuantumInfo/CanonicalChannels.lean (unitaryChannel); LF5/DilationFromFlow.lean (embedGround, vnDilationV); LF6/Decoherence.lean (decohereReduced, the instance in LF6/DecoherenceChannel.lean).

theorem CSD.LF2.entryFn_eq_outerProduct {ι : Type u_1} {Q : Type u_2} (rep : Q → EuclideanSpace ℂ ι) (j k : ι) (p : Q) :
entryFn rep j k p = outerProduct (rep p) j k

The entry function is the entry of the projector |rep p⟩⟨rep p|.

|U v⟩⟨U v| = U |v⟩⟨v| Uᴴ.

The barycentre under pushforward and under a lifted unitary #

theorem CSD.LF2.barycenterMatrix_map {ι : Type u_1} {Q : Type u_2} [MeasurableSpace Q] {Q' : Type u_3} [MeasurableSpace Q'] (rep : Q' → EuclideanSpace ℂ ι) (hrep_meas : Measurable rep) (f : Q → Q') (hf : Measurable f) (μ : MeasureTheory.Measure Q) :

The barycentre along a pushforward is the barycentre of the composed representative.

theorem CSD.LF2.barycenterMatrix_conj {ι : Type u_1} [Fintype ι] {Q : Type u_2} [MeasurableSpace Q] (rep rep' : Q → EuclideanSpace ℂ ι) (hrep_unit : ∀ (p : Q), ‖rep p‖ = 1) (hrep_meas : Measurable rep) (μ : MeasureTheory.Measure Q) [MeasureTheory.IsFiniteMeasure μ] (U : Matrix ι ι ℂ) (hlift : ∀ (p : Q), outerProduct (rep' p) = U * outerProduct (rep p) * U.conjTranspose) :

Covariance of the barycentre. If rep' is rep conjugated by U at the projector level (|rep' p⟩⟨rep' p| = U |rep p⟩⟨rep p| Uᴴ for every p), the barycentres are conjugate too.

theorem CSD.LF2.barycenterMatrix_kronecker_of_ae {Q : Type u_2} [MeasurableSpace Q] {n : Type u_3} {e : Type u_4} (rep : Q → EuclideanSpace ℂ (n × e)) (repS : Q → EuclideanSpace ℂ n) (σ : Matrix e e ℂ) (μ : MeasureTheory.Measure Q) (hprod : ∀ᵐ (p : Q) ∂μ, outerProduct (rep p) = Matrix.kroneckerMap (fun (x1 x2 : ℂ) => x1 * x2) (outerProduct (repS p)) σ) :
barycenterMatrix rep μ = Matrix.kroneckerMap (fun (x1 x2 : ℂ) => x1 * x2) (barycenterMatrix repS μ) σ

Product form. If the projector of rep is a.e. the Kronecker product of the projector of repS with a fixed projector σ, the barycentre is the Kronecker product B_S ⊗ σ.

theorem CSD.LF2.barycenterMatrix_congr_ae {ι : Type u_1} {Q : Type u_2} [MeasurableSpace Q] (rep rep' : Q → EuclideanSpace ℂ ι) (μ : MeasureTheory.Measure Q) (h : ∀ᵐ (p : Q) ∂μ, rep p = rep' p) :

The barycentre only sees the representative almost everywhere.

theorem CSD.LF2.barycenterMatrix_conj_self_of_ae {ι : Type u_1} [Fintype ι] {Q : Type u_2} [MeasurableSpace Q] [DecidableEq ι] (rep : Q → EuclideanSpace ℂ ι) (hrep_unit : ∀ (p : Q), ‖rep p‖ = 1) (hrep_meas : Measurable rep) (μ : MeasureTheory.Measure Q) [MeasureTheory.IsFiniteMeasure μ] (P : Matrix ι ι ℂ) (h : ∀ᵐ (p : Q) ∂μ, (Matrix.toEuclideanLin P) (rep p) = rep p) :

A preparation living in a subspace has its barycentre there. If the representative is a.e. fixed by a Hermitian projector-like matrix P (P (rep p) = rep p), the barycentre satisfies P B Pᴴ = B.

The ready-environment embedding and the Stinespring channel of a unitary #

def CSD.LF2.embedEnv (n : Type u_3) {e : Type u_4} [DecidableEq n] (e₀ : EuclideanSpace ℂ e) :
Matrix (n × e) n ℂ

The embedding ψ ↦ ψ ⊗ e₀ of the system into system ⊗ environment with the environment in the ready vector e₀, as a matrix: (embedEnv n e₀) (a, i) j = δ_{a j} · e₀ i.

Equations
Instances For
    theorem CSD.LF2.embedEnv_apply {n : Type u_3} {e : Type u_4} [DecidableEq n] (e₀ : EuclideanSpace ℂ e) (p : n × e) (j : n) :
    embedEnv n e₀ p j = if p.1 = j then e₀.ofLp p.2 else 0
    theorem CSD.LF2.embedEnv_conjTranspose_mul {n : Type u_3} {e : Type u_4} [Fintype n] [Fintype e] [DecidableEq n] (e₀ : EuclideanSpace ℂ e) (he₀ : ‖e₀‖ = 1) :
    (embedEnv n e₀).conjTranspose * embedEnv n e₀ = 1

    The embedding is an isometry when e₀ is a unit vector.

    theorem CSD.LF2.embedEnv_mul_mul_conjTranspose {n : Type u_3} {e : Type u_4} [Fintype n] [DecidableEq n] (e₀ : EuclideanSpace ℂ e) (ρ : Matrix n n ℂ) :
    embedEnv n e₀ * ρ * (embedEnv n e₀).conjTranspose = Matrix.kroneckerMap (fun (x1 x2 : ℂ) => x1 * x2) ρ (outerProduct e₀)

    Conjugating by the embedding tensors on the ready projector: E ρ Eᴴ = ρ ⊗ |e₀⟩⟨e₀|.

    noncomputable def CSD.LF2.stinespringChannel {n : Type u_3} {e : Type u_4} [Fintype n] [Fintype e] [DecidableEq n] [DecidableEq e] (U : Matrix (n × e) (n × e) ℂ) (hU : U.conjTranspose * U = 1) (e₀ : EuclideanSpace ℂ e) (he₀ : ‖e₀‖ = 1) :

    The Stinespring channel of a unitary with a ready environment: couple the system to the environment in e₀, evolve the joint by U, trace the environment out. Its Kraus operators are the environment blocks of the isometry U · embedEnv e₀ (Channel.ofIsometry).

    Equations
    Instances For
      theorem CSD.LF2.stinespringChannel_apply {n : Type u_3} {e : Type u_4} [Fintype n] [Fintype e] [DecidableEq n] [DecidableEq e] (U : Matrix (n × e) (n × e) ℂ) (hU : U.conjTranspose * U = 1) (e₀ : EuclideanSpace ℂ e) (he₀ : ‖e₀‖ = 1) (ρ : Matrix n n ℂ) :
      (stinespringChannel U hU e₀ he₀).apply ρ = (U * Matrix.kroneckerMap (fun (x1 x2 : ℂ) => x1 * x2) ρ (outerProduct e₀) * U.conjTranspose).traceRight

      The channel's action is ρ ↦ Tr_env (U (ρ ⊗ |e₀⟩⟨e₀|) Uᴴ).

      theorem CSD.LF2.outerProduct_embedEnv {n : Type u_3} {e : Type u_4} [Fintype n] [DecidableEq n] (e₀ : EuclideanSpace ℂ e) (ψ : EuclideanSpace ℂ n) :
      outerProduct ((Matrix.toEuclideanLin (embedEnv n e₀)) ψ) = Matrix.kroneckerMap (fun (x1 x2 : ℂ) => x1 * x2) (outerProduct ψ) (outerProduct e₀)

      Embedding the system vector with the ready environment tensors the projectors: |ψ ⊗ e₀⟩⟨ψ ⊗ e₀| = |ψ⟩⟨ψ| ⊗ |e₀⟩⟨e₀|.

      Channels from Σ-flows #

      def CSD.LF2.IsUnitaryLift {ι : Type u_1} [Fintype ι] {SigmaSpace : Type u_3} {P : Type u_4} {G : Type u_5} [MeasurableSpace SigmaSpace] [Nonempty SigmaSpace] [MeasurableSpace P] [Group G] [MulAction G SigmaSpace] [MulAction G P] [MulAction.IsPretransitive G P] (D : SectorData SigmaSpace P G) (Φ : SigmaSpace → SigmaSpace) (rep : P → EuclideanSpace ℂ ι) (U : Matrix ι ι ℂ) :

      A Σ-flow lifts a unitary through the representative, at the projector level: along the ontic flow Φ, the projector |rep (π x)⟩⟨rep (π x)| of the projected point is conjugated by U. Phase-free by construction (projectors do not see the phase of rep), and implied by the vector-level lift rep (π (Φ x)) = U (rep (π x)) (isUnitaryLift_of_vector) and by the projective form π (Φ x) = U • π x for a section rep (isUnitaryLift_of_smul).

      Equations
      Instances For
        theorem CSD.LF2.isUnitaryLift_of_vector {ι : Type u_1} [Fintype ι] {SigmaSpace : Type u_3} {P : Type u_4} {G : Type u_5} [MeasurableSpace SigmaSpace] [Nonempty SigmaSpace] [MeasurableSpace P] [Group G] [MulAction G SigmaSpace] [MulAction G P] [MulAction.IsPretransitive G P] (D : SectorData SigmaSpace P G) [DecidableEq ι] (Φ : SigmaSpace → SigmaSpace) (rep : P → EuclideanSpace ℂ ι) (U : Matrix ι ι ℂ) (h : ∀ (x : SigmaSpace), rep (D.π (Φ x)) = (Matrix.toEuclideanLin U) (rep (D.π x))) :
        IsUnitaryLift D Φ rep U

        The vector-level lift implies the projector-level lift.

        theorem CSD.LF2.IsUnitaryLift.iterate {ι : Type u_1} [Fintype ι] {SigmaSpace : Type u_3} {P : Type u_4} {G : Type u_5} [MeasurableSpace SigmaSpace] [Nonempty SigmaSpace] [MeasurableSpace P] [Group G] [MulAction G SigmaSpace] [MulAction G P] [MulAction.IsPretransitive G P] [DecidableEq ι] {D : SectorData SigmaSpace P G} {Φ : SigmaSpace → SigmaSpace} {rep : P → EuclideanSpace ℂ ι} {U : Matrix ι ι ℂ} (h : IsUnitaryLift D Φ rep U) (k : ℕ) :
        IsUnitaryLift D Φ^[k] rep (U ^ k)

        The lift of an iterate is the power. If the ontic flow Φ lifts U then k applications of Φ lift U ^ k: a circuit of k identical gates is the flow iterated k times.

        theorem CSD.LF2.barycenter_flow {ι : Type u_1} [Fintype ι] {SigmaSpace : Type u_3} {P : Type u_4} {G : Type u_5} [MeasurableSpace SigmaSpace] [Nonempty SigmaSpace] [MeasurableSpace P] [Group G] [MulAction G SigmaSpace] [MulAction G P] [MulAction.IsPretransitive G P] (D : SectorData SigmaSpace P G) (μprep : MeasureTheory.Measure SigmaSpace) [MeasureTheory.IsProbabilityMeasure μprep] (Φ : SigmaSpace → SigmaSpace) (hΦ : Measurable Φ) (rep : P → EuclideanSpace ℂ ι) (hrep_unit : ∀ (p : P), ‖rep p‖ = 1) (hrep_meas : Measurable rep) (U : Matrix ι ι ℂ) (hlift : IsUnitaryLift D Φ rep U) :

        ★★ Closed system: the density operator of the flowed preparation is U ρ Uᴴ. If the ontic flow Φ lifts U, the barycentre of the flowed preparation Φ_* μprep is the barycentre of μprep conjugated by U — the Schrödinger-picture evolution of the density operator, derived from the ontic flow.

        theorem CSD.LF2.unitaryChannel_apply_barycenter {ι : Type u_1} [Fintype ι] {SigmaSpace : Type u_3} {P : Type u_4} {G : Type u_5} [MeasurableSpace SigmaSpace] [Nonempty SigmaSpace] [MeasurableSpace P] [Group G] [MulAction G SigmaSpace] [MulAction G P] [MulAction.IsPretransitive G P] (D : SectorData SigmaSpace P G) (μprep : MeasureTheory.Measure SigmaSpace) [MeasureTheory.IsProbabilityMeasure μprep] [DecidableEq ι] (Φ : SigmaSpace → SigmaSpace) (hΦ : Measurable Φ) (rep : P → EuclideanSpace ℂ ι) (hrep_unit : ∀ (p : P), ‖rep p‖ = 1) (hrep_meas : Measurable rep) (U : Matrix ι ι ℂ) (hU : U.conjTranspose * U = 1) (hlift : IsUnitaryLift D Φ rep U) :

        The closed-system statement as a channel: the unitary channel of U maps the density operator of the preparation to the density operator of the flowed preparation.

        theorem CSD.LF2.traceRight_barycenter_flow {SigmaSpace : Type u_3} {P : Type u_4} {G : Type u_5} [MeasurableSpace SigmaSpace] [Nonempty SigmaSpace] [MeasurableSpace P] [Group G] [MulAction G SigmaSpace] [MulAction G P] [MulAction.IsPretransitive G P] (D : SectorData SigmaSpace P G) (μprep : MeasureTheory.Measure SigmaSpace) [MeasureTheory.IsProbabilityMeasure μprep] {n : Type u_6} {e : Type u_7} [Fintype n] [Fintype e] [DecidableEq n] [DecidableEq e] (Φ : SigmaSpace → SigmaSpace) (hΦ : Measurable Φ) (rep : P → EuclideanSpace ℂ (n × e)) (hrep_unit : ∀ (p : P), ‖rep p‖ = 1) (hrep_meas : Measurable rep) (repS : P → EuclideanSpace ℂ n) (hrepS_meas : Measurable repS) (U : Matrix (n × e) (n × e) ℂ) (hU : U.conjTranspose * U = 1) (e₀ : EuclideanSpace ℂ e) (he₀ : ‖e₀‖ = 1) (hlift : IsUnitaryLift D Φ rep U) (hprod : ∀ᵐ (x : SigmaSpace) ∂μprep, outerProduct (rep (D.π x)) = Matrix.kroneckerMap (fun (x1 x2 : ℂ) => x1 * x2) (outerProduct (repS (D.π x))) (outerProduct e₀)) :

        ★★ The channel of a Σ-flow (open system). Let the joint sector carry a representative rep : P → ℂⁿ ⊗ ℂᵉ, let the preparation be a product with the environment in the ready vector e₀ (a.e., at the projector level, with system representative repS), and let the ontic flow Φ lift the unitary U. Then the reduced density operator of the flowed preparation is the Stinespring channel of U with ready environment e₀ applied to the density operator of the system preparation: Tr_env ρ(Φ_* μprep) = Φ_U(ρ_S(μprep)). The channel is produced by the Σ-flow; nothing about it is posited.

        theorem CSD.LF2.ae_outerProduct_kronecker_of_embed {SigmaSpace : Type u_3} {P : Type u_4} {G : Type u_5} [MeasurableSpace SigmaSpace] [Nonempty SigmaSpace] [MeasurableSpace P] [Group G] [MulAction G SigmaSpace] [MulAction G P] [MulAction.IsPretransitive G P] (D : SectorData SigmaSpace P G) (μprep : MeasureTheory.Measure SigmaSpace) {n : Type u_6} {e : Type u_7} [Fintype n] [DecidableEq n] (rep : P → EuclideanSpace ℂ (n × e)) (repS : P → EuclideanSpace ℂ n) (e₀ : EuclideanSpace ℂ e) (h : ∀ᵐ (x : SigmaSpace) ∂μprep, rep (D.π x) = (Matrix.toEuclideanLin (embedEnv n e₀)) (repS (D.π x))) :
        ∀ᵐ (x : SigmaSpace) ∂μprep, outerProduct (rep (D.π x)) = Matrix.kroneckerMap (fun (x1 x2 : ℂ) => x1 * x2) (outerProduct (repS (D.π x))) (outerProduct e₀)

        The product hypothesis in vector form: the joint representative is the system representative embedded with the ready environment, rep (π x) = repS (π x) ⊗ e₀, a.e. along the preparation.

        The projective unitary action lifts, for any unit section #

        theorem CSD.LF2.isUnitaryLift_of_smul {N : ℕ} {SigmaSpace : Type u_3} {G : Type u_4} [MeasurableSpace SigmaSpace] [Nonempty SigmaSpace] [MeasurableSpace (Projectivization ℂ (EuclideanSpace ℂ (Fin N)))] [Group G] [MulAction G SigmaSpace] [MulAction G (Projectivization ℂ (EuclideanSpace ℂ (Fin N)))] [MulAction.IsPretransitive G (Projectivization ℂ (EuclideanSpace ℂ (Fin N)))] (D : SectorData SigmaSpace (Projectivization ℂ (EuclideanSpace ℂ (Fin N))) G) (Φ : SigmaSpace → SigmaSpace) (U : ↥(Matrix.unitaryGroup (Fin N) ℂ)) (hproj : ∀ (x : SigmaSpace), D.π (Φ x) = U • D.π x) (rep : Projectivization ℂ (EuclideanSpace ℂ (Fin N)) → EuclideanSpace ℂ (Fin N)) (hrep_unit : ∀ (p : Projectivization ℂ (EuclideanSpace ℂ (Fin N))), ‖rep p‖ = 1) (hrep_ne : ∀ (p : Projectivization ℂ (EuclideanSpace ℂ (Fin N))), rep p ≠ 0) (hsec : ∀ (p : Projectivization ℂ (EuclideanSpace ℂ (Fin N))), Projectivization.mk ℂ (rep p) ⋯ = p) :
        IsUnitaryLift D Φ rep ↑U

        Non-vacuity of the lift hypothesis. If the flow projects to the projective action of a unitary U (π (Φ x) = U • π x, the projectable shape of every KahlerOnticSetup) and rep is a unit section of the projectivisation (mk (rep p) = p), then Φ lifts U at the projector level: two unit representatives of one ray differ by a phase, which the projector does not see.

        theorem CSD.LF2.isUnitaryLift_unitSection {N : ℕ} {SigmaSpace : Type u_3} {G : Type u_4} [MeasurableSpace SigmaSpace] [Nonempty SigmaSpace] [MeasurableSpace (Projectivization ℂ (EuclideanSpace ℂ (Fin N)))] [Group G] [MulAction G SigmaSpace] [MulAction G (Projectivization ℂ (EuclideanSpace ℂ (Fin N)))] [MulAction.IsPretransitive G (Projectivization ℂ (EuclideanSpace ℂ (Fin N)))] (D : SectorData SigmaSpace (Projectivization ℂ (EuclideanSpace ℂ (Fin N))) G) (Φ : SigmaSpace → SigmaSpace) (U : ↥(Matrix.unitaryGroup (Fin N) ℂ)) (hproj : ∀ (x : SigmaSpace), D.π (Φ x) = U • D.π x) :

        ★ The lift hypothesis is unconditional for the projective action. With the canonical measurable unit section Projectivization.unitSection as representative, every ontic flow that projects to the action of a unitary lifts it.

        A mixed environment: the Stinespring channel over a spectral decomposition #

        A Hermitian matrix is the sum of its eigenvalues times the projectors onto an orthonormal eigenbasis (the spectral theorem in projector form).

        theorem CSD.LF2.traceRight_sum {n : Type u_3} {e : Type u_4} [Fintype e] {κ : Type u_5} (s : Finset κ) (f : κ → Matrix (n × e) (n × e) ℂ) :
        (∑ k ∈ s, f k).traceRight = ∑ k ∈ s, (f k).traceRight
        theorem CSD.LF2.kronecker_sum_right {n : Type u_3} {e : Type u_4} {κ : Type u_5} (A : Matrix n n ℂ) (s : Finset κ) (f : κ → Matrix e e ℂ) :
        Matrix.kroneckerMap (fun (x1 x2 : ℂ) => x1 * x2) A (∑ k ∈ s, f k) = ∑ k ∈ s, Matrix.kroneckerMap (fun (x1 x2 : ℂ) => x1 * x2) A (f k)
        theorem CSD.LF2.ofReal_sqrt_mul_star {x : ℝ} (hx : 0 ≤ x) :
        ↑√x * star ↑√x = ↑x

        The square root of a non-negative real, as a complex number, squares to it under star.

        noncomputable def CSD.LF2.stinespringChannelMixed {n : Type u_3} {e : Type u_4} [Fintype n] [Fintype e] [DecidableEq n] [DecidableEq e] (U : Matrix (n × e) (n × e) ℂ) (hU : U.conjTranspose * U = 1) {σ : Matrix e e ℂ} (hσ : σ.PosSemidef) (hσ₁ : σ.trace = 1) :

        The Stinespring channel of a unitary with a mixed environment state σ. Couple the system to the environment in σ, evolve the joint by U, trace out the environment: ρ ↦ Tr_env (U (ρ ⊗ σ) Uᴴ). Its Kraus operators are √λₖ · (env-block i of U · embedEnv vₖ) over a spectral decomposition σ = ∑ₖ λₖ |vₖ⟩⟨vₖ|; the trace-preserving constraint is ∑ₖ λₖ = Tr σ = 1.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          theorem CSD.LF2.stinespringChannelMixed_apply {n : Type u_3} {e : Type u_4} [Fintype n] [Fintype e] [DecidableEq n] [DecidableEq e] (U : Matrix (n × e) (n × e) ℂ) (hU : U.conjTranspose * U = 1) {σ : Matrix e e ℂ} (hσ : σ.PosSemidef) (hσ₁ : σ.trace = 1) (ρ : Matrix n n ℂ) :
          (stinespringChannelMixed U hU hσ hσ₁).apply ρ = (U * Matrix.kroneckerMap (fun (x1 x2 : ℂ) => x1 * x2) ρ σ * U.conjTranspose).traceRight

          The mixed-environment channel's action is ρ ↦ Tr_env (U (ρ ⊗ σ) Uᴴ).

          Product preparations: the environment state is the barycentre of the environment #

          theorem CSD.LF2.barycenterMatrix_prod {n : Type u_3} {e : Type u_4} {QS : Type u_5} {QE : Type u_6} [MeasurableSpace QS] [MeasurableSpace QE] (rep : QS × QE → EuclideanSpace ℂ (n × e)) (repS : QS → EuclideanSpace ℂ n) (repE : QE → EuclideanSpace ℂ e) (hprod : ∀ (p : QS) (q : QE), outerProduct (rep (p, q)) = Matrix.kroneckerMap (fun (x1 x2 : ℂ) => x1 * x2) (outerProduct (repS p)) (outerProduct (repE q))) (μ : MeasureTheory.Measure QS) [MeasureTheory.SFinite μ] (ν : MeasureTheory.Measure QE) [MeasureTheory.SFinite ν] :
          barycenterMatrix rep (μ.prod ν) = Matrix.kroneckerMap (fun (x1 x2 : ℂ) => x1 * x2) (barycenterMatrix repS μ) (barycenterMatrix repE ν)

          Fubini for barycentres. If the joint projector is pointwise the Kronecker product of the system and environment projectors, the barycentre along a product measure is the Kronecker product of the two barycentres.

          theorem CSD.LF2.traceRight_barycenter_flow_prod {n : Type u_3} {e : Type u_4} [Fintype n] [Fintype e] [DecidableEq n] [DecidableEq e] {SigmaS : Type u_5} {SigmaE : Type u_6} {PS : Type u_7} {PE : Type u_8} {G : Type u_9} [MeasurableSpace SigmaS] [MeasurableSpace SigmaE] [Nonempty SigmaS] [Nonempty SigmaE] [MeasurableSpace PS] [MeasurableSpace PE] [Group G] [MulAction G (SigmaS × SigmaE)] [MulAction G (PS × PE)] [MulAction.IsPretransitive G (PS × PE)] (D : SectorData (SigmaS × SigmaE) (PS × PE) G) (πS : SigmaS → PS) (πE : SigmaE → PE) (hπS : Measurable πS) (hπE : Measurable πE) (hπ : D.π = Prod.map πS πE) (μS : MeasureTheory.Measure SigmaS) [MeasureTheory.IsProbabilityMeasure μS] (μE : MeasureTheory.Measure SigmaE) [MeasureTheory.IsProbabilityMeasure μE] (Φ : SigmaS × SigmaE → SigmaS × SigmaE) (hΦ : Measurable Φ) (rep : PS × PE → EuclideanSpace ℂ (n × e)) (hrep_unit : ∀ (p : PS × PE), ‖rep p‖ = 1) (hrep_meas : Measurable rep) (repS : PS → EuclideanSpace ℂ n) (repE : PE → EuclideanSpace ℂ e) (hrepE_unit : ∀ (q : PE), ‖repE q‖ = 1) (hrepE_meas : Measurable repE) (hprod : ∀ (p : PS) (q : PE), outerProduct (rep (p, q)) = Matrix.kroneckerMap (fun (x1 x2 : ℂ) => x1 * x2) (outerProduct (repS p)) (outerProduct (repE q))) (U : Matrix (n × e) (n × e) ℂ) (hU : U.conjTranspose * U = 1) (hlift : IsUnitaryLift D Φ rep U) :

          ★★ The channel of a Σ-flow with a mixed environment. The joint sector is a product Σ_sys × Σ_env → P_sys × P_env; the preparation is the product μS ⊗ μE of a system preparation and an environment preparation; the joint representative is the tensor of the two (projector level); the ontic flow Φ lifts the joint unitary U. Then the reduced density operator of the flowed preparation is the mixed-environment Stinespring channel — with environment state the barycentre of the environment preparation — applied to the density operator of the system preparation.

          Reindexing the lift #

          Transporting a vector along piLpCongrLeft e transports its projector along reindex e e.

          theorem CSD.LF2.reindex_mul_mul_conjTranspose {ι : Type u_3} {κ : Type u_4} [Fintype ι] [Fintype κ] (e : ι ≃ κ) (U A : Matrix ι ι ℂ) :

          reindex e e is multiplicative and commutes with ᴴ, so it respects conjugation.

          theorem CSD.LF2.isUnitaryLift_of_reindex {ι : Type u_3} {κ : Type u_4} [Fintype ι] [Fintype κ] {SigmaSpace : Type u_5} {P : Type u_6} {G : Type u_7} [MeasurableSpace SigmaSpace] [Nonempty SigmaSpace] [MeasurableSpace P] [Group G] [MulAction G SigmaSpace] [MulAction G P] [MulAction.IsPretransitive G P] (D : SectorData SigmaSpace P G) (Φ : SigmaSpace → SigmaSpace) (e : ι ≃ κ) (rep : P → EuclideanSpace ℂ ι) (U : Matrix ι ι ℂ) (h : IsUnitaryLift D Φ (fun (p : P) => (LinearIsometryEquiv.piLpCongrLeft 2 ℂ ℂ e) (rep p)) ((Matrix.reindex e e) U)) :
          IsUnitaryLift D Φ rep U

          The lift transports along a reindexing. If the representative on the reindexed space is the transport of rep, a lift of the reindexed unitary is a lift of the unitary.