def
TwoSidedIdeal.mapMatrix
(A : Type u_1)
[Ring A]
(ι : Type)
[Fintype ι]
(I : TwoSidedIdeal A)
:
TwoSidedIdeal (Matrix ι ι A)
If I
is a two-sided-ideal of A
, then Mₙ(I) := {(xᵢⱼ) | ∀ i j, xᵢⱼ ∈ I}
is a two-sided-ideal of
Mₙ(A)
.
Equations
- TwoSidedIdeal.mapMatrix A ι I = { ringCon := { r := fun (X Y : Matrix ι ι A) => ∀ (i j : ι), I.ringCon (X i j) (Y i j), iseqv := ⋯, mul' := ⋯, add' := ⋯ } }
Instances For
@[simp]
theorem
TwoSidedIdeal.mapMatrix_ringCon_r
(A : Type u_1)
[Ring A]
(ι : Type)
[Fintype ι]
(I : TwoSidedIdeal A)
(X Y : Matrix ι ι A)
:
def
TwoSidedIdeal.equivRingConMatrix
(A : Type u_1)
[Ring A]
(ι : Type)
[Fintype ι]
(oo : ι)
:
TwoSidedIdeal A ≃ TwoSidedIdeal (Matrix ι ι A)
The two-sided-ideals of A
corresponds bijectively to that of Mₙ(A)
.
Given an ideal I ≤ A
, we send it to Mₙ(I)
.
Given an ideal J ≤ Mₙ(A)
, we send it to {x₀₀ | x ∈ J}
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[simp]
theorem
TwoSidedIdeal.equivRingConMatrix_apply
(A : Type u_1)
[Ring A]
(ι : Type)
[Fintype ι]
(oo : ι)
(I : TwoSidedIdeal A)
:
(equivRingConMatrix A ι oo) I = mapMatrix A ι I
@[simp]
theorem
TwoSidedIdeal.equivRingConMatrix_symm_apply
(A : Type u_1)
[Ring A]
(ι : Type)
[Fintype ι]
(oo : ι)
(J : TwoSidedIdeal (Matrix ι ι A))
:
(equivRingConMatrix A ι oo).symm J = mk' ((fun (x : Matrix ι ι A) => x oo oo) '' ↑J) ⋯ ⋯ ⋯ ⋯ ⋯
def
TwoSidedIdeal.equivRingConMatrix'
(A : Type u_1)
[Ring A]
(ι : Type)
[Fintype ι]
(oo : ι)
:
TwoSidedIdeal A ≃o TwoSidedIdeal (Matrix ι ι A)
The two-sided-ideals of A
corresponds bijectively to that of Mₙ(A)
.
Given an ideal I ≤ A
, we send it to Mₙ(I)
.
Given an ideal J ≤ Mₙ(A)
, we send it to {x₀₀ | x ∈ J}
.
Equations
- TwoSidedIdeal.equivRingConMatrix' A ι oo = { toEquiv := TwoSidedIdeal.equivRingConMatrix A ι oo, map_rel_iff' := ⋯ }
Instances For
@[simp]
theorem
TwoSidedIdeal.equivRingConMatrix'_apply_ringCon_r
(A : Type u_1)
[Ring A]
(ι : Type)
[Fintype ι]
(oo : ι)
(I : TwoSidedIdeal A)
(X Y : Matrix ι ι A)
:
((equivRingConMatrix' A ι oo) I).ringCon.toSetoid X Y = ∀ (i j : ι), I.ringCon (X i j) (Y i j)
@[simp]
theorem
TwoSidedIdeal.equivRingConMatrix'_symm_apply_ringCon_r
(A : Type u_1)
[Ring A]
(ι : Type)
[Fintype ι]
(oo : ι)
(J : TwoSidedIdeal (Matrix ι ι A))
(x y : A)
:
((RelIso.symm (equivRingConMatrix' A ι oo)) J).ringCon.toSetoid x y = ∃ x_1 ∈ J, x_1 oo oo = x - y
The canonical map from Aᵒᵖ
to Hom(A, A)
Equations
- mopToEnd A = { toFun := fun (a : Aᵐᵒᵖ) => { toFun := fun (x : A) => x * MulOpposite.unop a, map_add' := ⋯, map_smul' := ⋯ }, map_one' := ⋯, map_mul' := ⋯, map_zero' := ⋯, map_add' := ⋯ }
Instances For
@[simp]
theorem
mopToEnd_apply_apply
(A : Type u_1)
[Ring A]
(a : Aᵐᵒᵖ)
(x : A)
:
((mopToEnd A) a) x = x * MulOpposite.unop a
The canonical map from A
to Hom(A, A)ᵒᵖ
Equations
- toEndMop A = { toFun := fun (a : A) => MulOpposite.op { toFun := fun (x : A) => x * a, map_add' := ⋯, map_smul' := ⋯ }, map_one' := ⋯, map_mul' := ⋯, map_zero' := ⋯, map_add' := ⋯ }
Instances For
@[simp]
theorem
toEndMop_apply
(A : Type u_1)
[Ring A]
(a : A)
:
(toEndMop A) a = MulOpposite.op { toFun := fun (x : A) => x * a, map_add' := ⋯, map_smul' := ⋯ }
the map Aᵒᵖ → Hom(A, A)
is bijective
Equations
- mopEquivEnd A = RingEquiv.ofBijective (mopToEnd A) ⋯
Instances For
the map Aᵒᵖ → Hom(A, A)
is bijective
Equations
- equivEndMop A = RingEquiv.ofBijective (toEndMop A) ⋯
Instances For
@[simp]
theorem
equivEndMop_symm_apply
(A : Type u_1)
[Ring A]
(b : (Module.End A A)ᵐᵒᵖ)
:
(equivEndMop A).symm b = Function.surjInv ⋯ b
@[simp]
theorem
equivEndMop_apply
(A : Type u_1)
[Ring A]
(a : A)
:
(equivEndMop A) a = MulOpposite.op { toFun := fun (x : A) => x * a, map_add' := ⋯, map_smul' := ⋯ }
@[simp]
theorem
matrixEquivMatrixMop_apply
(n : ℕ)
(D : Type u_4)
[Ring D]
(M : Matrix (Fin n) (Fin n) Dᵐᵒᵖ)
:
(matrixEquivMatrixMop n D) M = MulOpposite.op (M.transpose.map fun (d : Dᵐᵒᵖ) => MulOpposite.unop d)
@[simp]
theorem
matrixEquivMatrixMop_symm_apply
(n : ℕ)
(D : Type u_4)
[Ring D]
(M : (Matrix (Fin n) (Fin n) D)ᵐᵒᵖ)
:
(matrixEquivMatrixMop n D).symm M = (MulOpposite.unop M).transpose.map fun (d : D) => MulOpposite.op d
@[reducible, inline]
noncomputable abbrev
Wedderburn_Artin.aux.n
{A : Type u}
[Ring A]
[simple : IsSimpleRing A]
(I : Ideal A)
(I_nontrivial : I ≠ ⊥)
:
Equations
- Wedderburn_Artin.aux.n I I_nontrivial = Nat.find ⋯
Instances For
@[reducible, inline]
noncomputable abbrev
Wedderburn_Artin.aux.x
{A : Type u}
[Ring A]
[simple : IsSimpleRing A]
(I : Ideal A)
(I_nontrivial : I ≠ ⊥)
:
Equations
- Wedderburn_Artin.aux.x I I_nontrivial = ⋯.choose
Instances For
@[reducible, inline]
noncomputable abbrev
Wedderburn_Artin.aux.i
{A : Type u}
[Ring A]
[simple : IsSimpleRing A]
(I : Ideal A)
(I_nontrivial : I ≠ ⊥)
:
Equations
- Wedderburn_Artin.aux.i I I_nontrivial = ⋯.choose
Instances For
theorem
Wedderburn_Artin.aux.n_ne_zero
{A : Type u}
[Ring A]
[simple : IsSimpleRing A]
(I : Ideal A)
(I_nontrivial : I ≠ ⊥)
:
def
endPowEquivMatrix
(A : Type u_4)
[Ring A]
(M : Type u_5)
[AddCommGroup M]
[Module A M]
(n : ℕ)
:
Module.End A (Fin n → M) ≃+* Matrix (Fin n) (Fin n) (Module.End A M)
Equations
- endPowEquivMatrix A M n = ↑(endVecAlgEquivMatrixEnd (Fin n) ℤ A M)
Instances For
theorem
Wedderburn_Artin_ideal_version
(A : Type u)
[Ring A]
[IsArtinianRing A]
[simple : IsSimpleRing A]
:
theorem
RingEquiv.mem_center_iff
{R1 : Type u_2}
{R2 : Type u_3}
[Ring R1]
[Ring R2]
(e : R1 ≃+* R2)
(x : R1)
:
x ∈ Subring.center R1 ↔ e x ∈ Subring.center R2
@[simp]
theorem
algebraMapEndIdealMop_apply
(K : Type u)
{B : Type v}
[Field K]
[Ring B]
[Algebra K B]
(I : Ideal B)
(k : K)
:
(algebraMapEndIdealMop K I) k = MulOpposite.op { toFun := fun (x : ↥I) => k • x, map_add' := ⋯, map_smul' := ⋯ }
instance
instAlgebraMulOppositeEndSubtypeMemIdeal_brauerGroup
(K : Type u)
(B : Type v)
[Field K]
[Ring B]
[Algebra K B]
(I : Ideal B)
:
Algebra K (Module.End B ↥I)ᵐᵒᵖ
Equations
theorem
algebraEndIdealMop.algebraMap_eq
(K : Type u)
(B : Type v)
[Field K]
[Ring B]
[Algebra K B]
(I : Ideal B)
:
algebraMap K (Module.End B ↥I)ᵐᵒᵖ = algebraMapEndIdealMop K I
theorem
Wedderburn_Artin_algebra_version
(K : Type u)
(B : Type v)
[Field K]
[Ring B]
[Algebra K B]
[FiniteDimensional K B]
[sim : IsSimpleRing B]
:
theorem
bijective_algebraMap_of_finiteDimensional_divisionRing_over_algClosed
(K : Type u_2)
(D : Type u_3)
[Field K]
[IsAlgClosed K]
[DivisionRing D]
[alg : Algebra K D]
[FiniteDimensional K D]
:
Function.Bijective ⇑(algebraMap K D)
theorem
simple_eq_matrix_algClosed
(K : Type u)
(B : Type v)
[Field K]
[Ring B]
[Algebra K B]
[FiniteDimensional K B]
[IsAlgClosed K]
[IsSimpleRing B]
: