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

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

## Algebraic Curves

- The new intrinsics [`IntersectionNumbers`](../AlgebraicGeometry/AlgebraicCurves/local-curve.md#function-intersectionnumbers-crvpln-crvpln) have been exported.
- The `Automorphisms` intrinsic has been sped-up when the argument is a `CrvHyp` by linking to the special hyperelliptic curve code for automorphisms. Changed after a report from John Doyle.

## Algebraic Function Fields

- The `Poles` of an element which has denominator with respect to the finite maximal order which is not squarefree has been fixed. Reported by M. Derickx.

## Coding Theory

- A possible crash in BCHCode for dimensions near $2^{15}$ (or greater) has been fixed.  Reported by Darcy Best.

## Elliptic Curves

- A runtime error which occurred in one case of `AutomorphismGroup` has been fixed.  Reported by Ben Smith.

## Galois Groups

- The [`Bound`](../GlobalFields/GaloisGroupsAndAutomorphisms/galois.md#function-bound-rngslpolelt-rngintelt) computation for `ProdSum` invariants of type `RngSLPolElt` has been fixed.
- Evaluation of `RngSLPolElt` at sequences not represented explicitly has been fixed.
- The efficiency of invariants has been improved, especially computing [`Bound`](../GlobalFields/GaloisGroupsAndAutomorphisms/galois.md#function-bound-rngslpolelt-rngintelt) and `NumberOfOperations` of such.
- A few improvements have been made to the computation of Galois groups of polynomials over characteristic $p$ function fields.

## Groebner Bases

- A crash when computing sygyzies over polynomial rings over residue class fields has been fixed.  Reported by F. Lunnon.

<a id="groups-finite"></a>
## Groups - Finite

- The database of irreducible quasisimple matrix groups having degrees up to 100 has had a number of small errors corrected. In some cases these errors prevented a group from being read from the database.  In addition, the group 3U35 in degree 48 is included for the first time. The problems were reported by Claus Fieker. The errors were corrected by Derek Holt; the missing representation of 3U35 was constructed by Allan Steel.
- A new function [`ClassicalRewrite`](../FiniteGroups/MatrixGroupsOverFiniteFields/natural-copy-classical.md#function-classicalrewrite-grp-seqenum-monstgelt-rngintelt-rngintelt-grpelt) has been added to the [`CompositionTree`](../FiniteGroups/MatrixGroupsOverFiniteFields/composition-tree.md#function-compositiontree-grpmat-fldfin) package which allows the user to write an arbitrary element of a classical group as an SLP in its standard generators. A special version, [`ClassicalRewriteNatural`](../FiniteGroups/MatrixGroupsOverFiniteFields/natural-copy-classical.md#function-classicalrewritenatural-monstgelt-grpmatelt-grpmatelt), performs the same task for a classical group in its natural representation. The new code was prepared by Csaba Schneider.
- A bug causing a crash in `LowIndexSubgroups` when applied to a permutation group has been fixed.

<a id="groups-finitely-presented"></a>
## Groups - Finitely Presented

- A crash when the intrinsic `Homomorphisms` was applied to a finitely-presented Coxeter group has been fixed. This also fixes a crash when applying [`SimpleQuotients`](../FinitelyPresentedGroups/FPGroups/quotient.md#function-grpfp-1-simplequotients) to such a group.

<a id="groups-soluble"></a>
## Groups - Soluble

- A bug whereby an incomplete subgroup lattice of a pc-group was stored in the group as if it were the complete subgroup lattice has been fixed. This led to subsequent calls to `Subgroups` intrinsics returning incomplete answers. Bug reported by Gabriel Verret.
- A bug (giving a runtime error) in the routines for computing cohomology of pc-groups has been fixed.  Bug reported by Stephen Humphries, fixed by Eamonn O’Brien and Ronan Egan.

## Hyperelliptic Curve

- A runtime error which occurred in `RankBound` has been fixed. Reported by Jeremy Rouse

## LSeries

- The LSeries of a real Dirichlet character could return the values -1, 0, and +1 in a cyclotomic field (rather than the integers) when defined via a large `DirichletGroup`. Reported by T. Ward.

## Local Rings and Fields

- Direct coercion has been enabled, for instance, from a p-adic ring or field into an extension of a p-adic ring or field of a differing precision. Reported by Tim Dokchitser.

## Matrices

- A bug in [`OrthogonalizeGram`](../LatticesQuadraticForms/Lattices/ortho.md#function-orthogonalizegram-mtrxspcelt) for matrices over a non-rational field has been fixed.

## Multivariate Polynomial Rings

- A bug in [`DiagonalForm`](../BasicRings/MultivariatePolynomialRings/operation-element.md#function-diagonalform-rngmpolelt) for quadratic polynomial forms which was itself caused by a bug in [`OrthogonalizeGram`](../LatticesQuadraticForms/Lattices/ortho.md#function-orthogonalizegram-mtrxspcelt) has been fixed.

## Number Fields

- In `ClassGroup`, occasionally an internal error occurred with the message “Bug in class group/unit computations!”.  This has been fixed. Reported by Daniel Mayer.
- `ClassGroup` for fields of large degree was getting stuck unnecessarily (attempting to compute field automorphisms), even when the (heuristic) class group computation is in fact feasible.  This no longer occurs.
- The [`GrossenTwist`](../GlobalFields/DirichletAndHeckeCharacters/introduction.md#function-grossentwist-grossenchar-list) intrinsic erroneously had its return type given as the non-existent “Grossenchar” rather than GrossenChar. Reported by D. R. Kohel.
- A repeated instance of an automorphism has been removed when `Automorphisms` is applied to a field of fractions of an order.

## Polynomials

- A patch for a problem with complex `Roots` was made, though the fix is only for the given case, and may cause problems elsewhere.
- Slowness when performing polynomial operations over large residue class rings has been fixed.  Reported by J. Klueners.

## Schemes

- A memory bug in the construction of scheme maps has been fixed. Reported by Claude Quitte.
- Checking for projective spaces which are not scrolls has been improved.

## Sets

- The construction of a set now insists that coercion of something into that universe is possible so that empty sets cannot be constructed when the universe does not have a corresponding element type.

## Surfaces

- A bug in [`HasOnlySimpleSingularities`](../AlgebraicGeometry/AlgebraicSurfaces/gen-sfcs.md#function-hasonlysimplesingularities-srfc) and [`IsSimpleSurfaceSingularity`](../AlgebraicGeometry/AlgebraicSurfaces/gen-sfcs.md#function-issimplesurfacesingularity-pt) has been fixed. Reported by Eric Rains.
- An error in the signature for [`IsSimpleSurfaceSingularity`](../AlgebraicGeometry/AlgebraicSurfaces/gen-sfcs.md#function-issimplesurfacesingularity-pt) has been fixed. Occasional crashes caused by a bug in [`DiagonalForm`](../BasicRings/MultivariatePolynomialRings/operation-element.md#function-diagonalform-rngmpolelt) (see below) have been eliminated.
- New surface constructors, [`RationalRuledSurface`](../AlgebraicGeometry/AlgebraicSurfaces/gen-sfcs.md#function-rationalruledsurface-prj-rngintelt), [`RandomCompleteIntersection`](../AlgebraicGeometry/AlgebraicSurfaces/gen-sfcs.md#function-randomcompleteintersection-prj-seqenum-rngintelt) and [`KummerSurfaceScheme`](../AlgebraicGeometry/AlgebraicSurfaces/gen-sfcs.md#function-kummersurfacescheme-crvhyp) have been exported.
