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

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

## Algebraic Geometry

- If called with an affine argument $X$, `ArithmeticGenus` now returns the arithmetic genus of the projective closure of $X$.

## Arithmetic Geometry

- In `Order`, `ZetaFunction` and `EulerFactor` for hyperelliptic curves or their Jacobians, the lower size bound for the switch to Kedlaya’s algorithm has been increased so that generic group order algorithms are used for orders less than around $10^{15}$ even in small (odd) characteristic.
- Two-Selmer groups of Jacobians: Revisions have been made to the procedures for determining the local groups $\frac{J(K)}{pJ(K)}$. Corrections have been made to fix bugs in `TwoSelmerGroupData` that arose with curves such as $y^2 = (x^2+31)(x^4+31^2)$ (reported by John Merriman). Fixes have also been made to `TwoSelmerGroup` to repair problems that showed up with many curves, for instance $y^2 = x^5-2$. This intrinsic should now be reliable at least for curves over $\mathbb{Q}$ given by minimal models. More convenient optional parameters have been provided for `TwoSelmerGroupData` for controlling the class group computations.
- Creating points on Jacobians from divisors: The new intrinsic [`JacobianPoint`](../ArithmeticGeometry/HyperellipticCurves/points-jac.md#function-jacobianpoint-jachyp-divcrvelt)`(J::JacHyp, D::DivCrvElt)` returns the point on the Jacobian $J$ (of a hyperelliptic curve $C$) associated to the divisor $D$ on $C$. If $D$ does not have degree 0, then a suitable multiple of the divisor at infinity is subtracted. When the divisor at infinity on $C$ has even degree, $D$ is required to have even degree. The function works for any divisor such that the corresponding point is definable in Magma. It is not implemented in characteristic 2.
- A bug in `TorsionSubgroup` for Jacobians has been fixed.

## Commutative Algebra

- A bug in factorization of polynomials over number fields has been fixed. Reported by M. Grassl.
- Some bugs have been fixed in `Normalization` for affine algebras and a number of other changes have been made to improve its efficiency. A verbose flag `IntCl` has been added to follow the stages of the computation.

## Function Fields

- The parameter `Check` on `ext` of orders of function fields has been fixed to default to true.

## Graphs

- The error resulting from constructing a graph with too many vertices has been modified from an internal error to a runtime error.

## Groups

- A bug in `MaximalSubgroups` has been fixed. The bug may have caused subgroups of groups with composition factors $PSL(3,p)$ or $PSU(3,p)$ to be missed.
- Two bugs in `ConjugacyClasses` have been fixed. The bugs occurred when the TFAl option was set to other than `Default`.
- Using `IsIsomorphic` on an insoluble group and a pc-group is now corrected. Bug reported by Kasper Andersen.
- The functions `Agemo` and `Omega` (p-groups) have been extended to allow 0 as 2nd argument. A bug in Omega has been fixed. Bug reported and extension requested by Kasper Andersen.
- Attempts to use [`IdentifyGroup`](../FiniteGroups/DatabasesOfGroups/smlgps-database.md#function-grpdata-identifygroup) on groups of order $p^7$ no longer crash, but still return a runtime error, as this is not yet implemented.

## Integers

- `Ceiling`, `Floor`, `ContinuedFraction` and [`BestApproximation`](../BasicRings/RealAndComplexFields/operation-element.md#function-bestapproximation-fldreelt-rngintelt) now operate directly on integers (trivially of course). This fixes problems with insufficient precision after the conversion to reals.
- [`NthPrime`](../BasicRings/Integers/prime.md#function-nthprime-rngintelt)`(3)` has been fixed (to return 5, not 6).

## Matrix Lie Algebras

- A bug in `ChangeRing` has been fixed.

## Number Fields

- The function `NormEquation` would in certain cases return a `Raw` representation of a solution when an explicit solution was asked for. This mainly affected relative norm equations and in particular, norm equations involving Abelian extensions (class fields).
- The function `Embed` would cause an internal error rather than a user error when called to create an embedding of a relative extension when the embedding of the coefficient ring was not there.
- [`AbsoluteAlgebra`](../ArithmeticGeometry/EllipticCurvesOverQAndNumberFields/over_anf.md#function-absolutealgebra-rngupolres) now accepts a `RngMPolRes`, not only a `RngUPolRes`.
- `SafeUniformiser` now works for relative extensions.

## Polynomial Rings

- A bug in `XGCD` for rational polynomials has been fixed.
- A bug in `Factorization` for integral/rational multivariate polynomials has been fixed. Reported by N. Bruin.

## Rational Numbers

- `ContinuedFraction` and [`BestApproximation`](../BasicRings/RealAndComplexFields/operation-element.md#function-bestapproximation-fldreelt-rngintelt) has been provided for rational numbers directly instead of converting to real numbers first.
