Matrices #
This file contains basic results on matrices including bundled versions of matrix operators.
Implementation notes #
For convenience, Matrix m n α is defined as m → n → α, as this allows elements of the matrix
to be accessed with A i j. However, it is not advisable to construct matrices using terms of the
form fun i j ↦ _ or even (fun i j ↦ _ : Matrix m n α), as these are not recognized by Lean
as having the right type. Instead, Matrix.of should be used.
TODO #
Under various conditions, multiplication of infinite matrices makes sense. These have not yet been implemented.
Equations
Equations
Matrix.diagonal as an AddMonoidHom.
Equations
Instances For
Matrix.diagonal as a LinearMap.
Equations
Instances For
Matrix.diag as a LinearMap.
Equations
Instances For
Matrix.diagonal as a RingHom.
Equations
Instances For
The ring homomorphism α →+* Matrix n n α
sending a to the diagonal matrix with a on the diagonal.
Equations
Instances For
Equations
Matrix.diagonal as an AlgHom.
Equations
Instances For
Extracting entries from a matrix as an additive monoid homomorphism. Note this cannot be upgraded to a ring homomorphism, as it does not respect multiplication.
Equations
Instances For
Extracting entries from a matrix as a linear map. Note this cannot be upgraded to an algebra homomorphism, as it does not respect multiplication.
Equations
Instances For
Bundled versions of Matrix.map #
The AddMonoidHom between spaces of matrices induced by an AddMonoidHom between their
coefficients. This is Matrix.map as an AddMonoidHom.
Equations
Instances For
The LinearMap between spaces of matrices induced by a LinearMap between their
coefficients. This is Matrix.map as a LinearMap.
Equations
Instances For
The LinearEquiv between spaces of matrices induced by a LinearEquiv between their
coefficients. This is Matrix.map as a LinearEquiv.
Equations
Instances For
The RingHom between spaces of square matrices induced by a RingHom between their
coefficients. This is Matrix.map as a RingHom.
Equations
Instances For
The RingEquiv between spaces of square matrices induced by a RingEquiv between their
coefficients. This is Matrix.map as a RingEquiv.
Equations
Instances For
The AlgHom between spaces of square matrices induced by an AlgHom between their
coefficients. This is Matrix.map as an AlgHom.
Equations
Instances For
The AlgEquiv between spaces of square matrices induced by an AlgEquiv between their
coefficients. This is Matrix.map as an AlgEquiv.
Equations
Instances For
For any algebra α over a ring R, we have an R-algebra isomorphism
Matₙₓₙ(αᵒᵖ) ≅ (Matₙₓₙ(R))ᵒᵖ given by transpose. If α is commutative,
we can get rid of the ᵒᵖ in the left-hand side, see Matrix.transposeAlgEquiv.
Equations
Instances For
A version of Set.matrix for AddSubmonoids.
Given an AddSubmonoid S, S.matrix is the AddSubmonoid of matrices m
all of whose entries m i j belong to S.
Equations
Instances For
A version of Set.matrix for AddSubgroups.
Given an AddSubgroup S, S.matrix is the AddSubgroup of matrices m
all of whose entries m i j belong to S.
Equations
Instances For
A version of Set.matrix for Subsemirings.
Given a Subsemiring S, S.matrix is the Subsemiring of square matrices m
all of whose entries m i j belong to S.
Equations
Instances For
A version of Set.matrix for Subrings.
Given a Subring S, S.matrix is the Subring of square matrices m
all of whose entries m i j belong to S.
Equations
Instances For
A version of Set.matrix for Submodules.
Given a Submodule S, S.matrix is the Submodule of matrices m
all of whose entries m i j belong to S.
Equations
Instances For
Matrix.transpose as a LinearMap
Equations
Instances For
Matrix.transpose as a RingEquiv to the opposite ring
Equations
Instances For
Matrix.transpose as an AlgEquiv to the opposite ring