Commit 21b5032
authored
Faster high-level Meataxe functions for irreducible modules (e.g.
Several high-level Meataxe functions were much, much slower for
irreducible modules than their low-level counterparts (the ones
which *only* work for irreducible modules).
As an example, consider this test input:
n:=10;; # increase this to make the effect even stronger
G:=GL(56,GF(25));;
H:=Subgroup(G, Concatenation(GeneratorsOfGroup(G),List([1..n],i->PseudoRandom(G))));;
Then before these changes, we had:
gap> MTX.Indecomposition(NaturalGModule(H));; time;
1818
gap> MTX.IsomorphismModules(NaturalGModule(H),NaturalGModule(H));; time;
5408
After these changes:
gap> MTX.Indecomposition(NaturalGModule(H));; time;
22
gap> MTX.IsomorphismModules(NaturalGModule(H),NaturalGModule(H));; time;
23
To some extent this papers over a deeper issue: the general code in
MTX.Indecomposition and MTX.BasisModuleEndomorphisms ought to be way
faster: it is trivial to take the example here and e.g. form a direct
sum of modules to make it slow again.MTX.IsomorphismModules, MTX.Indecomposition, MTX.BasisModuleEndomorphisms, MTX.BasisModuleHomomorphisms) (#6276)1 parent 4a308b8 commit 21b5032
2 files changed
+19
-1
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1320 | 1320 | | |
1321 | 1321 | | |
1322 | 1322 | | |
| 1323 | + | |
| 1324 | + | |
| 1325 | + | |
| 1326 | + | |
1323 | 1327 | | |
1324 | 1328 | | |
1325 | 1329 | | |
| |||
1637 | 1641 | | |
1638 | 1642 | | |
1639 | 1643 | | |
1640 | | - | |
| 1644 | + | |
| 1645 | + | |
| 1646 | + | |
1641 | 1647 | | |
1642 | 1648 | | |
1643 | 1649 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
0 commit comments