---
title: "Magma V2.16-8 Patch Notes"
canonical: "https://docs.magma-maths.org/patchnotes/2.16-8.html"
source: "https://docs.magma-maths.org/patchnotes/2.16-8.md"
---

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

## Algebraic Curves

- A bug in `CartierRepresentation` with a multiplicity argument has been fixed. Reported by A. Elkin.

## Brandt Modules

- For `HeckeOperator` at a ramified prime, an infinite loop occurred with the `ComputeGrams` option.  This case is disallowed. Reported by K. Buzzard.

## Characters of Groups

- A bug causing a crash has been fixed in the [`SchurIndex`](../RepresentationTheory/CharactersOfFiniteGroups/schur-index.md#function-schurindex-algchtrelt) function.

## Coding Theory

- The dimension of quantum codes over extensions of degree larger than two was incorrectly calculated.  This has been fixed; the dimension of a quantum code is now returned as a rational. Reported by M. Grassl.
- The computation of the MacWilliams transform (of a weight distribution) has been mildly sped up.
- The intrinsic [`NumberOfWords`](../CodingTheory/AdditiveCodes/structural.md#function-numberofwords-code-rngintelt) as applied to a linear code will now use the weight distribution where this is expected to be faster.  (In practice, when the dual is small.)

## Coherent Sheaves

- A bug in the computation of the maximal module of a sheaf (accessed by, eg, [`FullModule`](../AlgebraicGeometry/Sheaves/accessors.md#function-fullmodule-shfcoh)) has been fixed. Reported by E. Rains.

## Cryptography

- Fixed a bug in the hexadecimal digit conversion used by `SHA1`, which would cause incorrect results whenever the input contained alphabetic characters.  (i.e., a–f or A–F.) Reported by F. Hess.

## Elliptic Curves

- Fixed a minor bug with Hints in 4-descent, to simply re-call the function when the x-coordinates are not distinct. An example with SetSeed(1) would be for [`FourDescent(x^4 - 2*x^3 + 7*x^2 + 6*x + 9)`](../ArithmeticGeometry/EllipticCurvesOverQAndNumberFields/mordell-weil.md#function-fourdescent-crvhyp) at p = 3.

## Finite Fields

- A bug in [`CommonOverfield`](../BasicRings/FiniteFields/creation.md#function-commonoverfield-fldfin-fldfin) has been fixed.  Reported by E. Thomé.

## Galois Groups

- A fix has been made to `GaloisGroup` for a function field of characteristic p. The problem may have only occurred for small p. Reported by F. Möller.
- A fix has been made to `GaloisGroup` for a function field of characteristic 2. Reported by F. Möller.
- A problem with a wrong bound in [`GaloisSubfieldTower`](../GlobalFields/GaloisGroupsAndAutomorphisms/galois.md#function-galoissubfieldtower-galoisdata-grpperm) has been fixed. In same (very rare) cases where the bound was actually sharp the reconstruction failed. Reported by M. Watkins.

## Groups

- The simple group recognition code for Sp4 in characteristic 2, SU3, and SU4 has been revised by Peter Brooksbank, fixing a number of bugs.
- A bug giving an infinite loop in the `Simplify` command for finitely presented groups has been fixed. Bug reported by S. Humphries.
- A bug causing a crash in `LowIndexSubgroups` has been fixed. Fixed by Derek Holt.
- A bug in [`ClassicalMaximals`](../FiniteGroups/AlmostSimpleGroups/properties-lie-groups.md#function-classicalmaximals-monstgelt-rngintelt-rngintelt) has been fixed. There was a missing maximal subgroup of U(5,2) (missing group isomorphic to L(2,11)). Fixed by D. Holt.
- Bugs in the standard form functions [`UnitaryForm`](../FiniteGroups/AlmostSimpleGroups/group-recognition.md#function-unitaryform-grpmat) and `QuadraticForm` have been fixed. There were problems producing standard forms of odd degree. Fixed by D. Holt.
- The function `IsHomomorphism` for matrix groups is described in the manual but was not implemented. It is now implemented. Reported by A. Munemasa.
- A bug in the `MaximalSubgroups` code for families PSp(4,q), PSU(3,q), and PSU(4,q) has been rectified. The bug caused an infinite loop, but no incorrect results were returned. F. by Derek Holt.
- The quotient group constructor G/N has been extended to return the quotient group and, when two return values are assigned, the corresponding epimorphism.
- A spurious line in the printing of a subgroup lattice has been removed. Also the order of printing has been reversed, so the whole group, and then maximal subgroups, come at the top.

## Hilbert modular forms

- A failure in [`HilbertCuspForms`](../ModularArithmeticGeometry/HilbertModularForms/creation.md#function-hilbertcuspforms-fldnum-rngordidl-seqenum) over `NumberField(x^2-2869)` has been fixed.  Reported by J. Bryk.

## Lattices

- A bug in the computation of the inverse of the quotient map of a lattice by a sublattice has been fixed. Bug reported by N. Scheithauer.

## Lists

- Indexing a list by a sequence now works for ranged sequences as well.

## Local Fields

- (Trivial) code to access the Frobenius of a local field has been added. Reported by A. Elkin.
- New code to obtain the Verschiebung  of a local field has been added. Requested by A. Elkin.

## Matrices

- When creating a matrix by coercion of a sequence into the parent structure, the sequence is now allowed to be a sequence of sequences.

## Number Fields

- Fixed a bug in `IsPrincipal` for fractional ideals in non-maximal orders. In this case sometime principality would not get recognized or wrong generators could be returned. Reported by M. Kirschmer and J. Klüners.
- A problem in the code for the norm computation of elements in product representation could sometimes produce inconsistent results.
- A problem in the prime decomposition code would sometimes use special methods for Kummer extensions when not appropriate, resulting in ideals that are wrongly labelled prime.
- Added a function to obtain ring class fields from non-maximal orders.
- Fixed the code for Hilbert90 which would occasionally generate errors for correct input. Also, the result would frequently lie in a different ring from the input.
- The code for computing the gcd of a sequence of algebraic numbers had difficulties with short lists and lists containing too many zero elements. In this case a runtime error would be triggered.
- The function [`UnitGroupAsSubgroup`](../GlobalFields/NumberFieldsAndOrders/unit-group.md#function-unitgroupassubgroup-rngord) was trying to use a variable before assigning it, resulting in runtime errors. Reported by J. Klüners.

## Polynomial Rings

- A crash when computing the cardinality of a module over a residue ring has been fixed.  Reported by M. Grassl.
- A crash when computing the roots of a polynomial over a local ring which it could not be coerced into has been fixed.
- A crash when calling multivariate GCD over several different finite fields has been fixed.  Reported by T. Fisher.

## Quaternion Algebras

- LeftIdealClasses now return left ideals not right ideals. Reported by K. Buzzard.
- Several bugs in `MaximalOrder` and `HilbertSymbol` for quaternion algebras have been fixed.  Reported by J. Sisling, S. Donnelly.
- Enumerate also works for quaternion orders and ideals over Z.

## Schemes

- Various changes have been made to [`PointSearch`](../AlgebraicGeometry/Schemes/anfs.md#function-pointsearch-sch-fldrat-rngintelt). The first is to allow the user to avoid singularity checks via a flag. The second is a bug fix for umbilical points that could cause some small points to be missed. This was reported by T. Fisher and N. Bruin.
- A long-standing issue with `IsProjective`, `IsAffine`, and [`EmptySubscheme`](../AlgebraicGeometry/Schemes/schemes-creation.md#function-emptysubscheme-sch) in which incorrect answers could be returned in certain exceptional cases has been fixed. These intrinsics now take advantage of the toric geometry package when appropriate.

## Simplicial Complexes

- A bug in the computation of the boundary maps of the chain complex of a simplicial complex has been fixed. Bug reported by S. Humphries.

## System

- Fixed a bug that could occur under rare circumstances when package code called an eval which triggered the load of other package code.
