---
title: "Magma V2.18-4 Patch Notes"
canonical: "https://docs.magma-maths.org/patchnotes/2.18-4.html"
source: "https://docs.magma-maths.org/patchnotes/2.18-4.md"
---

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

## Algebraic Curves

- A bug that was causing sporadic crashes after a Runtime Error in `Place(s)` has been fixed. Reported by Emmanuel Thome.

## Algebraic Fields

- Improvements to `GaloisGroup` computations for polynomials over number fields (including $\mathbb{Q}$) and rational and algebraic function fields have been made.
- `NumberOfOperations` counting multiplications in a Galois invariant involving a powering operation has been fixed. Reported by A-S. Elsenhans.

## Algebras

- An error in `DirectSum` for left algebra modules has been fixed. Reported by M. Towers.
- A crash in the `ideal< | >` constructor when less elements than the dimension of the algebra were given in the right hand side has been fixed.

## Coding Theory

- A bug that could cause [`MinimumWords`](../CodingTheory/LinearCodes/structural.md#function-minimumwords-code) to return spurious words not in the code has been fixed.  This bug could be triggered by some quasicyclic codes.  Reported by M. Grassl.
- A rare minor leak in the minimum weight algorithm has been fixed.
- Fixed a bug that would cause the weight distribution of a self-dual quantum code to be set to all zero on creation if the weight distribution of the stablizer code was already known. Reported by M. Grassl.
- Corrected the result of [`BCHBound`](../CodingTheory/LinearCodes/bound.md#function-bchbound-code) when called on a code with generator polynomial $(x^n - 1)/(x - 1)$.  (Should have been $n$, was returning 1.)  Reported by T. Feulner.

## Continued Fractions

- A large memory usage with `ContinuedFraction` of 0.0 has been fixed.

## Elliptic Curves

- A bug has been fixed that could cause the order of a torsion point on a non-integral elliptic curve over the rationals to be erroneously reported as infinite.
- A rare crash when deleting an elliptic curve over a finite field has been fixed.

## Function Fields

- Extra printing which occurred when computing a `GaloisGroup` of a polynomial over a rational function field with characteristic 0 or a global algebraic function field has been removed.
- Extra printing which occurred when computing `Subfields` of a global function field has been removed.
- The precision used in the computation of the roots in a `GaloisGroup` computation for a polynomial over an algebraic function field has been adjusted.

## Groebner Bases

- A problem in verbose printing for the F4 algorithm has been fixed. Reported by M. Grassl.

## Groups

- A crash in the [`GrowthFunction`](../FinitelyPresentedGroups/AutomaticAndHyperbolicGroups/automatic-groups.md#function-growthfunction-grpatc) of an automatic group has been fixed.
- More access to information about an automatic group has been given. New intrinsic functions applying to automatic groups are: `FPGroup`, [`WordDifferenceSize`](../FinitelyPresentedGroups/AutomaticAndHyperbolicGroups/automatic-groups.md#function-worddifferencesize-grpatc), [`WordAcceptorSize`](../FinitelyPresentedGroups/AutomaticAndHyperbolicGroups/automatic-groups.md#function-wordacceptorsize-grpatc), [`WordDifferenceAutomaton`](../FinitelyPresentedGroups/AutomaticAndHyperbolicGroups/automatic-groups.md#function-worddifferenceautomaton-grpatc), [`GeneratorOrder`](../FinitelyPresentedGroups/AutomaticAndHyperbolicGroups/automatic-groups.md#function-generatororder-grpatc).
- The function [`HasInfiniteComputableAbelianQuotient`](../FinitelyPresentedGroups/FPGroups/quotient.md#function-hasinfinitecomputableabelianquotient-grpfp) has been given a 4th return value, of boolean type, to distinguish between finding that the group has a finite derived quotient (true), and failing to compute the derived quotient (false). In both of these cases the 1st return value is false. Request of E. O’Brien.
- A bug to do with the printing of an empty sequence after applying `Subgroups` to an abelian group and (correctly) finding empty result has been fixed. Reported by D. Gruenewald.
- A bug in [`HomomorphismsProcess`](../FinitelyPresentedGroups/FPGroups/homomorphism.md#function-grpfp-1-homomorphismsprocess) has been fixed. The process could, in some situations, return maps that were not homomorphisms. The closely related `Homomorphisms` function was not affected by this bug. Reported by E. O’Brien.

## Hyperelliptic Curves

- The intrinsic function [`IsDeficient`](../ArithmeticGeometry/HyperellipticCurves/jacobians-number-fields.md#function-isdeficient-crvhyp-rngintelt) was incorrectly returning false in a particular (and rare) situation, also causing `IsOdd` and `IsEven` to return incorrect values. This has been corrected
- [`IsDeficient`](../ArithmeticGeometry/HyperellipticCurves/jacobians-number-fields.md#function-isdeficient-crvhyp-rngintelt), `IsOdd` and `IsEven` have been extended to cover all hyperelliptic curves of genus up to 6 defined over the rationals.
- A problem computing resolvents which caused `TwoSelmerGroup` to crash in certain odd genus examples has been corrected.
- In `TwoSelmerGroup` and [`TwoCoverDescent`](../ArithmeticGeometry/HyperellipticCurves/two-selmer-set.md#function-twocoverdescent-crvhyp) primes dividing the leading coefficient of the defining polynomial were not always included in the set of bad primes, leading to incorrect results. This has been corrected.
- `TwoSelmerGroup` has been improved for curves of genus > 2 over the rationals. In particular it is now possible to compute 2-Selmer groups in cases where the previous algorithm would never terminate.
- `RankBounds` is now implemented for hyperelliptic curves of any genus over the rationals (it was previously only for genus 2).
- `RankBounds` now provides a sharper upper bound for certain even degree hyperelliptic curves. This is achieved by checking for certain nontrivial elements in Sha[2] using an algorithm of Creutz.
- A bug in `IsIsomorphic` when comparing  hyperelliptic curves of differing degrees over p-adic fields. Reported by J.S. Mueller.
- New intrinsic functions [`HasIndexOne`](../ArithmeticGeometry/HyperellipticCurves/jacobians-number-fields.md#function-hasindexone-crvhyp-rngintelt) and [`HasIndexOneEverywhereLocally`](../ArithmeticGeometry/HyperellipticCurves/jacobians-number-fields.md#function-hasindexoneeverywherelocally-crvhyp) have been added. These test the existence of divisors of degree 1 on cyclic covers of P^1 defined over p-adic fields.
- [`HasPointsEverywhereLocally`](../ArithmeticGeometry/HyperellipticCurves/cyclic-covers.md#function-haspointseverywherelocally-rngupolelt-rngintelt) now checks for points over the reals.
- `TorsionSubgroup` is now implemented for higher genus curves of odd degree over the rationals. Previously this was only for genus 2.
- A error in `IsLocallySolvable` causing a crash caused by coercion problems has been fixed.

## L-series

- A runtime error for some Artin L-function calculations (to do with local splitting fields) has been fixed.

## Lattices

- A memory leak when testing two lattices for isometry has been fixed. Reported by G. Bellot.

## Lie Theory

- Fixed a problem with W-Graph representation and Hecke representations. Also fixed the return types for [`ComplexRootDatum`](../LieTheory/ReflectionGroups/create-group-refl-complex.md#function-complexrootdatum-rngintelt).

## Matrices

- A problem with long vectors over integer residue class rings has been fixed.  Reported by A. Lauder.

## Number Fields

- A crash in the construction of an ideal from an ideal of the coefficient ring has been fixed. Reported by E. Thome.
- Incorrect errors in `RayClassGroup` have been fixed. Reported by K. Matsuno.
- A crash in some computations with large units has been replaced with an error. Reported by K. Matsuno.

## Polynomial Rings

- A crash in `IsSquare` for recursive polynomial rings has been fixed. Reported by M. Zieve.

## Quadratic Fields

- `div` and `IsQuadratic` have been improved so that many calls do not increase memory usage substantially and subsequently slow down further computations.

## Sets

- The speed of `RandomSubsets` has been improved for large sets. Thanks to U. Thiel for the report.

## Transcendental Functions

- A bug triggered by purely imaginary input to [`Psi`](../BasicRings/RealAndComplexFields/gamma-bessel.md#function-psi-fldreelt) was fixed.
- A bug triggered by low-precision input to [`Psi`](../BasicRings/RealAndComplexFields/gamma-bessel.md#function-psi-fldreelt) was fixed.
