---
title: "Magma V2.16-6 Patch Notes"
canonical: "https://docs.magma-maths.org/patchnotes/2.16-6.html"
source: "https://docs.magma-maths.org/patchnotes/2.16-6.md"
---

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

## Associative Algebras

- Equality of orders over polynomial rings has been fixed.
- Equality of ideals of orders of quaternion algebras over rings other than orders of number fields has been fixed.
- `Conjugate` of ideals of orders of quaternion algebras has been fixed.
- The comparison [`cmpeq`](../MagmaLanguage/StatementsAndExpressions/boolean.md#operation-operation-cmpeq-any-any-boolelt) is now available for quaternion orders as well as associative orders.
- [`RightIdealClasses`](../Algebras/QuaternionAlgebras/ideal-theory.md#function-rightidealclasses-algquatord) for indefinite algebras has been fixed.

## Boolean Polynomial Rings

- A problem in `NormalForm` for boolean polynomials has been fixed.

## Coherent Sheaves

- A bug in the internal function re-expressing a module as one over its Noether Normalising ring has been fixed. This was causing crashes in a number of sheaf intrinsics. Reported by C. Quitte (for [`IsLocallyFree`](../AlgebraicGeometry/Sheaves/shf:preds.md#function-shf-loc-free)).
- Failure of sheaf intrinsic calls due to failure of module saturation (occurs when the sheaf has non-equidimensional support or the support is of dimension zero) now produces a proper error message. Reported by C. Quitte (for an `IsIsomorphic` crash).

## Commutative Algebra

- A crash when computing a limited-degree Groebner basis over binary polynomials has been fixed.

## Cones and Polyhedra

- Fixed a bug in `subset`.
- Fixed a bug when Pick’s formula is used to compute the `Volume` of a polygon under certain conditions.
- Fixed a bug that can occasionally cause the return type of `Points` to change when a polytope is translated by an (integral) lattice vector.
- Improved image/preimage operations for maps of sets of cones and polyhedra.
- Improved mapping code for polytopes.
- Improved the implementation of Barvinok’s algorithm.
- Improved the Fourier-Motzkin implementation.
- Improved [`SimplicialSubdivision`](../AlgebraicGeometry/ToricVarieties/toric-fans.md#function-simplicialsubdivision-torfan).
- Tightened the bounding region searched by `Points`, [`BoundaryPoints`](../Geometry/Polytopes/combinatorics.md#function-boundarypoints-torpol), and [`InteriorPoints`](../Geometry/Polytopes/combinatorics.md#function-interiorpoints-torpol).
- Modified the `Polyhedron` constructor so that slicing by a hyperplane is more intuitive.
- Modified [`IsFakeWeightedProjectiveSpace`](../AlgebraicGeometry/ToricVarieties/toric-varieties.md#function-isfakeweightedprojectivespace-torvar) and [`IsWeightedProjectiveSpace`](../AlgebraicGeometry/ToricVarieties/toric-varieties.md#function-isweightedprojectivespace-torvar) to also return the corresponding weights.
- Renamed `AllConesOfCodimension` to [`ConesOfCodimension`](../AlgebraicGeometry/ToricVarieties/toric-fans.md#function-conesofcodimension-torfan-rngintelt).
- Renamed `AllConesOfDimension` to [`Cones`](../AlgebraicGeometry/ToricVarieties/toric-fans.md#function-cones-torfan).
- Renamed `Ehrhart` to [`EhrhartSeries`](../Geometry/Polytopes/combinatorics.md#function-ehrhartseries-torpol).
- Renamed `IsRegular` to [`IsSmooth`](../AlgebraicGeometry/ToricVarieties/toric-cones-and-polyhedra.md#function-issmooth-torpol) to better reflect the toric context.
- Added ‘cone + point’.
- Added the `Barvinok` intrinsic to run Barvinok’s algorithm on a sequence of integer points.
- Added the `FourierMotzkin` intrinsic.
- Added a new `Polyhedron` constructor for taking hyperplane slices through a given polyhedron.
- Added [`PolytopeOfWPS`](../Geometry/Polytopes/polytopes-cones-polyhedra.md#function-polytopeofwps-rngintelt): this implements Conrads’ techniques to quickly calculate a simplex whose spanning fan corresponds to the indicated weighted projective space.
- You can now calculate the integral lattice points contained a given hyperplane slice through a cone C using the `Points` intrinsic.
- The toric code over the finite field GF(q) associated to a polytope can be calculated using [`ToricCode`](../CodingTheory/AlgebraicGeometricCodes/decode-2.md#function-toriccode-torpol-rngintelt).
- Added [`BoundingBox`](../Geometry/Polytopes/polytopes-cones-polyhedra.md#function-boundingbox-torpol) intrinsic.
- Added `NonvanishingForm` for polytopes.
- Now supports face enumeration via `Faces`, `NumberOfFaces`, and [`FaceIndices`](../Geometry/Polytopes/basic-combinatorics.md#function-faceindices-torpol-rngintelt).
- Also supports edge enumeration via `Edges`, `NumberOfEdges`, and `EdgeIndices`.
- The face graph of a polyhedron can be calculated via `Graph`.
- Added [`fVector`](../Geometry/Polytopes/basic-combinatorics.md#function-fvector-torcon) and `fPolynomial`.
- The lattice automorphism group of of a polytope can be calculated via `AutomorphismGroup`.
- Added `FixedPoints` to return the points in P fixed by a group acting on the underlying lattice.
- Added [`FixedSubspaceToPolyhedron`](../Geometry/Polytopes/polytopes-cones-polyhedra.md#function-fixedsubspacetopolyhedron-grpmat) to return the subspace (realised as a polyhedron) fixed by a group action on a toric lattice.

## Finitely Presented Groups

- A bug in low index normal subgroups has been fixed. Reported by M. Conder.

## Function Fields

- Using the `sub` operator in an infinite degree extension of function fields produced an internal error rather than a user error. This has been corrected. Reported by Thomas Preu.
- A memory fix has been made to `Completion` of a function field at a place when the completion map was deleted without being used. Reported by C. Quitte.

## General Local Fields

- Fix to mapping of elements from the ramified representation of degree 1 extensions.
- Added `RelativePrecision` for elements of general local fields.
- Improved mapping to the ramified representation.
- Re-implementation of `FixedField` using invariants rather than matrix operations.
- Added `Degree` of a general local field over a given coefficient ring.

## L-Series

- A typo with `EulerFactor` for a modular form has been corrected.
- Faster code from Anton Mellit has been added for symmetric powers and tensor products.

## Lattice Database

- New code to support computations involving version 0.2 has been added. This corrects various problems arising with theta series having more than 256 terms.

## Linear Codes over Finite Rings

- The intrinsic [`KernelZ2CodeZ4`](../CodingTheory/LinearCodesOverZ4/z4-invar.md#function-kernelz2codez4-codelinrng) has been improved.

## Matrix Groups

- The package for infinite matrix groups implemented by Eamonn O’Brien and based on algorithms of Detinko and Flannery has been revised.

## Number Fields

- A problem producing an internal error when powering certain ideals in number fields has been fixed.

## Schemes

- A memory problem in `Module` that would cause internal errors later on has been fixed. Reported by Arsen Elkin.
- A crash in the computation of `RationalPoints` for schemes in the zero-dimensional projective ambient has been fixed.

## Toric Geometry

- Fixed a bug in the general fan constructor.
- Fixed a bug when calculating the irrelevant decomposition using [`IrrelevantComponents`](../AlgebraicGeometry/ToricVarieties/cox-rings.md#function-irrelevantcomponents-rngcox) or [`IrrelevantGenerators`](../AlgebraicGeometry/ToricVarieties/cox-rings.md#function-irrelevantgenerators-rngcox).
- Modified the data returned by [`WeightsOfFlip`](../AlgebraicGeometry/ToricVarieties/toric-geometry.md#function-weightsofflip-torvar-rngintelt).
- Made `Resolution` deterministic and significantly faster.
- Renamed `Hilbert` to `HilbertSeries`.
- Renamed `ProductFan` to `Fan`.
- A new `ToricVariety` constructor allows the creation of a rank 2 toric variety using data of a torus quotient.
- Added a `ToricVariety` constructor that does not require the user to specify the quotient weights.
- Also added `ToricVariety` constructors to unify the creation of projective space, weighted projective space, and fake weighted projective space.
- Added `IsSingular`.
- Added `Terminalisation` and `Canonicalisation`.
- Added `Degree` to calculate the degree of the nef and big divisor D on its associated complete toric variety X.

## Toric Lattices

- Fixed printing of 0-dimensional lattice points.

## Valuation Rings

- A problem with non-uniqueness of remainders (leading to non-unique Groebner bases) has been fixed.  Reported by C. Quitte.
