Compatibility and codimension of forward/reverse matrix restrictions
Lax342547.MixerCompatibility · concepts/Lax342547/MixerCompatibility.lean · lax-342547
No public endorsements yet.
Loading review…
Sign in with ORCIDNatural Language Statement
Lemma
The overlap calculation in Lemma 5.5: prescribing ZᵀL and LW imposes exactly the common ZᵀLW block of compatibility conditions when Z and W have independent columns. This statement includes zero column ranks.
Concept map
Evidence
This concept declares 2 statements. Each proof establishes one of them relative to its assumptions.
1 compatible_extensions proven
2 restrictions_codimension proven
Lean source view on GitHub
| 1 | import Mathlib.LinearAlgebra.Matrix.ToLin |
| 2 | import Mathlib.LinearAlgebra.FiniteDimensional.Lemmas |
| 3 | import Mathlib.LinearAlgebra.Dimension.Constructions |
| 4 | |
| 5 | /-! |
| 6 | --- |
| 7 | title: Compatibility and codimension of forward/reverse matrix restrictions |
| 8 | type: lemma |
| 9 | --- |
| 10 | The overlap calculation in Lemma 5.5: prescribing ZᵀL and LW imposes |
| 11 | exactly the common ZᵀLW block of compatibility conditions when Z and W |
| 12 | have independent columns. This statement includes zero column ranks. |
| 13 | -/ |
| 14 | |
| 15 | namespace Lax342547.MixerCompatibility |
| 16 | |
| 17 | variable {K I E F : Type} [Field K] [Fintype I] [Fintype E] [Fintype F] |
| 18 | |
| 19 | def restrictions (Z : Matrix I E K) (W : Matrix I F K) : |
| 20 | Matrix I I K →ₗ[K] Matrix E I K × Matrix I F K where |
| 21 | toFun L := (Z.transpose * L, L * W) |
| 22 | map_add' L M := by simp [Matrix.mul_add, Matrix.add_mul] |
| 23 | map_smul' c L := by simp [Matrix.mul_smul, Matrix.smul_mul] |
| 24 | |
| 25 | def compatibility (Z : Matrix I E K) (W : Matrix I F K) : |
| 26 | (Matrix E I K × Matrix I F K) →ₗ[K] Matrix E F K where |
| 27 | toFun p := p.1 * W - Z.transpose * p.2 |
| 28 | map_add' x y := by simp [Matrix.add_mul, Matrix.mul_add, add_sub_add_comm] |
| 29 | map_smul' c x := by simp [Matrix.smul_mul, Matrix.mul_smul, smul_sub] |
| 30 | |
| 31 | axiom compatible_extensions (Z : Matrix I E K) (W : Matrix I F K) |
| 32 | (hZ : Function.Injective Z.mulVec) (hW : Function.Injective W.mulVec) |
| 33 | (A : Matrix E I K) (B : Matrix I F K) : |
| 34 | (∃ L : Matrix I I K, Z.transpose * L = A ∧ L * W = B) ↔ A * W = Z.transpose * B |
| 35 | |
| 36 | axiom restrictions_codimension (Z : Matrix I E K) (W : Matrix I F K) |
| 37 | (hZ : Function.Injective Z.mulVec) (hW : Function.Injective W.mulVec) : |
| 38 | Module.finrank K (LinearMap.range (restrictions Z W)) + Fintype.card E * Fintype.card F = |
| 39 | Fintype.card E * Fintype.card I + Fintype.card I * Fintype.card F |
| 40 | |
| 41 | end Lax342547.MixerCompatibility |
| 42 |
Discussion
Ask a question or add context. Endorsements and structured flags are kept in the review panel above.
0 comments