Skip to content

Implement computing center of endomorphism algebra of a group module (in positive characteristic) #4660

Open
@fingolfin

Description

@fingolfin

Based on discussion with @fieker and @thofma regarding what we need to implement the Meataxe in char 0:

We need an efficient way to compute the centralizer of $E:=\mathrm{End}_G(M)$, where M is a $G$-module. Of course can do this by computing (as basis of) $E$ first, via GAP.Globals.MTX.BasisModuleEndomorphisms, but actually the code computing the endomorphisms computes the center as a byproduct (at least implicitly). So this is a matter of keeping this information during the computation (possibly if a suitable flag is provided).

So this requires changes to GAP for now.

I'd like to note that the central GAP function for this is SpinHom which has a comment suggesting it dates back to ~1996, and then this nugget:

However, this routine is nowhere near as good as the Magma algorithm, and I do not know how to improve it.

So down the road we should also look into implementing better/newer algorithms in GAP or Julia (hoping that there are papers outlining what they do -- let's collect references here if anyone knows some). Though for now the GAP code for matrices in small characteristic is faster than what we have in OSCAR, so those should be used for now until we get the better linear algebra in OSCAR ready.

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions