---
title: "Magma V2.12-7 Patch Notes"
canonical: "https://docs.magma-maths.org/patchnotes/2.12-7.html"
source: "https://docs.magma-maths.org/patchnotes/2.12-7.md"
---

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

## Geometry

- A basic optimisation has been added for building function fields of non-plane curves. This chooses the affine patch and transcendental variable in such a way as to produce function fields that are of smallish degree over the base $k(x)$.
- Proper checks have been added for the existence of function fields of non-plane curves. The condition is that the curve $C$ is integral (reduced and irreducible). However, as this can involve a heavy Gröbner basis computation for curves in higher-dimensional spaces, there is a weaker check that is the default. The weak check - often much faster - guarantees that the function field can be built, but only that $C$ is integral on the chosen affine patch: in pathological cases there may be nilpotency or extra irreducible components only “at infinity”. Accordingly, `HasFunctionField` now has a boolean parameter `WeakCheck` that is true by default. The full integrality check for projective non-plane curves can be performed by setting `WeakCheck` to false (or directly by the user). For plane curves or ambients, the parameter has no effect.
- A bug in `IsEmpty``(X)` for projective schemes $X$ has been fixed.

## Group Theory

- Two bugs have been fixed in the permutation group function [`IsWreathProduct`](../FiniteGroups/PermutationGroups/operation.md#function-iswreathproduct-grpperm). These bugs would cause the function to crash from time to time.
- Incorrect error warnings when computing the class of an element of a matrix group have been fixed.
- The function `Conjugates` for computing the class of an element of a matrix group has had its previous artificial maximum size limit removed. This limit may be set by the user via a parameter.
- Incorrect Magma level printing of special unitary groups has been corrected. Bug reported by Eamonn O’Brien.
- A bug in computing the order of large orthogonal groups has been fixed.
- A bug in computing minimal blocks of a transitive permutation group has been fixed. A block may have been missed when the group already had base with first base point not 1. Bug reported by Claus Fieker.

## Invariant Theory

- A bug in `SecondaryInvariants` for the trivial group has been fixed (reported by J. Shanks).

## Matrices

- A bug in `InvariantFactors` of a matrix has been fixed (bug reported by Henrik Baarnhielm).

## Representation Theory

- The function that computes all irreducible $GK$-modules for a non-soluble group $G$ and a finite field $K$ has had its default limits altered so as to allow much more effort to be applied. (Modules of dimension up to $20000$ will be split, compared with $2000$ previously).

## Rings and Fields

- `IsCoercible` could still fail instead of returning false in certain local fields.
- `Conjugates` and related functions for non-simple number fields tended to hang in certain situations.
- Intersections of fractional ideals in number fields almost always returned incorrect results.
- `ColonIdeal` applied to an ideal in the order of a number field would fail if the first argument is a principal ideal generated by an integer and the order is non-maximal.
- A bug in `Discriminant` over function fields has been fixed (reported by M. Stoll).
- A bug in the computation of real (complex) roots of large polynomials has been fixed (reported by M. Stoll).
