---
title: "Magma V2.25-3 Patch Notes"
canonical: "https://docs.magma-maths.org/patchnotes/2.25-3.html"
source: "https://docs.magma-maths.org/patchnotes/2.25-3.md"
---

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

## Cyclic Covers

- An infinite loop with `RankBound` was fixed. Reported by M. Stoll.

## Groups

- A crash when computing the commutator subgroup of two matrix groups has been fixed.
- The database of transitive permutation groups has been extended to include Derek Holt’s collection of degree 48 transitive groups. There are 195,826,352 groups stored as 15GB of data. This collection is believed to be all transitive groups of degree 48, up to conjugacy in the symmetric group, but this has not yet been checked. This is an optional database that must be downloaded separately: files `TrnGps48_pt0.tar.gz` to `TrnGps48_pt9.tar.gz` from `http://magma.maths.usyd.edu.au/magma/download/db/ `.
- A bug when using the `OrderEqual` filter in the `Subgroups` command, when the group has type `GrpPC`, and all subgroups have already been computed, has been fixed. Bug reported by Michael Zieve.

## Hyperelliptic Curves

- A major upgrade of the machinery for computing with hyperelliptic curves and, more generally, curves of genus $2$ has been provided by M. Stoll. The highlights are listed in the five points below:-
- The implementations of the [`HeightConstant`](../ArithmeticGeometry/HyperellipticCurves/jacobians-number-fields.md#function-heightconstant-jachyp) (for Jacobians) and `ReducedBasis` (for sets of Jacobian points) have been updated for greater efficiency. `CanonicalHeight` for genus 2 Jacobians over the rationals has also been improved, now using error functions on the Kummer surface.
- New intrinsics [`DoubleRichelotIsogenies`](../ArithmeticGeometry/HyperellipticCurves/richelot.md#function-doublerichelotisogenies-jachyp) applying to genus 2 curves or genus 2 Jacobians over the rationals have been added. These isogenies are defined over the rationals but are composites of two Richelot isogenies defined over a quadratic field.
- Also included is the intrinsic [`TwoPowerIsogenies`](../ArithmeticGeometry/HyperellipticCurves/richelot.md#function-twopowerisogenies-jachyp) which computes principally polarised abelian varieties of dimension two which are isogenous over the rationals to a genus 2 Jacobian over the rationals by an isogeny of degree a power of two.
- Intrinsics to compute the Mordell-Weil group of hyperelliptic Jacobians of genus 2 over the rationals, [`MordellWeilGroupGenus2`](../ArithmeticGeometry/HyperellipticCurves/jacobians-number-fields.md#function-mordellweilgroupgenus2-jachyp), or, more generally, Mordell-Weil groups of hyperelliptic Jacobians of genus 1 or 2 over, respectively, a number field or the rationals, `MordellWeilGroup` have been added.
- New intrinsics to compute the minimisation and/or reduction of binary homogeneous forms over the rationals have been added. These are [`MinimizeAtP`](../ArithmeticGeometry/HyperellipticCurves/creation.md#function-minimizeatp-rngmpolelt-rngintelt) and [`MinRedBinaryForm`](../ArithmeticGeometry/HyperellipticCurves/creation.md#function-minredbinaryform-rngmpolelt).

## IO

- Fixed a bug which only wrote the first 2^31 - 1 bytes when using [`WriteObject`](../MagmaLanguage/InputOutput/io-operations.md#function-writeobject-io-any) to a file.  Reported by M. Grassl.
- Fixed a similar bug that could prevent [`ReadObject`](../MagmaLanguage/InputOutput/io-operations.md#function-readobject-io) from a file from working with items with 2^31 bytes or more.

## Lattices

- A bug giving incorrect results in the maps for [`DualQuotient`](../LatticesQuadraticForms/Lattices/new-construction.md#function-dualquotient-lat) has been fixed.  Reported by M. Zimet.

## Local Fields

- A problem with applying an automorphism to zero in a p-adic field was fixed. Reported by C. Birkbeck.

## Number Fields

- A problem with the Round Four algorithm was fixed. Reported by J. Jones.
- `IsQuadratic` now returns [`true`](../MagmaLanguage/StatementsAndExpressions/boolean.md#literal-literal-true-true) for all degree 2 fields and also returns an isomorphic radical extension as a `FldQuad`. Requested by T. Breuer.
- `Compositum` of two number fields has been made potentially more efficient by checking the smaller degree field for normality first. Reported by A. Sutherland.

## Scheme Maps

- A new intrinsic [`ImproveParametrization`](../AlgebraicGeometry/Schemes/maps.md#function-sch-imp-para) has been added that, for a given scheme map from the projective line P^1 to an ordinary projective scheme over the rationals, finds a simpler such map by precomposing with a suitable automorphism (over the rationals) of P^1. Contributed by M. Stoll.

## System

- The database types (as returned by `DatabaseType`) have changed for almost all databases. User code that checks these types will need to be changed (but should probably use extended types instead; see the next point).
- The database type `DB` can now be extended with an appropriate string (as returned by `DatabaseType`). For instance, the extended type for the lattice database is `DB["Lat"]`. Most intrinsics taking a database as argument now use the extended type.
- Extended types may now be indexed to get the corresponding parameter (which will be either another extended type or a string).
- Extended types may have `#` applied to them to give the number of parameters of the type.
- The undocumented “custom” database type has been removed.
