structure
definition
MatrixView
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 12.
browse module
All declarations in this module, on Recognition.
explainer page
depends on
used by
formal source
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
40end
41end YM
42end IndisputableMonolith