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
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