Empirical/QM: the controlled-error dilation of a mixed-unitary channel #
Category: 3-Local. QM-validity layer (matrix algebra over the K2 Channel / Stinespring
layer; no CSD content). BACKLOG #52, the generic half that #53 also needs.
A mixed-unitary channel ρ ↦ ∑ₖ qₖ Eₖ ρ Eₖᴴ (unitary errors Eₖ with weights qₖ ≥ 0,
∑ qₖ = 1) is the environment marginal of one joint unitary on system ⊗ environment, the
environment being the finite set of error labels:
weightVec q = ∑ₖ √qₖ eₖis the unit environment vector carrying the weights, andweightRotation q e₀a unitary on the environment withR e₀ = weightVec q(Matrix.UnitaryGroup.exists_unitary_single_eq);blockDiagonal Eis the controlled error — applyEₖwhen the environment readseₖ— unitary because eachEₖis (blockDiagonal_conjTranspose_mul);controlledUnitary E q e₀ = blockDiagonal E · (1 ⊗ R), soU (ψ ⊗ e₀) = ∑ₖ √qₖ (Eₖ ψ) ⊗ eₖ(controlledUnitary_conjTranspose_mul);- ★
stinespringChannel_controlledUnitary— the mixed-unitary channelChannel.mixedUnitaryChannel E q(Kraus operators√qₖ Eₖ,CanonicalChannels.lean) is the Stinespring channel of the controlled unitary with the environment ready ine₀, as channels (krausBlock_controlledUnitary_embedEnv).
RegisterDilation.lean is the instance e = Fin 4, E = errorOp (the three-qubit single-error
channel); IndependentNoise.lean is the instance e = Fin 2 × Fin 2 × Fin 2, E = flipOp
(independent bit-flips); the Steane instance is Empirical/CSD/QEC/SteaneFlow.lean (BACKLOG #53,
2026-09-27).
Source #
Stinespring 1955; Nielsen–Chuang §8.2.3 (environmental models of noise).
The environment side: weights as a unit vector, and a unitary reaching it #
The environment amplitude vector ∑ₖ √qₖ eₖ.
Equations
- CSD.Empirical.QM.QEC.weightVec q = WithLp.toLp 2 fun (k : e) => ↑√(q k)
Instances For
A unitary on the environment taking the ready vector e₀ to weightVec q.
Equations
- CSD.Empirical.QM.QEC.weightRotation q hq0 hq1 e₀ = ↑(Classical.choose ⋯)
Instances For
The ready column of the rotation is the weight vector: R l e₀ = √qₗ.
The controlled error and the joint unitary #
The controlled error ⊕ₖ Eₖ is unitary when every Eₖ is.
The controlled unitary U = (⊕ₖ Eₖ) · (1 ⊗ R_q): rotate the environment into the weight
vector, then apply the error the environment names. U (ψ ⊗ e₀) = ∑ₖ √qₖ (Eₖ ψ) ⊗ eₖ. Index
(system, environment).
Equations
- CSD.Empirical.QM.QEC.controlledUnitary E q hq0 hq1 e₀ = Matrix.blockDiagonal E * Matrix.kroneckerMap (fun (x1 x2 : ℂ) => x1 * x2) 1 (CSD.Empirical.QM.QEC.weightRotation q hq0 hq1 e₀)
Instances For
The Stinespring identification #
Rotating the environment of a ready embedding: (1 ⊗ R) (ψ ⊗ e₀) = ψ ⊗ (R e₀).
The environment blocks of a controlled error with environment vector v: Eₖ weighted by
v k.
The environment blocks of U (· ⊗ e₀) are the Kraus operators √qₖ Eₖ.
★ The mixed-unitary channel is the Stinespring channel of the controlled unitary with a ready environment, as channels (equal Kraus families).