matrixss is a package for the GAP system (gap-system.org) implementing the Schreier-Sims algorithm for matrix groups, using different approaches. This can be used as an alternative to the built-in GAP implementation.
| Tags | Scientific/Engineering Mathematics |
|---|---|
| Licenses | GPL |
| Operating Systems | OS Independent |
| Implementation | Other |
Recent releases


Changes: A somewhat-complete manual now exists, and the code has had some cosmetic updates and more documentation. The package is now considered to be in beta stage, and the Debian packages has been changed.


Changes: The so-called Verify routine by Sims has been implemented from the description in Seress's book. This seems to be a better strong-generating test than the STCS algorithm, and one can now choose between them with an Option when using the probabilistic algorithm. The Verify algorithm is still neither cleaned up nor optimized in any way, so it is not fast, but it appears to be both sound and complete. The probabilistic algorithm now again uses the GAP function PseudoRandom to generate random group elements, since this appears to be faster.


Changes: An algorithm highly inspired by the nearly linear time algorithm, described in Seress book as well as in the 1991 paper by Babai et al, has been implemented. However, some parts of the nearly linear time algorithm has not yet been implemented; in particular, the "short Schreier trees". The implementation is still very slow, though, so the fastest version is still the standard deterministic algorithm. Other changes include the use of random subproducts in the probabilistic algorithm and changes in the representation of Schreier trees.


Changes: A rudimentary manual has been created, and it is both included in the package distribution and available from the package homepage. The code is now more GAP-connected in the sense that the algorithms are methods of an operation StabChainMatrixGroup, and the package installs a method for the Size attribute for finite matrix groups that uses that attribute to compute the order of a group.


Changes: The Schreier-Todd-Coxeter-Sims algorithm has been optimized and the handling of relations has been fixed. Homomorphisms are now only used when needed, and otherwise normal lists are used to map generator matrices to each corresponding free group.