Zulip Chat Archive
Stream: Is there code for X?
Topic: Group algebra over finite groups
Utensil Song (Dec 28 2023 at 06:15):
I'm looking for Group algebra over finite groups in Mathlib, so far with little luck. Specifically, I need to naturally write the following in Lean:
(1) Let be a commutative finite group
(2) For , let be the real group algebra of
(3) is isomorphic (as an algebra) to the direct sum of and , denoted .
Utensil Song (Dec 28 2023 at 06:15):
(4) To see (3), we take as a generator for the real subalgebra , where acts as the real number 1, denoted , and take and as generators for , where acts as the complex number 1, denoted
Utensil Song (Dec 28 2023 at 06:16):
(5) Let's fast-forward to that adjoining an automorphism of order 3 to the quaternion group , identifying and , and adding in the new rules , to get the binary tetrahedral group, denoted .
(6) By identifying quaternions with and with in (5), we obtain a group algebra that can be decompsed to .
Utensil Song (Dec 28 2023 at 06:16):
Note that the above involves talking about a finite group in its generators/generating sets, then the group algebra also in generators then decompose it into subalgebras, also the ability of identifying generators, adjoining generators and adding new rules in an ad hoc way to create a new group, then obtain a group algebra. It also includes some made-up notations mimicking the set notations for this.
I can't really figure out how much of the infrastructure is available in Mathlib to support all of these, any help or pointer are greatly appreciated. :pray:
(Zulip can't send them all in one message, so I split them)
Kevin Buzzard (Dec 28 2023 at 14:19):
Group rings (for general groups, not just finite, and even for general monoids) are docs#MonoidAlgebra . The cyclic group of order 3 is either Multiplicative (ZMod 3)
if you want a concrete type or (G : Type) [Fintype G] (h : Fintype.card G = 3) [IsCyclic G]
if you want an abstract one. For (3/4) I would just write down -algebra homomorphisms in both directions and check they're inverse bijections by checking on a basis. I don't follow (5), if e=1 then the group law is multiplication so g=f-1 is nonsense (it's meaningless in G and false in k[G]). What group are you attempting to define here? Q_8 x C_3 or something else?
Utensil Song (Dec 28 2023 at 14:35):
Thanks for the hint on docs#MonoidAlgebra , I might have become trusting the result of moogle too much and didn't resort to plain mathlib doc/src search.
Utensil Song (Dec 28 2023 at 14:35):
Sorry, g=f-1
is a typo and should be g=f^{-1}
(fixed in the original post)
Utensil Song (Dec 28 2023 at 14:40):
The emphasis is that I wish to be able to talk about them with explicit generating sets, and only choosing the Z3/Q8/2T groups to demonstrate the usefulness of doing so in informal math.
Utensil Song (Dec 28 2023 at 14:44):
What group are you attempting to define here? Q_8 x C_3 or something else?
Yes, IIUC, .
Utensil Song (Dec 28 2023 at 14:55):
docs#DihedralGroup and docs#QuaternionGroup taught me that if I want to talk about generators I should use inductive types, but this way is less free when making connections between groups, particularly when following reasoning like in the original post which is a slightly rewritten excerpt from a paper discussing 2T group algebra and the relation with simpler groups.
Utensil Song (Dec 28 2023 at 15:03):
For (3/4) I would just write down R-algebra homomorphisms in both directions and check they're inverse bijections by checking on a basis.
Yes, this is something I imagine mathlib would do, but for something like it becomes verbose and scattered quickly. I wish to write that it decompoese to that in one go, then proving all the homomorphisms by identifying the generators and leaving the rest to automatic machinery. I don't know if there is anything like these, maybe for other areas, in mathlib?
Kevin Buzzard (Dec 28 2023 at 15:12):
If is a finite group then working out the group algebra is equivalent to working out the representation theory of (this is doable), and working out is equivalent to working out the representation theory of and also a bunch of Schur indices or whatever they're called. This would involve developing a bunch of theory which AFAIK isn't there yet (but which wouldn't be too hard to do in this case, there are tricks which work over the reals). You could then do But I suspect that whatever way you choose you'll be forced to do some pretty messy calculations.
Utensil Song (Dec 28 2023 at 15:57):
Indeed, these are very helpful clues (that I can work out slowly), this way also feels natural to me. Maybe I don't really need to talk about generators in this case.
Last updated: May 02 2025 at 03:31 UTC