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

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

## Algebraic Curves

- A bug in `FunctionField`, which was creating invalid algebraic function fields defined by reducible polynomials for some curves in positive characteristic, has been fixed.

## Algebraic Function Fields

- A problem computing residue fields in fields whose constant field is a univariate rational function field at prime polynomials over that rational function field which were inseparable has been fixed.

## Algebraic Number Fields

- `PseudoMatrix` now again accepts as input a sequence of ideals of an order and a matrix over an order. Reported by D. Yasaki.

## Associative Algebras

- Ideals of orders of associative algebras constructed using `ideal<|>` now have a basis in hermite normal form.

## Class Groups

- On repeated calls, `ClassGroup` did not always use the bound specified by the user via [`SetClassGroupBounds`](../GlobalFields/NumberFieldsAndOrders/ideal-class-group.md#function-setclassgroupbounds-monstgelt).
- The `ClassGroup` of a number field defined by a non-monic polynomial sometimes crashed; this has been fixed. Reported by A.-S. Elsenhans.
- For quadratic fields and quadratic forms, `ClassGroup` and `ClassNumber` did not terminate in very rare cases, e.g., for discriminant 202556. Reported by M. Wanless.

## Coding Theory

- A bug in `StandardForm` applied to $Z_4$ codes has been fixed. This bug would cause the result to not always have the required diagonal property.  Reported by M. Villanueva.

## Commutative Algebra

- Bugs in `Radical` and `PrimaryDecomposition` for positive dimensional ideals over fields of small characteristic have been fixed. Reported by E. Rains.

## Cyclotomic Fields

- A fix has been made to [`CoveringStructure`](../MagmaLanguage/StatementsAndExpressions/type.md#function-coveringstructure-str-str) and hence automatic coercion so that if the result has the same order as one of the inputs it will that input rather possibly a non-simple representation of it.
- A fix has been made to coercion from cyclotomic fields having simple representation to those having non-simple representation.

## Groups

- A crash when computing `IsConjugate` for two unordered partitions under the action of a permutation group, has been fixed.
- A crash when working with double cosets of a permutation group has been fixed.

## HyperellipticCurves

- A trivial bug (resulting in a runtime error) in [`TwoCoverDescent`](../ArithmeticGeometry/HyperellipticCurves/two-selmer-set.md#function-twocoverdescent-crvhyp) was fixed.  Reported by E. Gonzalez-Jimenez.
- A precision problem with `CanonicalHeight` (and `HeightPairing`) that caused crashes has been fixed (via try/catch and increasing the precision). Reported by J. S. Müller.

## Lattices

- A problem in the `LLL` function with the `DeepInsertions` parameter has been fixed.

## Local Fields

- Some issues with p-adic ring and field creation have been fixed; those could have caused two equal p-adic structures to be erroneously considered different, causing coercion problems.
- A fix has been made to `Roots` for a polynomial when the ring or field as the second argument has precision 1.
- Asking for the defining polynomial of a local ring with respect to itself no longer crashes.

## Matrices

- `ColumnSubmatrix` can now handle `[ .. ]` sequences as input.
- A crash in `Determinant` for sparse matrices has been fixed.

## Modular Symbols

- [`DegeneracyMap`](../ModularArithmeticGeometry/ModularSymbols/changing-level.md#function-degeneracymap-modsym-modsym-rngintelt) and [`DegeneracyMatrix`](../ModularArithmeticGeometry/ModularSymbols/changing-level.md#function-degeneracymatrix-modsym-modsym-rngintelt) now require the two arguments to be spaces of the same sign.  (Previously, repeated calls to these could sometimes return the answer for the wrong sign.)
- The maps returned by `MultiQuotientMaps` are now equipped with inverses.
- Some minor improvements have been made to the usability of `IsTwist` and [`IsMinimalTwist`](../ModularArithmeticGeometry/ModularSymbols/twists.md#function-isminimaltwist-modsym-rngintelt).

## Polynomial Rings

- A crash in [`DistinctDegreeFactorization`](../BasicRings/UnivariatePolynomialRings/factorization.md#function-distinctdegreefactorization-rngupolelt) when the `Degree` parameter was specified has been fixed.

## Schemes

- A bug with [`PointSearch`](../AlgebraicGeometry/Schemes/anfs.md#function-pointsearch-sch-fldrat-rngintelt) was been fixed. For affine schemes, points whose first coordinate was zero could be missed (this bug was introduced in the latest major Magma release). Note that [`PointSearch`](../AlgebraicGeometry/Schemes/anfs.md#function-pointsearch-sch-fldrat-rngintelt) is not guaranteed to find points, but the points in question should have been found. Reported by E. González Jiménez.

## Sparse Matrices

- `Submatrix` with indices is now supported.  Omission reported by N. Dunfield.

## Surfaces

- Several of the minimisation routines for surfaces failed to accept input consisting of polynomials over Q with denominators. Reported by A.-S. Elsenhans.
