Placing a square matrix in the upper-left block of the next size #
A square matrix of size n becomes one of size n + 1 by putting it in the upper-left block and
filling the last row and column with those of the identity matrix. This file builds that map,
Matrix.blockSucc, and shows it is multiplicative, unital and injective, and that it leaves the
determinant unchanged while adding 1 to the trace.
The construction is written with Fin.snoc rather than as Matrix.fromBlocks M 0 0 1 reindexed
along finSumFinEquiv, because Fin (n + 1) is the index type the general linear groups and their
standard representations are stated over: a Fin n ⊕ Fin 1 presentation would have to be
reindexed away again at once.
TauCeti/LinearAlgebra/Matrix/GeneralLinearGroup/BlockSucc.lean deduces from this the block
inclusion TauCeti.glBlockSucc : GL (Fin n) k →* GL (Fin (n + 1)) k, the embedding that fixes
the last basis vector.
Main definitions #
Matrix.blockSucc: a square matrix placed in the upper-left block of the next size, with the last row and column of the identity matrix.Matrix.blockSuccMonoidHom: the same map, bundled as a monoid homomorphism. It is not additive: the last diagonal entry is1for everyM, soblockSucc 0is not0.
Main results #
Matrix.submatrix_blockSucc_castSucc: the upper-left block of the extension is the original matrix.Matrix.map_blockSucc: extending a matrix commutes with ring homomorphisms of its entries.Matrix.blockSucc_mulVec: the extended matrix acts on the firstncoordinates byMand fixes the last one.Matrix.transpose_blockSucc: extending a matrix commutes with transposing it, the last row and column of the identity matrix being exchanged with each other.Matrix.conjTranspose_blockSucc: the same for the conjugate transpose.Matrix.trace_blockSuccandMatrix.det_blockSucc: the trace grows by one and the determinant is unchanged.
Extending a matrix commutes with applying a ring homomorphism to its entries, since the
new entries 0 and 1 are preserved.
Extending a matrix commutes with transposing it: the last row and the last column of
Matrix.blockSucc M are those of the identity matrix, so transposing exchanges them with each
other and transposes the upper-left block. This is what carries orthogonality of a matrix to
orthogonality of its extension.
Extending a matrix commutes with taking its conjugate transpose, the last row and column being those of the identity matrix. This carries the contravariance of the conjugate transpose along the block inclusion.
Extending a product is the product of the extensions: the last row and column of
Matrix.blockSucc M are those of the identity matrix, so the extra index contributes only its own
diagonal entry. This is what makes Matrix.blockSuccMonoidHom and hence the block inclusion
TauCeti.glBlockSucc multiplicative.
The upper-left block embedding of matrices, bundled as a monoid homomorphism. It is unital
because the last row and column of Matrix.blockSucc M are those of the identity matrix, and for
the same reason it is not additive.
Instances For
Extending a matrix loses no information: Matrix.blockSucc is injective, because the
upper-left block of Matrix.blockSucc M is M. Use it to transfer an equation between extended
matrices back to the original size; TauCeti.glBlockSucc_injective is the group-level form.