Well-defined channel contractions on projected tensor spaces
Lax342547.TensorContractions · concepts/Lax342547/TensorContractions.lean · lax-342547
No public endorsements yet.
Loading review…
Sign in with ORCIDNatural Language Statement
Lemma
Two channel evaluation maps on the tensor factors determine a unique linear contraction on their matrix tensor space. Its value is independent of how the maps are extended to the ambient coefficient space.
Concept map
Evidence
Lean source view on GitHub
| 1 | import Lax342547.ProjectedPins |
| 2 | import Lax342547.ConcreteGeometry |
| 3 | import Mathlib.LinearAlgebra.Basis.VectorSpace |
| 4 | |
| 5 | /-! |
| 6 | --- |
| 7 | title: Well-defined channel contractions on projected tensor spaces |
| 8 | type: lemma |
| 9 | --- |
| 10 | Two channel evaluation maps on the tensor factors determine a unique |
| 11 | linear contraction on their matrix tensor space. Its value is independent |
| 12 | of how the maps are extended to the ambient coefficient space. |
| 13 | -/ |
| 14 | |
| 15 | namespace Lax342547.TensorContractions |
| 16 | |
| 17 | open Lax342547.MomentSpace Lax342547.ProjectedPins Lax342547.ConcreteGeometry |
| 18 | |
| 19 | variable {B H : Type} [Fintype B] [Fintype H] |
| 20 | |
| 21 | noncomputable def ambient (f g : (B → Binary) →ₗ[Binary] (H → Binary)) : |
| 22 | Matrix B B Binary →ₗ[Binary] Binary := by |
| 23 | classical |
| 24 | exact matrixPair (LinearMap.BilinForm.toMatrix' ((dotProductBilin Binary Binary).compl₁₂ f g)) |
| 25 | |
| 26 | noncomputable def extend {S : Submodule Binary (B → Binary)} (f : S →ₗ[Binary] (H → Binary)) : |
| 27 | (B → Binary) →ₗ[Binary] (H → Binary) := Classical.choose f.exists_extend |
| 28 | |
| 29 | def tensor {S T : Submodule Binary (B → Binary)} (v : S) (w : T) : tensorSpace S T := |
| 30 | ⟨Matrix.vecMulVec v.val w.val, Submodule.subset_span ⟨v.val, v.property, w.val, w.property, rfl⟩⟩ |
| 31 | |
| 32 | noncomputable def contraction {S T : Submodule Binary (B → Binary)} |
| 33 | (f : S →ₗ[Binary] (H → Binary)) (g : T →ₗ[Binary] (H → Binary)) : |
| 34 | tensorSpace S T →ₗ[Binary] Binary := |
| 35 | (ambient (extend f) (extend g)).comp (tensorSpace S T).subtype |
| 36 | |
| 37 | axiom ambient_outer (f g : (B → Binary) →ₗ[Binary] (H → Binary)) (v w : B → Binary) : |
| 38 | ambient f g (Matrix.vecMulVec v w) = dotProduct (f v) (g w) |
| 39 | |
| 40 | axiom contraction_outer {S T : Submodule Binary (B → Binary)} |
| 41 | (f : S →ₗ[Binary] (H → Binary)) (g : T →ₗ[Binary] (H → Binary)) (v : S) (w : T) : |
| 42 | contraction f g (tensor v w) = dotProduct (f v) (g w) |
| 43 | |
| 44 | axiom extension_agreement {S T : Submodule Binary (B → Binary)} |
| 45 | (f : S →ₗ[Binary] (H → Binary)) (g : T →ₗ[Binary] (H → Binary)) |
| 46 | (f' g' : (B → Binary) →ₗ[Binary] (H → Binary)) |
| 47 | (hf : f'.comp S.subtype = f) (hg : g'.comp T.subtype = g) (M : tensorSpace S T) : |
| 48 | contraction f g M = ambient f' g' M.val |
| 49 | |
| 50 | axiom contraction_unique {S T : Submodule Binary (B → Binary)} |
| 51 | (f : S →ₗ[Binary] (H → Binary)) (g : T →ₗ[Binary] (H → Binary)) |
| 52 | (c : tensorSpace S T →ₗ[Binary] Binary) |
| 53 | (hc : ∀ (v : S) (w : T), c (tensor v w) = dotProduct (f v) (g w)) : |
| 54 | c = contraction f g |
| 55 | |
| 56 | end Lax342547.TensorContractions |
| 57 |
Discussion
Ask a question or add context. Endorsements and structured flags are kept in the review panel above.
0 comments