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

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

## Aggregates

- `MultisetToSequence` has been added.  Requested by M. Zieve.

## Algebraic Function Fields

- Computations of `Subfields` have had some efficiency improved by not checking known irreducible factors for irreducibility when they are used in the calculation of subfields to define a function field.
- The computation of the `GaloisGroup` of a polynomial has been improved by choosing a prime which has been checked to be fine to use with all subfields involved in the calculation.
- `WeakApproximation` has been implemented for ideals of orders represented in a relative representation. Requested by M. Kirschmer.
- A crash in `WronskianOrders` has been fixed.

## Algebraic Number Fields

- Computations of `Subfields` and `GaloisGroups` of number fields defined by a polynomial over an order rather than a field have benefited from improved denominator handling. This includes computations of `GaloisGroups` of polynomials over orders.
- Computations of `Subfields` have had some efficiency improved by not checking known irreducible factors for irreducibility when they are used in the calculation of subfields to define a number field.
- The computation of the `GaloisGroup` of a polynomial (especially a reducible polynomial) has been improved by choosing a prime which has been checked to be fine to use with all subfields involved in the calculation.
- `WeakApproximation` has been implemented for ideals of orders represented in a relative representation. Requested by M. Kirschmer.
- A fix has been made to `CyclotomicUnits`. Reported by M. Kirschmer.
- A fix has been made to [`GaloisProof`](../GlobalFields/GaloisGroupsAndAutomorphisms/galois.md#function-rngord-galoisproof). Reported by J. Klüners.

## Dirichlet and Hecke Characters

- A problem with a `Grossencharacter` of negative weight has been fixed.
- Dirichlet and Hecke characters should now retain their ambient subgroups when multiplied by elements in the same subgroup.
- The `TateTwist` intrinsic can now be used to get a Hecke character corresponding to twisting by the norm, which internally is of the type `GrossenChar`. This can be done over any field (not just CM).
- The printing with Grossencharacters has been changed.
- Intrinsics for the local `Components` of characters have now been added, and allow a place or prime ideal to be specified.
- Intrinsics for the local [`RootNumbers`](../GlobalFields/DirichletAndHeckeCharacters/introduction.md#function-rootnumbers-grossenchar) of Hecke and Grossencharacters have now been added, and allow a place or prime ideal to be specified. The global root number can also be obtained in this manner.
- A new intrinsic [`QuadraticCharacter`](../GlobalFields/DirichletAndHeckeCharacters/introduction.md#function-quadraticcharacter-fldnumelt) has been added, to be able to obtain the Hecke character corresponding to a quadratic extension.

## Graphs

- `Spectrum` of a graph no longer returns the wrong type of complex numbers.

## Groups

- The code for finding the `PCGenerators` of a `GrpMatUnip` has been improved to remove considerable redundancy. Reported by E. O’Brien.
- Fixed a rare crash in `UpperCentralSeries`. Reported by S. Elsenhans.
- Characters or sequences of characters may now be coerced into appropriate matrix spaces over the complex numbers, and this is considerably faster than coercing each element of the character table.
- A problem with `CohomologicalDimension` involving symplectic groups has been fixed.  Reported by A. Brumer.

## Hodge Structures

- The convention for `RootNumber` of a `HodgeStructure` has been changed, taking the reciprocal of that given by Deligne. The code for Artin representations has been changed to reflect this.
- The output of [`CriticalPoints`](../ArithmeticGeometry/LFunctions/arithmetic.md#function-criticalpoints-hodgestruc) has been modified to be symmetric, and the intrinsic is now documented. Reported by D. Loeffler.

## Hypergeometric Motives

- A complementary package for Jacobi sum motives and their Kummer twists has now been added. The most notable feature of this is the ability to identify these motives with a `Grossencharacter`, following Weil.
- A incorrect answer for `EulerFactor` at a tame prime when 1 was in the cyclotomic data for the alpha’s has been corrected.

## Local Fields

- [`Gamma`](../BasicRings/RealAndComplexFields/gamma-bessel.md#function-gamma-rngserelt) of a 2-adic integer now has its output precision calculated more precisely. Determined in discussions with B. Allombert.
- More error checking has been added to the computation of `Roots` of a polynomial over a local ring or field.
- Various speed improvements have been made to p-adic [`Gamma`](../BasicRings/RealAndComplexFields/gamma-bessel.md#function-gamma-rngserelt).
- The formula for the `Discriminant` of a relative extension has been corrected.
- An error when using `AutomorphismGroup` has been remedied (the Generic Group code was called with a nontrivial automorphism being specifed as the group identity).
- An incorrect increase in default precision of a `Completion` of a number field, seen when computing preimages using the completion mapping has been fixed.

## Polynomial Rings

- `div:=` has been fixed to make it consistent with `div`.  Reported by M. Zieve.
- The previous functionality of `Denominator` for multivariate polynomials is now implemented by [`CoefficientDenominator`](../BasicRings/MultivariatePolynomialRings/operation-element.md#function-coefficientdenominator-rngmpolelt). The intrinsic [`CoefficientNumerator`](../BasicRings/MultivariatePolynomialRings/operation-element.md#function-coefficientnumerator-rngmpolelt) has been added to match. The intrinsics `Denominator` and `Numerator` for multivariate polynomials now work with the polynomial interpreted as a rational function with denominator 1. Reported by M. Zieve and M. Kirschmer.
- A crash in `Roots` for polynomials over number fields has been fixed.  Reported by M. Kirschmer.
- The `XGCD` algorithm has been improved for univariate polynomials over rational function fields to avoid bad coefficient blowup. Issue reported by M. Massierer.

## System

- Fixed a bug that could erroneously cause out of memory errors when using [`printf`](../MagmaLanguage/InputOutput/print.md#literal-literal-printf-printf-format-expression-expression) or similar to produce strings of over a gigabyte in size.
- Improved the speed of concatenating a sequence of many strings.
