Loogle!
Result
Found 58 declarations mentioning Matrix and Module.End.
- algEquivMatrix 📋 Mathlib.LinearAlgebra.Matrix.ToLin
{R : Type u_1} [CommSemiring R] {n : Type u_3} [DecidableEq n] {M : Type u_4} [AddCommMonoid M] [Module R M] [Fintype n] (h : Module.Basis n R M) : Module.End R M ≃ₐ[R] Matrix n n R - endVecRingEquivMatrixEnd 📋 Mathlib.LinearAlgebra.Matrix.ToLin
(ι : Type u_1) [Fintype ι] [DecidableEq ι] (A : Type u_3) [Semiring A] (M : Type u_4) [AddCommMonoid M] [Module A M] : Module.End A (ι → M) ≃+* Matrix ι ι (Module.End A M) - endVecAlgEquivMatrixEnd 📋 Mathlib.LinearAlgebra.Matrix.ToLin
(ι : Type u_1) [Fintype ι] [DecidableEq ι] (R : Type u_2) [CommSemiring R] (A : Type u_3) [Semiring A] [Algebra R A] (M : Type u_4) [AddCommMonoid M] [Module R M] [Module A M] [IsScalarTower R A M] : Module.End A (ι → M) ≃ₐ[R] Matrix ι ι (Module.End A M) - algEquivMatrix' 📋 Mathlib.LinearAlgebra.Matrix.ToLin
{R : Type u_1} [CommSemiring R] {n : Type u_3} [DecidableEq n] [Fintype n] : Module.End R (n → R) ≃ₐ[R] Matrix n n R - endVecRingEquivMatrixEnd.eq_1 📋 Mathlib.LinearAlgebra.Matrix.ToLin
(ι : Type u_1) [Fintype ι] [DecidableEq ι] (A : Type u_3) [Semiring A] (M : Type u_4) [AddCommMonoid M] [Module A M] : endVecRingEquivMatrixEnd ι A M = { toFun := fun f i j => { toFun := fun x => f (Pi.single j x) i, map_add' := ⋯, map_smul' := ⋯ }, invFun := fun m => { toFun := fun x i => ∑ j, (m i j) (x j), map_add' := ⋯, map_smul' := ⋯ }, left_inv := ⋯, right_inv := ⋯, map_mul' := ⋯, map_add' := ⋯ } - LinearMap.toMatrix_algebraMap 📋 Mathlib.LinearAlgebra.Matrix.ToLin
{R : Type u_1} [CommSemiring R] {n : Type u_4} [Fintype n] [DecidableEq n] {M₁ : Type u_5} [AddCommMonoid M₁] [Module R M₁] (v₁ : Module.Basis n R M₁) (x : R) : (LinearMap.toMatrix v₁ v₁) ((algebraMap R (Module.End R M₁)) x) = (Matrix.scalar n) x - Module.Basis.end_apply 📋 Mathlib.LinearAlgebra.Matrix.ToLin
{R : Type u_1} {M : Type u_2} {ι : Type u_5} [CommSemiring R] [AddCommMonoid M] [Module R M] [Fintype ι] [DecidableEq ι] (b : Module.Basis ι R M) (ij : ι × ι) : b.end ij = (Matrix.toLin b b) ((Matrix.stdBasis R ι ι) ij) - endVecAlgEquivMatrixEnd_apply_apply 📋 Mathlib.LinearAlgebra.Matrix.ToLin
(ι : Type u_1) [Fintype ι] [DecidableEq ι] (R : Type u_2) [CommSemiring R] (A : Type u_3) [Semiring A] [Algebra R A] (M : Type u_4) [AddCommMonoid M] [Module R M] [Module A M] [IsScalarTower R A M] (f : Module.End A (ι → M)) (i j : ι) (x : M) : ((endVecAlgEquivMatrixEnd ι R A M) f i j) x = f (Pi.single j x) i - endVecAlgEquivMatrixEnd_symm_apply_apply 📋 Mathlib.LinearAlgebra.Matrix.ToLin
(ι : Type u_1) [Fintype ι] [DecidableEq ι] (R : Type u_2) [CommSemiring R] (A : Type u_3) [Semiring A] [Algebra R A] (M : Type u_4) [AddCommMonoid M] [Module R M] [Module A M] [IsScalarTower R A M] (m : Matrix ι ι (Module.End A M)) (x : ι → M) (i : ι) : ((endVecAlgEquivMatrixEnd ι R A M).symm m) x i = ∑ j, (m i j) (x j) - Algebra.leftMulMatrix_apply 📋 Mathlib.LinearAlgebra.Matrix.ToLin
{R : Type u_1} {S : Type u_2} [CommSemiring R] [Semiring S] [Algebra R S] {m : Type u_3} [Fintype m] [DecidableEq m] (b : Module.Basis m R S) (x : S) : (Algebra.leftMulMatrix b) x = (LinearMap.toMatrix b b) ((Algebra.lmul R S) x) - Algebra.toMatrix_lsmul 📋 Mathlib.LinearAlgebra.Matrix.ToLin
{R : Type u_1} {S : Type u_2} [CommSemiring R] [Semiring S] [Algebra R S] {m : Type u_3} [Fintype m] [DecidableEq m] (b : Module.Basis m R S) (x : R) : (LinearMap.toMatrix b b) ((Algebra.lsmul R R S) x) = Matrix.diagonal fun x_1 => x - Module.Basis.end_repr_apply 📋 Mathlib.LinearAlgebra.Matrix.ToLin
{R : Type u_1} {M : Type u_2} {ι : Type u_5} [CommSemiring R] [AddCommMonoid M] [Module R M] [Fintype ι] [DecidableEq ι] (b : Module.Basis ι R M) (a✝ : M →ₗ[R] M) : b.end.repr a✝ = (Matrix.stdBasis R ι ι).repr ((LinearMap.toMatrix b b) a✝) - Algebra.toMatrix_lmul' 📋 Mathlib.LinearAlgebra.Matrix.ToLin
{R : Type u_1} {S : Type u_2} [CommSemiring R] [Semiring S] [Algebra R S] {m : Type u_3} [Fintype m] [DecidableEq m] (b : Module.Basis m R S) (x : S) (i j : m) : (LinearMap.toMatrix b b) ((Algebra.lmul R S) x) i j = (b.repr (x * b j)) i - Module.Basis.end_repr_symm_apply 📋 Mathlib.LinearAlgebra.Matrix.ToLin
{R : Type u_1} {M : Type u_2} {ι : Type u_5} [CommSemiring R] [AddCommMonoid M] [Module R M] [Fintype ι] [DecidableEq ι] (b : Module.Basis ι R M) (a✝ : ι × ι →₀ R) : b.end.repr.symm a✝ = (Matrix.toLin b b) ((Finsupp.linearCombination R ⇑(Matrix.stdBasis R ι ι)) a✝) - LinearMap.toMatrix_prodMap 📋 Mathlib.LinearAlgebra.Matrix.ToLin
{R : Type u_1} [CommSemiring R] {m : Type u_3} {n : Type u_4} [Fintype n] [Fintype m] [DecidableEq n] {M₁ : Type u_5} {M₂ : Type u_6} [AddCommMonoid M₁] [AddCommMonoid M₂] [Module R M₁] [Module R M₂] (v₁ : Module.Basis n R M₁) (v₂ : Module.Basis m R M₂) [DecidableEq m] [DecidableEq (n ⊕ m)] (φ₁ : Module.End R M₁) (φ₂ : Module.End R M₂) : (LinearMap.toMatrix (v₁.prod v₂) (v₁.prod v₂)) (LinearMap.prodMap φ₁ φ₂) = Matrix.fromBlocks ((LinearMap.toMatrix v₁ v₁) φ₁) 0 0 ((LinearMap.toMatrix v₂ v₂) φ₂) - LinearMap.toMatrix'_algebraMap 📋 Mathlib.LinearAlgebra.Matrix.ToLin
{R : Type u_1} [CommSemiring R] {n : Type u_5} [DecidableEq n] [Fintype n] (x : R) : LinearMap.toMatrix' ((algebraMap R (Module.End R (n → R))) x) = (Matrix.scalar n) x - AlgHom.mulLeftRightMatrix_inv 📋 Mathlib.Algebra.Azumaya.Matrix
(R : Type u_1) (n : Type u_2) [CommSemiring R] [Fintype n] [DecidableEq n] : Module.End R (Matrix n n R) →ₗ[R] TensorProduct R (Matrix n n R) (Matrix n n R)ᵐᵒᵖ - AlgHom.mulLeftRightMatrix.comp_inv 📋 Mathlib.Algebra.Azumaya.Matrix
(R : Type u_1) (n : Type u_2) [CommSemiring R] [Fintype n] [DecidableEq n] : (AlgHom.mulLeftRight R (Matrix n n R)).toLinearMap ∘ₗ AlgHom.mulLeftRightMatrix_inv R n = LinearMap.id - AlgHom.mulLeftRightMatrix.inv_comp 📋 Mathlib.Algebra.Azumaya.Matrix
(R : Type u_1) (n : Type u_2) [CommSemiring R] [Fintype n] [DecidableEq n] : AlgHom.mulLeftRightMatrix_inv R n ∘ₗ (AlgHom.mulLeftRight R (Matrix n n R)).toLinearMap = LinearMap.id - pairSelfAdjointMatricesSubmodule.eq_1 📋 Mathlib.LinearAlgebra.Matrix.SesquilinearForm
{R : Type u_1} {n : Type u_11} [CommRing R] [Fintype n] (J J₂ : Matrix n n R) [DecidableEq n] : pairSelfAdjointMatricesSubmodule J J₂ = Submodule.map (↑LinearMap.toMatrix') (((Matrix.toLinearMap₂' R) J).isPairSelfAdjointSubmodule ((Matrix.toLinearMap₂' R) J₂)) - Matrix.Represents 📋 Mathlib.LinearAlgebra.Matrix.Charpoly.LinearMap
{ι : Type u_1} [Fintype ι] {M : Type u_2} [AddCommGroup M] {R : Type u_3} [CommRing R] [Module R M] (b : ι → M) [DecidableEq ι] (A : Matrix ι ι R) (f : Module.End R M) : Prop - Matrix.Represents.one 📋 Mathlib.LinearAlgebra.Matrix.Charpoly.LinearMap
{ι : Type u_1} [Fintype ι] {M : Type u_2} [AddCommGroup M] {R : Type u_3} [CommRing R] [Module R M] {b : ι → M} [DecidableEq ι] : Matrix.Represents b 1 1 - Matrix.Represents.congr_simp 📋 Mathlib.LinearAlgebra.Matrix.Charpoly.LinearMap
{ι : Type u_1} [Fintype ι] {M : Type u_2} [AddCommGroup M] {R : Type u_3} [CommRing R] [Module R M] (b b✝ : ι → M) (e_b : b = b✝) {inst✝ : DecidableEq ι} [DecidableEq ι] (A A✝ : Matrix ι ι R) (e_A : A = A✝) (f f✝ : Module.End R M) (e_f : f = f✝) : Matrix.Represents b A f = Matrix.Represents b✝ A✝ f✝ - Matrix.Represents.zero 📋 Mathlib.LinearAlgebra.Matrix.Charpoly.LinearMap
{ι : Type u_1} [Fintype ι] {M : Type u_2} [AddCommGroup M] {R : Type u_3} [CommRing R] [Module R M] {b : ι → M} [DecidableEq ι] : Matrix.Represents b 0 0 - Matrix.Represents.eq 📋 Mathlib.LinearAlgebra.Matrix.Charpoly.LinearMap
{ι : Type u_1} [Fintype ι] {M : Type u_2} [AddCommGroup M] {R : Type u_3} [CommRing R] [Module R M] {b : ι → M} [DecidableEq ι] (hb : Submodule.span R (Set.range b) = ⊤) {A : Matrix ι ι R} {f f' : Module.End R M} (h : Matrix.Represents b A f) (h' : Matrix.Represents b A f') : f = f' - Matrix.represents_iff' 📋 Mathlib.LinearAlgebra.Matrix.Charpoly.LinearMap
{ι : Type u_1} [Fintype ι] {M : Type u_2} [AddCommGroup M] {R : Type u_3} [CommRing R] [Module R M] {b : ι → M} [DecidableEq ι] {A : Matrix ι ι R} {f : Module.End R M} : Matrix.Represents b A f ↔ ∀ (j : ι), ∑ i, A i j • b i = f (b j) - Matrix.Represents.mul 📋 Mathlib.LinearAlgebra.Matrix.Charpoly.LinearMap
{ι : Type u_1} [Fintype ι] {M : Type u_2} [AddCommGroup M] {R : Type u_3} [CommRing R] [Module R M] {b : ι → M} [DecidableEq ι] {A A' : Matrix ι ι R} {f f' : Module.End R M} (h : Matrix.Represents b A f) (h' : Matrix.Represents b A' f') : Matrix.Represents b (A * A') (f * f') - Matrix.Represents.add 📋 Mathlib.LinearAlgebra.Matrix.Charpoly.LinearMap
{ι : Type u_1} [Fintype ι] {M : Type u_2} [AddCommGroup M] {R : Type u_3} [CommRing R] [Module R M] {b : ι → M} [DecidableEq ι] {A A' : Matrix ι ι R} {f f' : Module.End R M} (h : Matrix.Represents b A f) (h' : Matrix.Represents b A' f') : Matrix.Represents b (A + A') (f + f') - Matrix.Represents.smul 📋 Mathlib.LinearAlgebra.Matrix.Charpoly.LinearMap
{ι : Type u_1} [Fintype ι] {M : Type u_2} [AddCommGroup M] {R : Type u_3} [CommRing R] [Module R M] {b : ι → M} [DecidableEq ι] {A : Matrix ι ι R} {f : Module.End R M} (h : Matrix.Represents b A f) (r : R) : Matrix.Represents b (r • A) (r • f) - Matrix.Represents.algebraMap 📋 Mathlib.LinearAlgebra.Matrix.Charpoly.LinearMap
{ι : Type u_1} [Fintype ι] {M : Type u_2} [AddCommGroup M] {R : Type u_3} [CommRing R] [Module R M] {b : ι → M} [DecidableEq ι] (r : R) : Matrix.Represents b ((algebraMap R (Matrix ι ι R)) r) ((algebraMap R (Module.End R M)) r) - Matrix.Represents.congr_fun 📋 Mathlib.LinearAlgebra.Matrix.Charpoly.LinearMap
{ι : Type u_1} [Fintype ι] {M : Type u_2} [AddCommGroup M] {R : Type u_3} [CommRing R] [Module R M] {b : ι → M} [DecidableEq ι] {A : Matrix ι ι R} {f : Module.End R M} (h : Matrix.Represents b A f) (x : ι → R) : (Fintype.linearCombination R b) (A.mulVec x) = f ((Fintype.linearCombination R b) x) - Matrix.isRepresentation.toEnd 📋 Mathlib.LinearAlgebra.Matrix.Charpoly.LinearMap
{ι : Type u_1} [Fintype ι] {M : Type u_2} [AddCommGroup M] (R : Type u_3) [CommRing R] [Module R M] (b : ι → M) [DecidableEq ι] (hb : Submodule.span R (Set.range b) = ⊤) : ↥(Matrix.isRepresentation R b) →ₐ[R] Module.End R M - Matrix.represents_iff 📋 Mathlib.LinearAlgebra.Matrix.Charpoly.LinearMap
{ι : Type u_1} [Fintype ι] {M : Type u_2} [AddCommGroup M] {R : Type u_3} [CommRing R] [Module R M] {b : ι → M} [DecidableEq ι] {A : Matrix ι ι R} {f : Module.End R M} : Matrix.Represents b A f ↔ ∀ (x : ι → R), (Fintype.linearCombination R b) (A.mulVec x) = f ((Fintype.linearCombination R b) x) - Matrix.isRepresentation.toEnd_surjective 📋 Mathlib.LinearAlgebra.Matrix.Charpoly.LinearMap
{ι : Type u_1} [Fintype ι] {M : Type u_2} [AddCommGroup M] (R : Type u_3) [CommRing R] [Module R M] (b : ι → M) [DecidableEq ι] (hb : Submodule.span R (Set.range b) = ⊤) : Function.Surjective ⇑(Matrix.isRepresentation.toEnd R b hb) - Matrix.isRepresentation.toEnd_represents 📋 Mathlib.LinearAlgebra.Matrix.Charpoly.LinearMap
{ι : Type u_1} [Fintype ι] {M : Type u_2} [AddCommGroup M] (R : Type u_3) [CommRing R] [Module R M] (b : ι → M) [DecidableEq ι] (hb : Submodule.span R (Set.range b) = ⊤) (A : ↥(Matrix.isRepresentation R b)) : Matrix.Represents b (↑A) ((Matrix.isRepresentation.toEnd R b hb) A) - Matrix.isRepresentation.eq_toEnd_of_represents 📋 Mathlib.LinearAlgebra.Matrix.Charpoly.LinearMap
{ι : Type u_1} [Fintype ι] {M : Type u_2} [AddCommGroup M] (R : Type u_3) [CommRing R] [Module R M] (b : ι → M) [DecidableEq ι] (hb : Submodule.span R (Set.range b) = ⊤) (A : ↥(Matrix.isRepresentation R b)) {f : Module.End R M} (h : Matrix.Represents b (↑A) f) : (Matrix.isRepresentation.toEnd R b hb) A = f - Matrix.isRepresentation.toEnd_exists_mem_ideal 📋 Mathlib.LinearAlgebra.Matrix.Charpoly.LinearMap
{ι : Type u_1} [Fintype ι] {M : Type u_2} [AddCommGroup M] (R : Type u_3) [CommRing R] [Module R M] (b : ι → M) [DecidableEq ι] (hb : Submodule.span R (Set.range b) = ⊤) (f : Module.End R M) (I : Ideal R) (hI : LinearMap.range f ≤ I • ⊤) : ∃ M_1, (Matrix.isRepresentation.toEnd R b hb) M_1 = f ∧ ∀ (i j : ι), ↑M_1 i j ∈ I - LinearMap.diag_toMatrix_directSum_collectedBasis_eq_zero_of_mapsTo_ne 📋 Mathlib.Algebra.DirectSum.LinearMap
{ι : Type u_1} {R : Type u_2} {M : Type u_3} [CommRing R] [AddCommGroup M] [Module R M] {N : ι → Submodule R M} [DecidableEq ι] {κ : ι → Type u_4} [(i : ι) → Fintype (κ i)] [(i : ι) → DecidableEq (κ i)] {s : Finset ι} (h : DirectSum.IsInternal fun i => N ↑i) (b : (i : ↥s) → Module.Basis (κ ↑i) R ↥(N ↑i)) (σ : ι → ι) (hσ : ∀ (i : ι), σ i ≠ i) {f : Module.End R M} (hf : ∀ (i : ι), Set.MapsTo ⇑f ↑(N i) ↑(N (σ i))) (hN : ∀ i ∉ s, N i = ⊥) : ((LinearMap.toMatrix (h.collectedBasis b) (h.collectedBasis b)) f).diag = 0 - LinearMap.polyCharpolyAux_map_eq_toMatrix_charpoly 📋 Mathlib.Algebra.Module.LinearMap.Polynomial
{R : Type u_1} {L : Type u_2} {M : Type u_3} {ι : Type u_5} {ιM : Type u_7} [CommRing R] [AddCommGroup L] [Module R L] [AddCommGroup M] [Module R M] (φ : L →ₗ[R] Module.End R M) [Fintype ι] [Fintype ιM] [DecidableEq ι] [DecidableEq ιM] (b : Module.Basis ι R L) (bₘ : Module.Basis ιM R M) (x : L) : Polynomial.map (MvPolynomial.eval ⇑(b.repr x)) (φ.polyCharpolyAux b bₘ) = ((LinearMap.toMatrix bₘ bₘ) (φ x)).charpoly - LinearMap.polyCharpolyAux_eval_eq_toMatrix_charpoly_coeff 📋 Mathlib.Algebra.Module.LinearMap.Polynomial
{R : Type u_1} {L : Type u_2} {M : Type u_3} {ι : Type u_5} {ιM : Type u_7} [CommRing R] [AddCommGroup L] [Module R L] [AddCommGroup M] [Module R M] (φ : L →ₗ[R] Module.End R M) [Fintype ι] [Fintype ιM] [DecidableEq ι] [DecidableEq ιM] (b : Module.Basis ι R L) (bₘ : Module.Basis ιM R M) (x : L) (i : ℕ) : (MvPolynomial.eval ⇑(b.repr x)) ((φ.polyCharpolyAux b bₘ).coeff i) = ((LinearMap.toMatrix bₘ bₘ) (φ x)).charpoly.coeff i - lieEquivMatrix' 📋 Mathlib.Algebra.Lie.Matrix
{R : Type u} [CommRing R] {n : Type w} [DecidableEq n] [Fintype n] : Module.End R (n → R) ≃ₗ⁅R⁆ Matrix n n R - Matrix.lieConj.eq_1 📋 Mathlib.Algebra.Lie.Matrix
{R : Type u} [CommRing R] {n : Type w} [DecidableEq n] [Fintype n] (P : Matrix n n R) (h : Invertible P) : P.lieConj h = (lieEquivMatrix'.symm.trans (P.toLinearEquiv' h).lieConj).trans lieEquivMatrix' - LieModule.toEnd_matrix 📋 Mathlib.Algebra.Lie.Matrix
{R : Type u} [CommRing R] {n : Type w} [DecidableEq n] [Fintype n] : LieModule.toEnd R (Matrix n n R) (n → R) = lieEquivMatrix'.symm.toLieHom - lieEquivMatrix'_apply 📋 Mathlib.Algebra.Lie.Matrix
{R : Type u} [CommRing R] {n : Type w} [DecidableEq n] [Fintype n] (f : Module.End R (n → R)) : lieEquivMatrix' f = LinearMap.toMatrix' f - lieEquivMatrix'_symm_apply 📋 Mathlib.Algebra.Lie.Matrix
{R : Type u} [CommRing R] {n : Type w} [DecidableEq n] [Fintype n] (A : Matrix n n R) : lieEquivMatrix'.symm A = Matrix.toLin' A - CartanMatrix.Relations.adE.eq_1 📋 Mathlib.Algebra.Lie.SerreConstruction
(R : Type u) {B : Type v} [CommRing R] (CM : Matrix B B ℤ) : CartanMatrix.Relations.adE R CM = Function.uncurry fun i j => ((LieAlgebra.ad R (FreeLieAlgebra R (CartanMatrix.Generators B))) ((FreeLieAlgebra.of R ∘ CartanMatrix.Generators.E) i) ^ (-CM i j).toNat) ⁅(FreeLieAlgebra.of R ∘ CartanMatrix.Generators.E) i, (FreeLieAlgebra.of R ∘ CartanMatrix.Generators.E) j⁆ - CartanMatrix.Relations.adF.eq_1 📋 Mathlib.Algebra.Lie.SerreConstruction
(R : Type u) {B : Type v} [CommRing R] (CM : Matrix B B ℤ) : CartanMatrix.Relations.adF R CM = Function.uncurry fun i j => ((LieAlgebra.ad R (FreeLieAlgebra R (CartanMatrix.Generators B))) ((FreeLieAlgebra.of R ∘ CartanMatrix.Generators.F) i) ^ (-CM i j).toNat) ⁅(FreeLieAlgebra.of R ∘ CartanMatrix.Generators.F) i, (FreeLieAlgebra.of R ∘ CartanMatrix.Generators.F) j⁆ - RootPairing.GeckConstruction.trace_toEnd_eq_zero 📋 Mathlib.LinearAlgebra.RootSystem.GeckConstruction.Semisimple
{ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [IsDomain R] [CharZero R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] {P : RootPairing ι R M N} [P.IsCrystallographic] [P.IsReduced] {b : P.Base} [Fintype ι] [DecidableEq ι] (x : ↥(RootPairing.GeckConstruction.lieAlgebra b)) : (LinearMap.trace R (↥b.support ⊕ ι → R)) ((LieModule.toEnd R (↥(RootPairing.GeckConstruction.lieAlgebra b)) (↥b.support ⊕ ι → R)) x) = 0 - IsSemisimpleModule.exists_end_ringEquiv_pi_matrix_divisionRing 📋 Mathlib.RingTheory.SimpleModule.WedderburnArtin
(R : Type u) [Ring R] (M : Type v) [AddCommGroup M] [Module R M] [IsSemisimpleModule R M] [Module.Finite R M] : ∃ n D d x, (∀ (i : Fin n), NeZero (d i)) ∧ Nonempty (Module.End R M ≃+* ((i : Fin n) → Matrix (Fin (d i)) (Fin (d i)) (D i))) - IsSemisimpleModule.exists_end_algEquiv_pi_matrix_divisionRing 📋 Mathlib.RingTheory.SimpleModule.WedderburnArtin
(R₀ : Type u_1) (R : Type u) [CommSemiring R₀] [Ring R] [Algebra R₀ R] (M : Type v) [AddCommGroup M] [Module R₀ M] [Module R M] [IsScalarTower R₀ R M] [IsSemisimpleModule R M] [Module.Finite R M] : ∃ n D d x x_1, (∀ (i : Fin n), NeZero (d i)) ∧ Nonempty (Module.End R M ≃ₐ[R₀] (i : Fin n) → Matrix (Fin (d i)) (Fin (d i)) (D i)) - IsSemisimpleModule.exists_end_ringEquiv 📋 Mathlib.RingTheory.SimpleModule.WedderburnArtin
(R : Type u) [Ring R] (M : Type v) [AddCommGroup M] [Module R M] [IsSemisimpleModule R M] [Module.Finite R M] : ∃ n S d, (∀ (i : Fin n), IsSimpleModule R ↥(S i)) ∧ (∀ (i : Fin n), NeZero (d i)) ∧ Nonempty (Module.End R M ≃+* ((i : Fin n) → Matrix (Fin (d i)) (Fin (d i)) (Module.End R ↥(S i)))) - IsSemisimpleModule.exists_end_ringEquiv_pi_matrix_end 📋 Mathlib.RingTheory.SimpleModule.WedderburnArtin
(R : Type u) [Ring R] (M : Type v) [AddCommGroup M] [Module R M] [IsSemisimpleModule R M] [Module.Finite R M] : ∃ n S d, (∀ (i : Fin n), IsSimpleModule R ↥(S i)) ∧ (∀ (i : Fin n), NeZero (d i)) ∧ Nonempty (Module.End R M ≃+* ((i : Fin n) → Matrix (Fin (d i)) (Fin (d i)) (Module.End R ↥(S i)))) - IsSimpleRing.exists_ringEquiv_matrix_end_mulOpposite 📋 Mathlib.RingTheory.SimpleModule.WedderburnArtin
(R : Type u) [Ring R] [IsSimpleRing R] [IsArtinianRing R] : ∃ n, ∃ (_ : NeZero n), ∃ I, ∃ (_ : IsSimpleModule R ↥I), Nonempty (R ≃+* Matrix (Fin n) (Fin n) (Module.End R ↥I)ᵐᵒᵖ) - IsSemisimpleRing.exists_ringEquiv_pi_matrix_end_mulOpposite 📋 Mathlib.RingTheory.SimpleModule.WedderburnArtin
(R : Type u) [Ring R] [IsSemisimpleRing R] : ∃ n D d, (∀ (i : Fin n), IsSimpleModule R ↥(D i)) ∧ (∀ (i : Fin n), NeZero (d i)) ∧ Nonempty (R ≃+* ((i : Fin n) → Matrix (Fin (d i)) (Fin (d i)) (Module.End R ↥(D i))ᵐᵒᵖ)) - IsSemisimpleModule.exists_end_algEquiv 📋 Mathlib.RingTheory.SimpleModule.WedderburnArtin
(R₀ : Type u_1) (R : Type u) [CommSemiring R₀] [Ring R] [Algebra R₀ R] (M : Type v) [AddCommGroup M] [Module R₀ M] [Module R M] [IsScalarTower R₀ R M] [IsSemisimpleModule R M] [Module.Finite R M] : ∃ n S d, (∀ (i : Fin n), IsSimpleModule R ↥(S i)) ∧ (∀ (i : Fin n), NeZero (d i)) ∧ Nonempty (Module.End R M ≃ₐ[R₀] (i : Fin n) → Matrix (Fin (d i)) (Fin (d i)) (Module.End R ↥(S i))) - IsSemisimpleModule.exists_end_algEquiv_pi_matrix_end 📋 Mathlib.RingTheory.SimpleModule.WedderburnArtin
(R₀ : Type u_1) (R : Type u) [CommSemiring R₀] [Ring R] [Algebra R₀ R] (M : Type v) [AddCommGroup M] [Module R₀ M] [Module R M] [IsScalarTower R₀ R M] [IsSemisimpleModule R M] [Module.Finite R M] : ∃ n S d, (∀ (i : Fin n), IsSimpleModule R ↥(S i)) ∧ (∀ (i : Fin n), NeZero (d i)) ∧ Nonempty (Module.End R M ≃ₐ[R₀] (i : Fin n) → Matrix (Fin (d i)) (Fin (d i)) (Module.End R ↥(S i))) - IsSimpleRing.exists_algEquiv_matrix_end_mulOpposite 📋 Mathlib.RingTheory.SimpleModule.WedderburnArtin
(R₀ : Type u_1) (R : Type u) [CommSemiring R₀] [Ring R] [Algebra R₀ R] [IsSimpleRing R] [IsArtinianRing R] : ∃ n, ∃ (_ : NeZero n), ∃ I, ∃ (_ : IsSimpleModule R ↥I), Nonempty (R ≃ₐ[R₀] Matrix (Fin n) (Fin n) (Module.End R ↥I)ᵐᵒᵖ) - IsSemisimpleRing.exists_algEquiv_pi_matrix_end_mulOpposite 📋 Mathlib.RingTheory.SimpleModule.WedderburnArtin
(R₀ : Type u_1) (R : Type u) [CommSemiring R₀] [Ring R] [Algebra R₀ R] [IsSemisimpleRing R] : ∃ n S d, (∀ (i : Fin n), IsSimpleModule R ↥(S i)) ∧ (∀ (i : Fin n), NeZero (d i)) ∧ Nonempty (R ≃ₐ[R₀] (i : Fin n) → Matrix (Fin (d i)) (Fin (d i)) (Module.End R ↥(S i))ᵐᵒᵖ)
About
Loogle searches Lean and Mathlib definitions and theorems.
You can use Loogle from within the Lean4 VSCode language extension
using (by default) Ctrl-K Ctrl-S. You can also try the
#loogle command from LeanSearchClient,
the CLI version, the Loogle
VS Code extension, the lean.nvim
integration or the Zulip bot.
Usage
Loogle finds definitions and lemmas in various ways:
By constant:
🔍Real.sin
finds all lemmas whose statement somehow mentions the sine function.By lemma name substring:
🔍"differ"
finds all lemmas that have"differ"somewhere in their lemma name.By subexpression:
🔍_ * (_ ^ _)
finds all lemmas whose statements somewhere include a product where the second argument is raised to some power.The pattern can also be non-linear, as in
🔍Real.sqrt ?a * Real.sqrt ?aIf the pattern has parameters, they are matched in any order. Both of these will find
List.map:
🔍(?a -> ?b) -> List ?a -> List ?b
🔍List ?a -> (?a -> ?b) -> List ?bBy main conclusion:
🔍|- tsum _ = _ * tsum _
finds all lemmas where the conclusion (the subexpression to the right of all→and∀) has the given shape.As before, if the pattern has parameters, they are matched against the hypotheses of the lemma in any order; for example,
🔍|- _ < _ → tsum _ < tsum _
will findtsum_lt_tsumeven though the hypothesisf i < g iis not the last.
If you pass more than one such search filter, separated by commas
Loogle will return lemmas which match all of them. The
search
🔍 Real.sin, "two", tsum, _ * _, _ ^ _, |- _ < _ → _
would find all lemmas which mention the constants Real.sin
and tsum, have "two" as a substring of the
lemma name, include a product and a power somewhere in the type,
and have a hypothesis of the form _ < _ (if
there were any such lemmas). Metavariables (?a) are
assigned independently in each filter.
The #lucky button will directly send you to the
documentation of the first hit.
Source code
You can find the source code for this service at https://github.com/nomeata/loogle. The https://loogle.lean-lang.org/ service is provided by the Lean FRO.
This is Loogle revision 6ff4759 serving mathlib revision 1c119a3