MathOverflow Asked by Bernhard Boehmler on December 1, 2020

Let $k$ be a finite field with char$(k)=p>0$. Let $G$ be a finite group.

Consider the group algebra $kG$.

I would like to solve a given system of equations in $kG$.

**Question:**

Is there a computer algebra system that can solve a given system of equations in $kG$?

Any help is appreciated.

Thank you very much.

A partial answer in a very special case, but still possibly useful to record.

The search for idempotents in a group algebra can be simplified by using GAP's MeatAxe: https://www.gap-system.org/Manuals/doc/ref/chap69.html

For example, if $G$ is the dihedral group with eight elements, and $F$ the field with eight elements, the following code verifies that $kG$ is indecomposable as a $G$-module, which means that the only idempotents are zero and one.

```
G := DihedralGroup(8)
k := FiniteField(8);
cayley := Action(G, AsList(G), OnRight);
reg := PermutationGModule(cayley, k);
MTX.IsIndecomposable(reg);
```

More generally, if $M$ is a MeatAxe module, you can compute a direct sum decomposition using

```
MTX.Indecomposition(M)
```

Of course, this doesn't solve for all the idempotents---it only returns a few. You can also use

```
MTX.HomogeneousComponents(M)
```

to break the search into smaller algebras before using a more brute-force method.

Answered by John Wiltshire-Gordon on December 1, 2020

As you say you have a given system of equations, you can do this by brute-force in GAP. The following constructs a group algebra $kG$ in GAP -- this one constructs $kG$ when $k = GF(4)$ and $G = C_2$.

```
G := CyclicGroup(2);
k := FiniteField(4);
kG := GroupRing(k,G);
```

The output is then

```
gap> kG;
<algebra-with-one of dimension 2 over GF(2^2)>
```

and, as expected, one can run commands such as

```
gap> Size(kG);
16
gap> Elements(kG);
[ <zero> of ..., (Z(2)^0)*<identity> of ..., (Z(2)^0)*<identity> of ...+(Z(2)^0)*f1,
(Z(2)^0)*<identity> of ...+(Z(2^2))*f1, (Z(2)^0)*<identity> of ...+(Z(2^2)^2)*f1, (Z(2^2))*<identity> of ...,
(Z(2^2))*<identity> of ...+(Z(2)^0)*f1, (Z(2^2))*<identity> of ...+(Z(2^2))*f1, (Z(2^2))*<identity> of ...+(Z(2^2)^
2)*f1, (Z(2^2)^2)*<identity> of ..., (Z(2^2)^2)*<identity> of ...+(Z(2)^0)*f1,
(Z(2^2)^2)*<identity> of ...+(Z(2^2))*f1, (Z(2^2)^2)*<identity> of ...+(Z(2^2)^2)*f1, (Z(2)^0)*f1, (Z(2^2))*f1,
(Z(2^2)^2)*f1 ]
```

Now to solve your given system of equations is easy by brute force.

Answered by Carl-Fredrik Nyberg Brodda on December 1, 2020

Get help from others!

Recent Answers

- Joshua Engel on Why fry rice before boiling?
- Lex on Does Google Analytics track 404 page responses as valid page views?
- Peter Machado on Why fry rice before boiling?
- haakon.io on Why fry rice before boiling?
- Jon Church on Why fry rice before boiling?

Recent Questions

- How can I transform graph image into a tikzpicture LaTeX code?
- How Do I Get The Ifruit App Off Of Gta 5 / Grand Theft Auto 5
- Iv’e designed a space elevator using a series of lasers. do you know anybody i could submit the designs too that could manufacture the concept and put it to use
- Need help finding a book. Female OP protagonist, magic
- Why is the WWF pending games (“Your turn”) area replaced w/ a column of “Bonus & Reward”gift boxes?

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP