Register subspaces #
The linear spaces of the conditionally linear machinery (blueprint sec:ps-cl, paper
linear.tex) are V = F^ι for a finite index type ι, and the subspaces that occur in it are
register subspaces: spans of subsets of the standard basis, hence determined by a set
S : Finset ι of coordinates (paper preliminaries.tex, "Register subspace"). This file fixes
the two pieces of vocabulary in which everything else is written.
MIPRE.CL.proj S : (ι → F) →ₗ[F] (ι → F)is the coordinate projection ontoV_Salong the complementary register subspaceV_{Sᶜ}: the paper'sx ↦ x^{V_S}.MIPRE.CL.RegLinear F Sis a linear map "onV_S", presented as an endomorphismLof the ambient space withproj S ∘ L ∘ proj S = L: it reads only the coordinates inSand writes only there. This is how the paper'sL₁ : V₁ → V₁andL_{k,u} : V_{k,u} → V_{k,u}are handled, and it makes the paper's shorthandx^{L} = L(x^{V_S})literallyL x(RegLinear.apply_proj).
Everything here is elementary; the point is to fix names and simp lemmas.
Coordinate projections #
The coordinate projection onto the register subspace V_S: it keeps the coordinates in
S and zeroes the others (the paper's x ↦ x^{V_S}, the projection onto V_S parallel to
V_{Sᶜ}).
Equations
Instances For
The register subspace V_S, as a submodule: the vectors vanishing outside S.
Equations
- MIPRE.CL.register S = (MIPRE.CL.proj S).range
Instances For
Linear maps on a register subspace #
A linear map on the register subspace V_S, presented as an endomorphism L of the
ambient space with proj S ∘ L ∘ proj S = L: it depends only on the coordinates in S, and its
values lie in V_S. This is the paper's L₁ : V₁ → V₁; the paper's shorthand
x^{L₁} = L₁(x^{V₁}) is then just L₁ x (RegLinear.apply_proj).
The underlying endomorphism of the ambient space.
Instances For
Equations
- MIPRE.CL.RegLinear.instFunLikeForall = { coe := fun (L : MIPRE.CL.RegLinear F S) => ⇑L.toLinearMap, coe_injective := ⋯ }
The values of L lie in V_S.
L reads only the coordinates in S: L(x^{V_S}) = L x.
The identity of V_S, which is proj S on the ambient space.
Equations
- MIPRE.CL.RegLinear.id S = { toLinearMap := MIPRE.CL.proj S, proj_comp_proj' := ⋯ }
Instances For
Compress an endomorphism of the ambient space to a map on V_S: proj S ∘ L ∘ proj S.
Equations
- MIPRE.CL.RegLinear.ofLinearMap S L = { toLinearMap := MIPRE.CL.proj S ∘ₗ L ∘ₗ MIPRE.CL.proj S, proj_comp_proj' := ⋯ }
Instances For
A map on V_S is a map on V_T whenever S ⊆ T.
Equations
- MIPRE.CL.RegLinear.castLE h L = { toLinearMap := L.toLinearMap, proj_comp_proj' := ⋯ }
Instances For
The sum of a map on V_S and a map on V_T, as a map on V_{S ∪ T}: their direct sum
when S and T are disjoint.
Equations
- L.directSum M = { toLinearMap := L.toLinearMap + M.toLinearMap, proj_comp_proj' := ⋯ }