Mₙ(R)-module structure on Mⁿ #
Main Results #
Matrix.Module.matrixModule: This instance showsι → Mis a module overMatrix ι ι R, and the action of it is a generalization ofMatrix.mulVec, this is only available in theMatrix.Modulenamespace.LinearMap.mapMatrixModule: This defines a linear map fromι → Mtoι → NoverMatrix ι ι Rinduced by a linear map fromMtoNand together withMatrix.matrixModuleit gives a functor from the category ofR-modules to the category ofMatrix ι ι R-modules.
Tags #
matrix, module
def
Matrix.Module.matrixModule
{ι : Type u_1}
{R : Type u_2}
{M : Type u_3}
[Ring R]
[Fintype ι]
[DecidableEq ι]
[AddCommGroup M]
[Module R M]
:
Mⁿ is a Mₙ(R) module, note that this creates a diamond when M is Matrix ι ι R or when
M is R.
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem
Matrix.Module.smul_def
{ι : Type u_1}
{R : Type u_2}
{M : Type u_3}
[Ring R]
[Fintype ι]
[DecidableEq ι]
[AddCommGroup M]
[Module R M]
(N : Matrix ι ι R)
(v : ι → M)
:
theorem
Matrix.Module.smul_def'
{ι : Type u_1}
{R : Type u_2}
{M : Type u_3}
[Ring R]
[Fintype ι]
[DecidableEq ι]
[AddCommGroup M]
[Module R M]
(N : Matrix ι ι R)
(v : ι → M)
:
@[simp]
theorem
Matrix.Module.smul_apply
{ι : Type u_1}
{R : Type u_2}
{M : Type u_3}
[Ring R]
[Fintype ι]
[DecidableEq ι]
[AddCommGroup M]
[Module R M]
(N : Matrix ι ι R)
(v : ι → M)
(i : ι)
:
theorem
Matrix.Module.instIsScalarTowerForall
{ι : Type u_1}
{R : Type u_2}
{M : Type u_3}
[Ring R]
[Fintype ι]
[DecidableEq ι]
[AddCommGroup M]
[Module R M]
(S : Type u_6)
[Ring S]
[SMul R S]
[Module S M]
[IsScalarTower R S M]
:
IsScalarTower R (Matrix ι ι S) (ι → M)
def
LinearMap.mapMatrixModule
(ι : Type u_1)
{R : Type u_2}
{M : Type u_3}
{N : Type u_4}
[Ring R]
[Fintype ι]
[DecidableEq ι]
[AddCommGroup M]
[Module R M]
[AddCommGroup N]
[Module R N]
(f : M →ₗ[R] N)
:
The induced linear map from Mⁿ to Nⁿ by a linear map f : M → N, this is the matrix linear
version of LinearMap.compLeft.
Equations
- LinearMap.mapMatrixModule ι f = { toFun := ⇑(f.compLeft ι), map_add' := ⋯, map_smul' := ⋯ }
Instances For
@[simp]
theorem
LinearMap.mapMatrixModule_apply
(ι : Type u_1)
{R : Type u_2}
{M : Type u_3}
{N : Type u_4}
[Ring R]
[Fintype ι]
[DecidableEq ι]
[AddCommGroup M]
[Module R M]
[AddCommGroup N]
[Module R N]
(f : M →ₗ[R] N)
(a : ι → M)
(a✝ : ι)
:
@[simp]
theorem
LinearMap.mapMatrixModule_id
{ι : Type u_1}
{R : Type u_2}
{M : Type u_3}
[Ring R]
[Fintype ι]
[DecidableEq ι]
[AddCommGroup M]
[Module R M]
:
theorem
LinearMap.mapMatrixModule_id_apply
{ι : Type u_1}
{R : Type u_2}
{M : Type u_3}
[Ring R]
[Fintype ι]
[DecidableEq ι]
[AddCommGroup M]
[Module R M]
(v : ι → M)
:
theorem
LinearMap.mapMatrixModule_comp
{ι : Type u_1}
{R : Type u_2}
{M : Type u_3}
{N : Type u_4}
{P : Type u_5}
[Ring R]
[Fintype ι]
[DecidableEq ι]
[AddCommGroup M]
[Module R M]
[AddCommGroup N]
[Module R N]
[AddCommGroup P]
[Module R P]
(f : M →ₗ[R] N)
(g : N →ₗ[R] P)
:
@[simp]
theorem
LinearMap.mapMatrixModule_comp_apply
{ι : Type u_1}
{R : Type u_2}
{M : Type u_3}
{N : Type u_4}
{P : Type u_5}
[Ring R]
[Fintype ι]
[DecidableEq ι]
[AddCommGroup M]
[Module R M]
[AddCommGroup N]
[Module R N]
[AddCommGroup P]
[Module R P]
(f : M →ₗ[R] N)
(g : N →ₗ[R] P)
(v : ι → M)
: