Magma V2.29-8 Patch Notes
Patch release for Magma V2.29-8. Updated areas: Aggregates, Algebraic Curves, Algebraic Function Fields, Algebraic Number Fields, Algebraic Surfaces and 17 more.
Aggregates
Printing of multisets now respects the print level properly for elements with multiplicity greater than 1. Reported by Markus Grassl.
Algebraic Curves
RandomGenus5CurveNonTrigonalhung forever over fields of characteristic 2. It now reports a clear error instead.GonalityPreservingLifton a non-trigonal genus-5 curve over a field of characteristic 2 used to fail with an internal “Division by zero”. It now reports a clear characteristic-2 error.
Algebraic Function Fields
A crash when constructing an ideal of an order of an algebraic function field using a sequence containing one zero has been fixed. Reported by Florian Hess.
Print names are now automatically assigned to the algebraic function field constructed to be a rational function field if the rational function field has print names assigned. Reported by Florian Hess.
Coercion into algebraic function fields has been extended/improved so that evaluation of polynomials at elements of such fields (with automatic coercion) now behaves correctly. Reported by Shiva Chidambaram.
Algebraic Number Fields
The efficiency of memory management has been improved when deleting many number fields. Reported by Andrew Sutherland.
Embedding information is now reliably retained between fields and subfields constructed from them.
Algebraic Surfaces
The
BettiNumberintrinsic for elliptic surfaces over a non-rational base curve now uses the correct genus contributions.We improved
ParametrizeDelPezzofor smooth degree-5 surfaces by trying all 5 choices of removal quadric in the pair-of-points construction.
Algebras
A bug in
sub<>for non-associative algebras, where products of basis elements were not included, has been fixed. Reported by Justin McIlroy.Signature matching and dispatch has been fixed so that multiplication of a polynomials defined over an algebra and a scalar in the algebra now behaves correctly. Reported by Przemyslaw Koprowsk.
A crash arising from incorrect memory handling in the function
UniversalEnvelopingAlgebrahas been fixed.
Automatic Groups
New function
IsConjugateto test conjugacy for infinite-order elements of a hyperbolic group.
Basic Algebras
The algorithm to compute a basic algebra from a presentation has been significantly improved by the use of sparse matrices; this can also save memory. Reported by David Benson.
Coding Theory
Fixed a race condition in the threaded
WeightDistributionalgorithm.
Commutative Algebra
Unexpected behaviour in the
Homogenizationfunction for multivariate polynomials ideals has been fixed. Reported by Daniele Taufer.A crash when computing homogeneous Groebner bases has been fixed. Reported by Sachi Hashimoto.
A bug where
PrimaryDecompositioncould create ideals which did not have properly reduced Groebner bases has been fixed.A hang in
Radicaltesting for ideals with many variables in small characteristic has been fixed. Reported by Steve Huang.The FGLM algorithm now selects most monomial orders for the target order (when the
Al := "FGLM"parameter is given). Requested by Eric Rains.New function
NumberField(A)for affine algebra A (in the case that A is a field) has been added. Requested by Eric Rains.
Finite Groups
Added intrinsic
IdentifyGroupBySearch(G), which returns the<#G, k>label of G in the small groups database by iterating the database with cheap invariants (derived subgroup order, exponent, centre order, etc.) followed by an IsIsomorphic check. This is a fallback for orders such as 1152 and 1536 for which CanIdentifyGroup returns false. The error raised by IdentifyGroup on such orders now mentions this fallback. Reported by Dan Yasaki.Functions like
CosetActionfor matrix groups defined over quotient rings of orders of number fields are now properly supported. Reported by Steve Huang.A small bug in maximal subgroups for Sp(8,4) has been fixed. Reported by Tim Burness.
New function
WordInGeneratorswhich uses an algorithm of Minkwitz to try to write elements of a finite permutation or matrix group as a reasonably short word in the user generators.
Finitely Presented Groups
Fixed a crash in
IsAutomaticGroupandAutomaticGroupthat could abort Magma when the system temporary directory path was long.
Invariant Rings
A hang in
PrimaryInvariantsfor diagonal matrix groups has been fixed. Reported by David Benson.
Lattices
A crash in
IsIsometricfor integral lattices has been fixed. Reported by Jeremy Rouse.
Local Fields
Precision when constructing
Eltseqof an element in a ramified extension has been improved. Reported by Kevin Keating.Precision when coercing an element sequence into a local field has been improved. Reported by Kevin Keating.
Matrices
Fixed a precision bug in numerical complex linear algebra (
Solution,Kernel,Rank) where an internal random-unitary generator was passed the wrong parent and used a heap-state-dependent precision, causing results to vary in the last bits across sessions.The algorithms to compute the echelon form or nullspace of a matrix defined over the quotient of a maximal order of a number field by any ideal is now supported properly for the first time. Reported by Dan Yasaki.
A crash in
Determinantfor matrices defined over quaternion algebras has been fixed. Reported by Lewis Combes.
Matrix Groups
Algorithms for matrix groups defined over quaternion algebras are now supported properly. Reported by Markus Grassl.
Modular Curves
Implemented faster version of
X0NQuotientwhen the quotient is an elliptic curve embedded in a high dimensional space. Reported by Oana Padurariu.
Permutation Groups
New function
TwoClosureto compute the two-closure of a transitive permutation group.
Quadratic Fields
The
Conductorof some quadratic orders has been fixed to match the documentation and equivalent computations. Reported by Anthony Henderson.
Representation Theory
A bug in
Complement(M, S)for G-modules M,S (where the base ring was not a finite field, the integer ring or the rational field) has been fixed. Reported by Justin McIlroy.
System
The command-line usage and documentation now describe all user-facing startup options, and -h, -? and –help now display the usage message and exit successfully.
Blank lines are now preserved in strings even when reading from standard input (in particular when in a terminal).
A fix has been made so infinite recursion (causing a crash) in traceback printing on errors is now avoided.
A fix in traceback printing has been made so that whenever an error occurs while printing a function argument, the argument is abbreviated and the original error message is now clearly printed properly. Reported by David Roe.