structure
definition
TransferKernel
show as:
view math explainer →
open explainer
Generate a durable explainer page for this declaration.
open lean source
IndisputableMonolith.YM.Kernel on GitHub at line 9.
browse module
All declarations in this module, on Recognition.
explainer page
depends on
used by
formal source
6noncomputable section
7open Classical Complex
8
9structure TransferKernel (ι : Type) where
10 T : (ι → ℂ) →L[ℂ] (ι → ℂ)
11
12structure MatrixView (ι : Type) [Fintype ι] [DecidableEq ι] where
13 A : Matrix ι ι ℂ
14
15noncomputable def CLM.ofLM {ι : Type}
16 (L : (ι → ℂ) →ₗ[ℂ] (ι → ℂ)) : (ι → ℂ) →L[ℂ] (ι → ℂ) :=
17{ toLinearMap := L, cont := by exact ContinuousLinearMap.continuous _ }
18
19structure MatrixBridge (ι : Type) [Fintype ι] [DecidableEq ι]
20 (K : TransferKernel ι) (V : MatrixView ι) where
21 intertwine : K.T = CLM.ofLM (Matrix.toLin' V.A)
22
23def KernelHasMatrixView (ι : Type) [Fintype ι] [DecidableEq ι]
24 (K : TransferKernel ι) (V : MatrixView ι) : Prop :=
25 Nonempty (MatrixBridge ι K V)
26
27noncomputable def buildKernelFromMatrix (ι : Type) [Fintype ι] [DecidableEq ι]
28 (V : MatrixView ι) : Σ K : TransferKernel ι, MatrixBridge ι K V :=
29by
30 let K : TransferKernel ι := { T := CLM.ofLM (Matrix.toLin' V.A) }
31 exact ⟨K, { intertwine := rfl }⟩
32
33noncomputable def constantStochastic3x3 : MatrixView (Fin 3) :=
34{ A := fun _ _ => ((1/3 : ℝ) : ℂ) }
35
36noncomputable def kernel3x3_with_bridge :
37 Σ K : TransferKernel (Fin 3), MatrixBridge (Fin 3) K constantStochastic3x3 :=
38 buildKernelFromMatrix (ι := Fin 3) constantStochastic3x3
39