Change log for Magma V2.28-27 (Released 15/8/2025)

Aggregates

·Incorrect printing of multisets with vectors or matrices as elements has been fixed. Reported by Maarten Derickx.

·New function Values(A) for associative array A, which returns unsorted list of the values of A. Requested by Maarten Derickx.

Coding Theory

·A hang/crash when printing codes over large finite fields has been fixed. Reported by Jim Stark.

Complex Field

·Problems when computing complex roots of an integral polynomial have been fixed. Reported by Eamonn O'Brien.

Curves

·Further improvements have been made to UniformizingParameter of places of curves. Reported by Maarten Derickx.

FP Groups

·The code for constructing the sparse matrix used in AbelianQuotientInvariants, etc. has been greatly sped up in large cases. Example input provided by Eamonn O'Brien.

Hilbert Modular Forms

·A bug in the intrinsic HeckeOperator, which caused it to fail for some primes above 2 has been fixed. Reported by Lassina DembÃ©lÃ©.

Hyperelliptic Curves

·The intrinsic MordellWeilGroupGenus2 avoids 2-descent when the provided Rankbound is zero. Reported by Andrew V. Sutherland, fix supplied by Michael Stoll.

Linear Systems

·The intrinsic L.i for linear system L and integer i has been restored. Issue reported by Adam Logan.

Matrix Groups

·Crashes when the classical group recognition code is called on a group where the base field is a non-standard finite field have been fixed.

Modular Forms

·A slowdown in Newforms has been fixed, The function Newforms can now also give a single representative from each orbit of newforms. For a newspace, one can also run NewformDecomposition.

Series Rings

·The 'eq' operator now returns true for compatible power/Laurent/Pusieux series rings defined over the same base ring and with the same precision.

System

·A major improvement has been done in the language interpreter so that reference arguments with indexing in procedure calls are handled much more efficiently, and undesired temporary cloning of objects is now avoided (e.g., in procedure calls involving the tilde operator before indexed references such as S[i], and operators like '+:=' with indexed references on the LHS). Example inputs given by Andrew Sutherland and Jim Stark.