Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Merged by Bors] - feat(Mathlib/Algebra/BrauerGroup/Defs): define Brauer Equivalence and Brauer Group #20968

Closed
wants to merge 12 commits into from
1 change: 1 addition & 0 deletions Mathlib.lean
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@ import Mathlib.Algebra.BigOperators.Ring.Nat
import Mathlib.Algebra.BigOperators.RingEquiv
import Mathlib.Algebra.BigOperators.Sym
import Mathlib.Algebra.BigOperators.WithTop
import Mathlib.Algebra.BrauerGroup.Defs
import Mathlib.Algebra.Category.AlgebraCat.Basic
import Mathlib.Algebra.Category.AlgebraCat.Limits
import Mathlib.Algebra.Category.AlgebraCat.Monoidal
Expand Down
107 changes: 107 additions & 0 deletions Mathlib/Algebra/BrauerGroup/Defs.lean
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
/-
Copyright (c) 2025 Yunzhou Xie. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Yunzhou Xie, Jujian Zhang
-/
import Mathlib.Algebra.Central.Defs
import Mathlib.LinearAlgebra.FiniteDimensional.Defs
import Mathlib.LinearAlgebra.Matrix.Reindex
import Mathlib.Algebra.Category.AlgebraCat.Basic

/-!
# Definition of BrauerGroup over a field K
Whysoserioushah marked this conversation as resolved.
Show resolved Hide resolved

We introduce the definition of Brauer group of a field K, which is the quotient of the set of
all finite-dimensional central simple algebras over K modulo the Brauer Equivalence where two
central simple algebras `A` and `B` are Brauer Equivalent if there exist `n, m ∈ ℕ+` such
that the `Mₙ(A) ≃ₐ[K] Mₙ(B)`.
Whysoserioushah marked this conversation as resolved.
Show resolved Hide resolved

# TODOs
1. Prove that the Brauer group is an abelian group where multiplication is defined as tensorproduct.
2. Prove that the Brauer group is a functor from the category of fields to the category of groups.
3. Prove that over a field, being Brauer equivalent is the same as being Morita equivalent.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For this we do need to use the notion of Morita equivalence over a base field/commutative ring, which is now in #20632: see https://mathoverflow.net/questions/344673/are-azumaya-algebras-of-trivial-brauer-class-isomorphic-to-mathcalend-mathc#comment1183423_344684

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the official PR is actually #20640, I have a WIP branch on mathlib called azumaya_wip that's gonna be about proving azumaya algebras on fields aare indeed central simple algebras but a lot prerequists are yet to implement,
optimistically speaking that part of content is about 2-3 PRs away?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

equivalency of Azumaya and CSA sorry-freed! Next step is to prove Morita iff BrauerEquivalent over field!

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm inclined to wait with this PR for a little time while mathlib learns more about Azumaya algebras. Because I imagine that most of this file will have to be rewritten anyways once you have Morita equivalence for Azumaya algebras available.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No I think my current plan is (because I have lots of materials on CSA and BrauerGroup awaiting PR) to PR only about fields and I'm proving over fields this is equivalent to azumaya algebra and morita equivalence if that's okay

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, let's go for it.

bors merge


# References
* [Algebraic Number Theory, *J.W.S Cassels*][cassels1967algebraic]

## Tags
Brauer group, Central simple algebra, Galois Cohomology
-/

universe u v

/-- `CSA` is the set of all finite dimensional central simple algebras over field `K`, for its
generalisation over a `CommRing` please find `IsAzumaya` in `Mathlib.Algebra.Azumaya.Defs`. -/
structure CSA (K : Type u) [Field K] extends AlgebraCat.{v} K where
/-- Amy member of `CSA` is central. -/
Whysoserioushah marked this conversation as resolved.
Show resolved Hide resolved
[isCentral : Algebra.IsCentral K carrier]
/-- Any member of `CSA` is simple. -/
[isSimple : IsSimpleRing carrier]
/-- Any member of `CSA` is finite-dimensional. -/
[fin_dim : FiniteDimensional K carrier]

variable {K : Type u} [Field K]

instance : CoeSort (CSA.{u, v} K) (Type v) := ⟨(·.carrier)⟩

instance (A : CSA K): Ring A := A.toAlgebraCat.isRing

instance (A : CSA K): Algebra K A := A.toAlgebraCat.isAlgebra
Whysoserioushah marked this conversation as resolved.
Show resolved Hide resolved

attribute [instance] CSA.isCentral CSA.isSimple CSA.fin_dim

/-- Two finite dimensional central simple algebras `A` and `B` are Brauer Equivalent
if there exist `n, m ∈ ℕ+` such that the `Mₙ(A) ≃ₐ[K] Mₙ(B)`. -/
structure BrauerEquivalence (A B : CSA K) where
/-- dimension of the matrices -/
(n m : ℕ)
[hn: NeZero n]
[hm : NeZero m]
Whysoserioushah marked this conversation as resolved.
Show resolved Hide resolved
/-- The isomorphism between the `Mₙ(A)` and `Mₘ(B)`. -/
iso : Matrix (Fin n) (Fin n) A ≃ₐ[K] Matrix (Fin m) (Fin m) B

attribute [instance] BrauerEquivalence.hn BrauerEquivalence.hm

/-- `BrauerEquivalence` ad `Prop`. -/
abbrev IsBrauerEquivalent (A B : CSA K) : Prop := Nonempty (BrauerEquivalence A B)

namespace IsBrauerEquivalent

@[refl]
lemma refl (A : CSA K) : IsBrauerEquivalent A A := ⟨⟨1, 1, AlgEquiv.refl⟩⟩

@[symm]
lemma symm {A B : CSA K} (h : IsBrauerEquivalent A B) : IsBrauerEquivalent B A := by
obtain ⟨n, m, iso⟩ := h
exact ⟨⟨m, n, iso.symm⟩⟩
Whysoserioushah marked this conversation as resolved.
Show resolved Hide resolved

open Matrix in
@[trans]
lemma trans {A B C : CSA K} (hAB : IsBrauerEquivalent A B) (hBC : IsBrauerEquivalent B C) :
IsBrauerEquivalent A C := by
obtain ⟨n, m, iso1⟩ := hAB
obtain ⟨p, q, iso2⟩ := hBC
exact ⟨⟨p * n, m * q,
Whysoserioushah marked this conversation as resolved.
Show resolved Hide resolved
reindexAlgEquiv _ _ finProdFinEquiv |>.symm.trans <| Matrix.compAlgEquiv _ _ _ _|>.symm.trans <|
iso1.mapMatrix (m := Fin p)|>.trans <| Matrix.compAlgEquiv _ _ _ _|>.trans <|
Matrix.reindexAlgEquiv K B (.prodComm (Fin p) (Fin m))|>.trans <|
Matrix.compAlgEquiv _ _ _ _|>.symm.trans <| iso2.mapMatrix.trans <|
Matrix.compAlgEquiv _ _ _ _|>.trans <| reindexAlgEquiv _ _ finProdFinEquiv⟩⟩
Whysoserioushah marked this conversation as resolved.
Show resolved Hide resolved

lemma is_eqv : Equivalence (IsBrauerEquivalent (K := K)) where
refl := refl
symm := symm
trans := trans

end IsBrauerEquivalent

variable (K)

/-- `CSA` equipped with Brauer Equivalence is indeed a setoid. -/
def Brauer.CSA_Setoid: Setoid (CSA K) where
r := IsBrauerEquivalent
iseqv := IsBrauerEquivalent.is_eqv

/-- `BrauerGroup` is the set of all finite-dimensional central simple algebras quotient
by Brauer Equivalence. -/
abbrev BrauerGroup := Quotient (Brauer.CSA_Setoid K)
Loading