Extending a submodule basis by a quotient basis, indexed by Fin (m + n) #
Module.Basis.sumQuot combines a basis of a submodule p of V with a basis of V ⧸ p into a
basis of V indexed by a sum type. An induction on Module.finrank wants that basis indexed by
Fin (m + n) instead, so that the two blocks are picked out by Fin.castAdd and Fin.natAdd and
the resulting matrices are visibly block triangular.
This file records that reindexing together with the six equations locating the blocks: what the
basis is on each block, what the coordinates of a vector are there, and the two _of_mem variants
stated for an ambient vector known to lie in the submodule. It then computes the matrix, in this
basis, of an endomorphism preserving the submodule: its diagonal blocks are the matrices of the
restriction and of the induced endomorphism of the quotient, and its lower-left block vanishes. So
the matrix is upper (uni)triangular as soon as both diagonal blocks are.
Main definitions #
TauCeti.extensionBasis: theFin (m + n)-indexed basis ofVbuilt from a basis ofpand a basis ofV ⧸ p.
Main results #
TauCeti.extensionBasis_castAddandTauCeti.extensionBasis_natAdd_mkQ: the basis vectors on the two blocks.TauCeti.extensionBasis_repr_castAddandTauCeti.extensionBasis_repr_natAdd: the coordinates of a vector on the two blocks.TauCeti.extensionBasis_repr_castAdd_of_memandTauCeti.extensionBasis_repr_natAdd_of_mem: the same for an ambient vector known to lie in the submodule, whose second-block coordinates vanish.TauCeti.toMatrixAlgEquiv_extensionBasis_castAdd_castAdd,TauCeti.toMatrixAlgEquiv_extensionBasis_natAdd_castAddandTauCeti.toMatrixAlgEquiv_extensionBasis_natAdd_natAdd: the blocks of the matrix of an endomorphism preserving the submodule.TauCeti.toMatrixAlgEquiv_extensionBasis_isUpperTriangularandTauCeti.toMatrixAlgEquiv_extensionBasis_isUpperUnitriangular: that matrix is upper (uni)triangular when both of its diagonal blocks are.
Extend bases of a submodule and of its quotient to a basis of the ambient module, indexed by
Fin (m + n).
Equations
- TauCeti.extensionBasis p bp bq = (bp.sumQuot bq).reindex finSumFinEquiv
Instances For
On the first block, extensionBasis is the given basis of the submodule.
On the second block, extensionBasis lifts the given basis of the quotient.
The first-block coordinates of a vector of the submodule are its coordinates there.
Not a simp lemma: extensionBasis_repr_castAdd_of_mem is the simp normal form, matching how
Mathlib annotates Module.Basis.sumQuot_repr_inl and sumQuot_repr_inl_of_mem.
The second-block coordinates of a vector are the coordinates of its quotient class.
The first-block coordinates of an ambient vector lying in the submodule are its coordinates there.
A vector of the submodule has no second-block coordinates: this is the vanishing of the off-diagonal block.
Not a simp lemma: extensionBasis_repr_natAdd above already is, so this left-hand side is not in
simp normal form and marking it trips simpNF. Mathlib annotates its sumQuot counterparts the
same way — sumQuot_repr_inr is simp and sumQuot_repr_inr_of_mem is not.
In the basis extensionBasis p bp bq, the diagonal block of an endomorphism f preserving p
indexed by the basis bp of p is the matrix of the restriction of f to p.
In the basis extensionBasis p bp bq, the lower-left block of the matrix of an endomorphism
preserving p vanishes.
In the basis extensionBasis p bp bq, the diagonal block of an endomorphism f preserving p
indexed by the basis bq of V ⧸ p is the matrix of the endomorphism of V ⧸ p induced by
f.
If an endomorphism f preserves a submodule p and its restriction to p and the induced
endomorphism of V ⧸ p have upper-triangular matrices in the bases bp and bq, then the
matrix of f in the extension basis extensionBasis p bp bq is upper triangular.
If an endomorphism f preserves a submodule p and its restriction to p and the induced
endomorphism of V ⧸ p have upper-unitriangular matrices in the bases bp and bq, then the
matrix of f in the extension basis extensionBasis p bp bq is upper unitriangular.
Extend bases of the image of a submodule and of its quotient to a basis of a map's range.
Equations
- f.rangeExtensionBasis I hker bImage bQuot = TauCeti.extensionBasis (Submodule.map f.rangeRestrict I) bImage (bQuot.map (f.quotientEquivRangeQuotientMap I hker))
Instances For
The quotient block of the range extension basis is the transported quotient basis.
The image block of the range extension basis is the given image basis.