Documentation

Mathlib.RingTheory.SimpleModule.Isotypic

Isotypic modules and isotypic components #

Main definitions #

Keywords #

isotypic component, fully invariant submodule

def IsIsotypicOfType (R : Type u_2) (M : Type u) (S : Type u_4) [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_2) (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_2} {M : Type u} {S : Type u_4} [Ring R] [AddCommGroup M] [AddCommGroup S] [Module R M] [Module R S] (h : IsIsotypicOfType R M S) :
          theorem IsIsotypicOfType.of_subsingleton (R : Type u_2) (M : Type u) (S : Type u_4) [Ring R] [AddCommGroup M] [AddCommGroup S] [Module R M] [Module R S] [Subsingleton M] :
          theorem IsIsotypic.of_subsingleton (R : Type u_2) (M : Type u) [Ring R] [AddCommGroup M] [Module R M] [Subsingleton M] :
          theorem IsIsotypicOfType.of_linearEquiv_type {R : Type u_2} {M : Type u} {N : Type u_3} {S : Type u_4} [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_2} {M : Type u} {N : Type u_3} {S : Type u_4} [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_2} {M : Type u} {N : Type u_3} [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_2} {M : Type u} {N : Type u_3} {S : Type u_4} [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_2} {M : Type u} {N : Type u_3} {S : Type u_4} [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_2} {M : Type u} {N : Type u_3} [Ring R] [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] (e : M ≃ₗ[R] N) :
          theorem isIsotypicOfType_submodule_iff {R : Type u_2} {M : Type u} {S : Type u_4} [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_2} {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_2} {M : Type u} {S : Type u_4} [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_2} {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_2} {M : Type u} {S : Type u_4} [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_2} {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)
          theorem IsIsotypic.submodule_linearEquiv_fun {R : Type u_2} {M : Type u} [Ring R] [AddCommGroup M] [Module R M] [IsSemisimpleModule R M] {m : Submodule R M} [Module.Finite R m] [Nontrivial m] (h : IsIsotypic R m) :
          ∃ (n : ) (_ : NeZero n), Sm, IsSimpleModule R S Nonempty (m ≃ₗ[R] Fin nS)
          def isotypicComponent (R : Type u_2) (M : Type u) (S : Type u_4) [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
              def isotypicComponents (R : Type u_2) (M : Type u) [Ring R] [AddCommGroup M] [Module R M] :

              The set of all (nontrivial) isotypic components of a module.

              Equations
                Instances For
                  theorem Submodule.le_isotypicComponent {R : Type u_2} {M : Type u} [Ring R] [AddCommGroup M] [Module R M] (m : Submodule R M) :
                  theorem bot_lt_isotypicComponent {R : Type u_2} {M : Type u} [Ring R] [AddCommGroup M] [Module R M] (S : Submodule R M) [IsSimpleModule R S] :
                  theorem bot_lt_isotypicComponents {R : Type u_2} {M : Type u} [Ring R] [AddCommGroup M] [Module R M] {m : Submodule R M} (h : m isotypicComponents R M) :
                  < m
                  theorem LinearEquiv.isotypicComponent_eq {R : Type u_2} {M : Type u} {N : Type u_3} {S : Type u_4} [Ring R] [AddCommGroup M] [AddCommGroup N] [AddCommGroup S] [Module R M] [Module R N] [Module R S] (e : N ≃ₗ[R] S) :
                  theorem Submodule.le_linearEquiv_of_sSup_eq_top {R : Type u_2} {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_2} {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_2} {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_2} {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_2) (M : Type u) (S : Type u_4) [Ring R] [AddCommGroup M] [AddCommGroup S] [Module R M] [Module R S] [IsSimpleModule R S] :
                  theorem IsIsotypic.isotypicComponent (R : Type u_2) (M : Type u) (S : Type u_4) [Ring R] [AddCommGroup M] [AddCommGroup S] [Module R M] [Module R S] [IsSimpleModule R S] :
                  theorem IsIsotypic.isotypicComponents {R : Type u_2} {M : Type u} [Ring R] [AddCommGroup M] [Module R M] {m : Submodule R M} (h : m isotypicComponents R M) :
                  IsIsotypic R m
                  theorem eq_isotypicComponent_of_le {R : Type u_2} {M : Type u} [Ring R] [AddCommGroup M] [Module R M] {S c : Submodule R M} (hc : c isotypicComponents R M) [IsSimpleModule R S] (le : S c) :
                  c = isotypicComponent R M S
                  theorem Submodule.map_le_isotypicComponent {R : Type u_2} {M : Type u} {N : Type u_3} [Ring R] [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] (S : Submodule R M) [IsSimpleModule R S] (f : M →ₗ[R] N) :
                  theorem LinearMap.le_comap_isotypicComponent {R : Type u_2} {M : Type u} {N : Type u_3} (S : Type u_4) [Ring R] [AddCommGroup M] [AddCommGroup N] [AddCommGroup S] [Module R M] [Module R N] [Module R S] [IsSimpleModule R S] (f : M →ₗ[R] N) :
                  def Submodule.IsFullyInvariant {R : Type u_5} {M : Type u_6} [Semiring R] [AddCommMonoid 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.

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

                  Equations
                    Instances For

                      The fully invariant submodules of a module form a complete sublattice in the lattice of submodules.

                      Equations
                        Instances For
                          noncomputable def iSupIndep.ringEquiv {R : Type u_2} {M : Type u} [Ring R] [AddCommGroup M] [Module R M] {ι : Type u_5} [DecidableEq ι] {N : ιSubmodule R M} (ind : iSupIndep N) (iSup_top : ⨆ (i : ι), N i = ) (invar : ∀ (i : ι), (N i).IsFullyInvariant) :
                          Module.End R M ≃+* ((i : ι) → Module.End R (N i))

                          If an R-module M is the direct sum of fully invariant submodules Nᵢ, then End R M is isomorphic to Πᵢ End R Nᵢ as a ring.

                          Equations
                            Instances For
                              noncomputable def iSupIndep.algEquiv (R₀ : Type u_1) {R : Type u_2} {M : Type u} [CommSemiring R₀] [Ring R] [Algebra R₀ R] [AddCommGroup M] [Module R M] {ι : Type u_5} [DecidableEq ι] {N : ιSubmodule R M} (ind : iSupIndep N) (iSup_top : ⨆ (i : ι), N i = ) (invar : ∀ (i : ι), (N i).IsFullyInvariant) [Module R₀ M] [IsScalarTower R₀ R M] :
                              Module.End R M ≃ₐ[R₀] (i : ι) → Module.End R (N i)

                              If an R-module M is the direct sum of fully invariant submodules Nᵢ, then End R M is isomorphic to Πᵢ End R Nᵢ as an algebra.

                              Equations
                                Instances For
                                  def GaloisCoinsertion.setIsotypicComponents (R : Type u_2) (M : Type u) [Ring R] [AddCommGroup M] [Module R M] :
                                  GaloisCoinsertion (fun (s : Set (isotypicComponents R M)) => cs, c, ) fun (m : (fullyInvariantSubmodule R M)) => {c : (isotypicComponents R M) | c m}

                                  The Galois coinsertion from sets of isotypic components to fully invariant submodules.

                                  Equations
                                    Instances For
                                      theorem le_isotypicComponent_iff {R : Type u_2} {M : Type u} {S : Type u_4} [Ring R] [AddCommGroup M] [AddCommGroup S] [Module R M] [Module R S] [IsSimpleModule R S] [IsSemisimpleModule R M] {m : Submodule R M} :
                                      theorem eq_isotypicComponent_iff {R : Type u_2} {M : Type u} {S : Type u_4} [Ring R] [AddCommGroup M] [AddCommGroup S] [Module R M] [Module R S] [IsSimpleModule R S] [IsSemisimpleModule R M] {m : Submodule R M} (ne : m ) :

                                      Sets of isotypic components in a semisimple module are in order-preserving 1-1 correspondence with fully invariant submodules. Consequently, the fully invariant submodules form a complete atomic Boolean algebra.

                                      Equations
                                        Instances For
                                          @[simp]
                                          theorem OrderIso.setIsotypicComponents_apply {R : Type u_2} {M : Type u} [Ring R] [AddCommGroup M] [Module R M] [IsSemisimpleModule R M] (s : Set (isotypicComponents R M)) :
                                          setIsotypicComponents s = cs, c,
                                          noncomputable def IsSemisimpleModule.endAlgEquiv (R₀ : Type u_1) (R : Type u_2) (M : Type u) [CommSemiring R₀] [Ring R] [Algebra R₀ R] [AddCommGroup M] [Module R M] [IsSemisimpleModule R M] [Module R₀ M] [IsScalarTower R₀ R M] [DecidableEq (isotypicComponents R M)] :
                                          Module.End R M ≃ₐ[R₀] (c : (isotypicComponents R M)) → Module.End R c

                                          The endomorphism algebra of a semisimple module is the direct product of the endomorphism algebras of its isotypic components.

                                          Equations
                                            Instances For
                                              noncomputable def IsSemisimpleModule.endRingEquiv (R : Type u_2) (M : Type u) [Ring R] [AddCommGroup M] [Module R M] [IsSemisimpleModule R M] [DecidableEq (isotypicComponents R M)] :
                                              Module.End R M ≃+* ((c : (isotypicComponents R M)) → Module.End R c)

                                              The endomorphism ring of a semisimple module is the direct product of the endomorphism rings of its isotypic components.

                                              Equations
                                                Instances For