---
title: "Magma V2.28-5 Patch Notes"
canonical: "https://docs.magma-maths.org/patchnotes/2.28-5.html"
source: "https://docs.magma-maths.org/patchnotes/2.28-5.md"
---

<a id="magma-v2-28-5-patch-notes"></a>
# Magma V2.28-5 Patch Notes

## Cohomology

- The function `SplitExtension` has been improved.

## Commutative Algebra

- A problem when computing Groebner bases over prime finite fields with size between 32 and 61 bits has been fixed.

## FP Groups

- A crash using `Kernel` on a homomorphism with codomain an fp-group has been adjusted to a runtime error. Bug reported by A. Previtali.

## Finite Fields

- A crash when computing square roots of elements in non-standard double extension fields (arising from computing the order of jacobians of hyperelliptic curves) has been fixed. Reported by Y. Uesato.

## Finite Groups

- New function [`SmallestGeneratingSet(G)`](../FiniteGroups/Groups/operation.md#function-smallestgeneratingset-grp) which returns a generating set of smallest size for the finite group $G$ (the algorithm is based on that described in: Andrea Lucchini and Dhara Thakkar, The Minimum Generating Set Problem [`arXiv:2306.07633`]).
- New function [`PermutationRepresentationQuotient(G, N)`](../FiniteGroups/Groups/category-transfer.md#function-permutationrepresentationquotient-grp-grp) to compute a faithful permutation representation of $G/N$.
- New function [`IsAbstractFrobeniusGroup(G)`](../FiniteGroups/Groups/operation-subgroup.md#function-isabstractfrobeniusgroup-grpfin), which decides whether the finite group $G$ has a faithful permutation represention with image equal to a Frobenius group. If so, then a Frobenius kernel and complement for this representation are returned in addition to true.
- New options for the `type` input parameter in the intrinsic [`ClassicalMaximals(type, d, q)`](../FiniteGroups/AlmostSimpleGroups/properties-lie-groups.md#function-classicalmaximals-monstgelt-rngintelt-rngintelt) have been introduced.  These are: “SL”, “GL”, “Sp”, “SU”, “GU”, “Omega+”, “Omega-”, “Omega”, “SO+”, “SO-”, “SO”, “GO+”, “GO-” (which are the same as the options for ClassicalClasses(type, d, q) ).  Their meaning is as expected. For example, ClassicalMaximals(“SO+”,8,5) returns representatives of the conjugacy classes of the maximal subgroups of the group returned by the intrinsic SOPlus(8,5).
- The function [`SearchForIsomorphism`](../FinitelyPresentedGroups/FPGroups/homomorphism.md#function-grpfp-1-searchforisomorphism) now has the parameter `MaxStates`.
- The database of primitive groups has been extended to degree 8191.
- Bugs in `MaximalSubgroups` for some special cases have been fixed.

## Matrices

- A better error message is given when matrix inversion fails because an algorithm is not supported for the base ring.
- A crash in commutator computation where the base ring is not a field has been fixed.

## Matrix Groups

- The algorithm for computing centralisers or conjugacy testing for elements of matrix groups now uses special algorithms for classical groups when applicable.
- New functions [`SpinClasses`](../FiniteGroups/MatrixGroupsOverGeneralRings/conjugate.md#function-spinclasses-grpmat), [`SpinConjugacyClasses`](../FiniteGroups/MatrixGroupsOverGeneralRings/conjugate.md#function-spinconjugacyclasses-grpmat), [`SpinIsConjugate`](../FiniteGroups/MatrixGroupsOverGeneralRings/conjugate.md#function-spinisconjugate-grpmat-grpmatelt-grpmatelt), `SpinCentraliser`, [`SpinCentralizer`](../FiniteGroups/MatrixGroupsOverGeneralRings/conjugate.md#function-spincentralizer-grpmat-grpmatelt), [`SpinClassMap`](../FiniteGroups/MatrixGroupsOverGeneralRings/conjugate.md#function-spinclassmap-grpmat) for spin groups.
- The function [`NameSimple`](../FiniteGroups/PermutationGroups/identification.md#function-namesimple-grpperm) now applies to matrix groups as well as permutation groups. Request of R. Keith Dennis.

## PC Groups

- The function `AutomorphismGroup` for PC groups uses a new special algorithm by default when applicable.
- A bug in `IrreducibleModules` of a PC group has been fixed. Bug reported by E. O’Brien.

## System

- New function [`Fork()`](../MagmaLanguage/InputOutput/system-calls-2.md#function-fork) which calls the Unix/Linux system call `fork()` and returns the process ID of the child (if now running as the parent), or returns 0 (if now running as the child).
- New function `WaitForAllChildren()` which waits until all children (created via [`Fork()`](../MagmaLanguage/InputOutput/system-calls-2.md#function-fork)) have exited.
