Documentation

Mathlib.RingTheory.SimpleModule.Isotypic

Isotypic modules and isotypic components #

def IsIsotypicOfType (R : Type u_1) (M : Type u) (S : Type u_3) [Ring R] [AddCommGroup M] [AddCommGroup S] [Module R M] [Module R S] :

An R-module M is isotypic of type S if all simple submodules of M are isomorphic to S. If M is semisimple, it is equivalent to requiring that all simple quotients of M are isomorphic to S.

Equations
Instances For
    def IsIsotypic (R : Type u_1) (M : Type u) [Ring R] [AddCommGroup M] [Module R M] :

    An R-module M is isotypic if all its simple submodules are isomorphic.

    Equations
    Instances For
      theorem IsIsotypicOfType.isIsotypic {R : Type u_1} {M : Type u} {S : Type u_3} [Ring R] [AddCommGroup M] [AddCommGroup S] [Module R M] [Module R S] (h : IsIsotypicOfType R M S) :
      theorem IsIsotypicOfType.of_subsingleton (R : Type u_1) (M : Type u) (S : Type u_3) [Ring R] [AddCommGroup M] [AddCommGroup S] [Module R M] [Module R S] [Subsingleton M] :
      theorem IsIsotypic.of_subsingleton (R : Type u_1) (M : Type u) [Ring R] [AddCommGroup M] [Module R M] [Subsingleton M] :
      theorem IsIsotypicOfType.of_linearEquiv_type {R : Type u_1} {M : Type u} {N : Type u_2} {S : Type u_3} [Ring R] [AddCommGroup M] [AddCommGroup N] [AddCommGroup S] [Module R M] [Module R N] [Module R S] (h : IsIsotypicOfType R M S) (e : S ≃ₗ[R] N) :
      theorem IsIsotypicOfType.of_injective {R : Type u_1} {M : Type u} {N : Type u_2} {S : Type u_3} [Ring R] [AddCommGroup M] [AddCommGroup N] [AddCommGroup S] [Module R M] [Module R N] [Module R S] (h : IsIsotypicOfType R N S) (f : M →ₗ[R] N) (inj : Function.Injective f) :
      theorem IsIsotypic.of_injective {R : Type u_1} {M : Type u} {N : Type u_2} [Ring R] [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] (h : IsIsotypic R N) (f : M →ₗ[R] N) (inj : Function.Injective f) :
      theorem LinearEquiv.isIsotypicOfType_iff {R : Type u_1} {M : Type u} {N : Type u_2} {S : Type u_3} [Ring R] [AddCommGroup M] [AddCommGroup N] [AddCommGroup S] [Module R M] [Module R N] [Module R S] (e : M ≃ₗ[R] N) :
      theorem LinearEquiv.isIsotypicOfType_iff_type {R : Type u_1} {M : Type u} {N : Type u_2} {S : Type u_3} [Ring R] [AddCommGroup M] [AddCommGroup N] [AddCommGroup S] [Module R M] [Module R N] [Module R S] (e : N ≃ₗ[R] S) :
      theorem LinearEquiv.isIsotypic_iff {R : Type u_1} {M : Type u} {N : Type u_2} [Ring R] [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] (e : M ≃ₗ[R] N) :
      theorem isIsotypicOfType_submodule_iff {R : Type u_1} {M : Type u} {S : Type u_3} [Ring R] [AddCommGroup M] [AddCommGroup S] [Module R M] [Module R S] {N : Submodule R M} :
      IsIsotypicOfType R (↥N) S mN, ∀ [IsSimpleModule R m], Nonempty (m ≃ₗ[R] S)
      theorem isIsotypic_submodule_iff {R : Type u_1} {M : Type u} [Ring R] [AddCommGroup M] [Module R M] {N : Submodule R M} :
      IsIsotypic R N mN, ∀ [IsSimpleModule R m], IsIsotypicOfType R N m
      theorem IsIsotypicOfType.linearEquiv_finsupp {R : Type u_1} {M : Type u} {S : Type u_3} [Ring R] [AddCommGroup M] [AddCommGroup S] [Module R M] [Module R S] [IsSemisimpleModule R M] (h : IsIsotypicOfType R M S) :
      ∃ (ι : Type u), Nonempty (M ≃ₗ[R] ι →₀ S)
      theorem IsIsotypic.linearEquiv_finsupp {R : Type u_1} {M : Type u} [Ring R] [AddCommGroup M] [Module R M] [IsSemisimpleModule R M] [Nontrivial M] (h : IsIsotypic R M) :
      ∃ (ι : Type u) (_ : Nonempty ι) (S : Submodule R M), IsSimpleModule R S Nonempty (M ≃ₗ[R] ι →₀ S)
      theorem IsIsotypicOfType.linearEquiv_fun {R : Type u_1} {M : Type u} {S : Type u_3} [Ring R] [AddCommGroup M] [AddCommGroup S] [Module R M] [Module R S] [IsSemisimpleModule R M] [Module.Finite R M] (h : IsIsotypicOfType R M S) :
      ∃ (n : ), Nonempty (M ≃ₗ[R] Fin nS)
      theorem IsIsotypic.linearEquiv_fun {R : Type u_1} {M : Type u} [Ring R] [AddCommGroup M] [Module R M] [IsSemisimpleModule R M] [Module.Finite R M] [Nontrivial M] (h : IsIsotypic R M) :
      ∃ (n : ) (_ : NeZero n) (S : Submodule R M), IsSimpleModule R S Nonempty (M ≃ₗ[R] Fin nS)
      def Submodule.IsFullyInvariant {R : Type u_1} {M : Type u} [Ring R] [AddCommGroup M] [Module R M] (N : Submodule R M) :

      A submodule N an R-module M is fully invariant if N is mapped into itself by all R-linear endomorphisms of M.

      TODO: If M is semisimple, this is equivalent to N being a sum of isotypic components of M.

      Equations
      Instances For
        def isotypicComponent (R : Type u_1) (M : Type u) (S : Type u_3) [Ring R] [AddCommGroup M] [AddCommGroup S] [Module R M] [Module R S] :

        If S is a simple R-module, the S-isotypic component in an R-module M is the sum of all submodules of M isomorphic to S.

        Equations
        Instances For
          theorem Submodule.le_isotypicComponent (R : Type u_1) (M : Type u) [Ring R] [AddCommGroup M] [Module R M] (m : Submodule R M) :
          theorem bot_lt_isotypicComponent (R : Type u_1) (M : Type u) [Ring R] [AddCommGroup M] [Module R M] (S : Submodule R M) [IsSimpleModule R S] :
          theorem Submodule.le_linearEquiv_of_sSup_eq_top {R : Type u_1} {M : Type u} [Ring R] [AddCommGroup M] [Module R M] (N : Submodule R M) [IsSimpleModule R N] (s : Set (Submodule R M)) [IsSemisimpleModule R M] (hs : sSup s = ) :
          ms, Sm, Nonempty (N ≃ₗ[R] S)
          theorem Submodule.linearEquiv_of_sSup_eq_top {R : Type u_1} {M : Type u} [Ring R] [AddCommGroup M] [Module R M] (N : Submodule R M) [IsSimpleModule R N] (s : Set (Submodule R M)) [h : ∀ (m : s), IsSimpleModule R m] (hs : sSup s = ) :
          Ss, Nonempty (N ≃ₗ[R] S)
          theorem Submodule.le_linearEquiv_of_le_sSup {R : Type u_1} {M : Type u} [Ring R] [AddCommGroup M] [Module R M] (N : Submodule R M) [IsSimpleModule R N] (s : Set (Submodule R M)) [hs : ∀ (m : s), IsSemisimpleModule R m] (hN : N sSup s) :
          ms, Sm, Nonempty (N ≃ₗ[R] S)

          If a simple module is contained in a sum of semisimple modules, it must be isomorphic to a submodule of one of the summands.

          theorem Submodule.linearEquiv_of_le_sSup {R : Type u_1} {M : Type u} [Ring R] [AddCommGroup M] [Module R M] (N : Submodule R M) [IsSimpleModule R N] (s : Set (Submodule R M)) [simple : ∀ (m : s), IsSimpleModule R m] (hs : N sSup s) :
          Ss, Nonempty (N ≃ₗ[R] S)
          theorem IsIsotypicOfType.isotypicComponent (R : Type u_1) (M : Type u) (S : Type u_3) [Ring R] [AddCommGroup M] [AddCommGroup S] [Module R M] [Module R S] [IsSimpleModule R S] :
          theorem IsIsotypic.isotypicComponent (R : Type u_1) (M : Type u) (S : Type u_3) [Ring R] [AddCommGroup M] [AddCommGroup S] [Module R M] [Module R S] [IsSimpleModule R S] :