Magma V2.29-10 Patch Notes
Patch release for Magma V2.29-10. Updated areas: Aggregates, Algebraic Curves, Algebraic Function Fields, Algebraic Geometry, Algebraic Number Fields and 17 more.
Aggregates
&catapplied to a sequence of sequences whose combined length exceeded \(2^{31}\) could corrupt memory and crash, rather than reporting that the result was too long. This has been fixed.
Algebraic Curves
LPolynomial,ZetaFunctionandEulerFactorcould silently return a wrong L-polynomial for some genus 2 curves over small prime fields; the correct L-polynomial is now returned. Reported by Edgar Costa.HasOnlyOrdinarySingularitiesfailed to compute the maximum multiplicity in case of small characteristic. This is now fixed by using Hasse derivatives. Reported by Shiva Chidambaram.
Algebraic Function Fields
A bug in
Subfieldsfor characteristic 0 function fields when more specialization attempts were needed than were previously attempted has been fixed. Fix suggested by Juergen Klueners.A fix has been made to the computation of finite maximal orders of algebraic function fields using the Montes algorithm.
Algebraic Geometry
The Calabi-Yau graded ring search routine stopped immediately with a file-opening error instead of doing any work, because it redirected the session log into a fixed directory that does not exist on a normal installation. It no longer sets a log file of its own, so it no longer fails during logging setup; call
SetLogFilebeforehand if you want its output logged.PointsModPNnow also handles ordinary projective schemes over a residue ringIntegers(p^k)of the integers, by covering the scheme with its standard affine charts and enumerating each projective point once. ConsequentlyRationalPointsandPointsreturn the points of such a projective scheme overIntegers(p^k). Projective schemes over a non-prime-power modulus, or over a residue ring of a number-field order, are not yet supported.
Algebraic Number Fields
The computation of the units in the final phase of the
ClassGroupalgorithm has been significantly improved in the case that the unit rank is non-trivial (specifically in the p-adic log handling). Difficult example with high unit rank supplied by Siman Wong.Embedhas been adjusted when there are existing relationships between the input fields. Reported by Abhijit Mudigonda.ArtinMapreturned an incorrect value when called for similar but different fields due to caching. This has been resolved through improved cache management. Reported by Sachi Hashimoto.Intersecting the zero ideal of an order with a base ring could give an ideal with a nonsense generator or cause a crash; this also made Norm of a Hermitian lattice with zero diagonal Gram entries crash. This has been fixed. Reported by Edgar Costa.
Improvements have been made to embedding and coercion when fields are isomorphic.
HasComplexConjugatefor a number field (FldAlg) could fail with a sequence-length error when complex conjugation is given by a polynomial of low degree in the generator; this has been fixed.IsRootOfUnitycould return twice the correct order for an element of a cyclotomic field, failed with a type error for an element of a cyclotomic ring of integers, and rejected elements of a quadratic field outright. This has been fixed. For an element of a p-adic ring or field the order returned could be meaningless:IsRootOfUnityreported that 2 is a root of unity of order 76293945312500 in the 5-adic field. That computation has been withdrawn. Zero and elements of nonzero valuation are now reported as not roots of unity, 1 and -1 are reported as roots of unity of orders 1 and 2, and for any other p-adic unitIsRootOfUnitynow raises an error instead of returning an answer that may be wrong. Genuine p-adic roots of unity, such as the nontrivial Teichmüller representatives, are refused as well. Reported by Gabor Wiese.The efficiency of
MakeCyclotomichas been improved.
Binary Quadratic Forms
A
ClassNumbercomputation which failed depending on seed has been fixed.
Coding Theory
A self-dual quantum code was assigned minimum weight 0 if the weight distribution of the classical code it was constructed from had already been computed. This has been fixed. Reported by Markus Grassl.
Commutative Algebra
PrimaryDecompositionfor an ideal defined over a non-field was missing an error check. This has been fixed. Reported by Miles Reid.Fixed bad inefficiency in
PrimaryDecompositionfor a zero-dimensional ideal defined over the rational field where there were several variables. Reported by Edgar Costa.
Congruence Subgroups of PSL_2(R)
IsGammano longer returnstruefor a congruence subgroup defined with a Dirichlet character, bringing it into line withIsGamma0,IsGamma1,IsGammaUpper0andIsGammaUpper1, which already excluded such groups. BecauseIndexandGenustake a \(\Gamma(N)\) shortcut wheneverIsGammaholds, they previously returned the values of \(\Gamma(N)\) itself for these groups: for \(\Gamma(13)\) relaxed by an even quadratic character,Indexgave 1092 instead of 364 andGenusgave 50 instead of 16.
Elliptic Curves
IntegralQuarticPointsraised a runtime error on a quartic whose associated elliptic curve has rank 0 and nontrivial torsion; the integral points are now returned. Reported by Gökhan Soydan.
Finite Fields
Certain lattices of finite fields of the same characteristic (in particular, arising from residue class fields created in
GaloisGroupcomputations) could have incompatible embeddings of subfields. This has been fixed. Reported by Gunter Malle and Claus Fieker.
Finite Groups
Subgroupsnow returns no subgroup classes whenIndexEqualis set to an index that does not divide the group order, instead of returning classes with a different index.
Galois Groups
A crash in
GaloisProofhas been fixed. Reported by Bjorn Poonen.
Groups
An intrinsic
IsSubgroup(H,K)has been added. For subgroups \(H\) and \(K\) of a common overgroup it is equivalent toH subset K. Reported by Florian Hess.
Hilbert Modular Forms
HeckeOperatoron a space of Hilbert cusp forms could fail with an assertion error inProjectiveLinewhen the level was divisible by two prime ideals of residue degree greater than one, one of them to multiplicity at least two. The underlying residue-class enumeration ofO/Ireturned colliding representatives in this case, so the projective line was built incomplete; it is now computed from the Smith normal form of the ideal and is always complete. Reported by Edgar Costa.
Lattices
GenusRepresentativesfor a number-field lattice raised the error “Illegal null sequence” when the lattice had an all-zero diagonal Gram matrix, such as the indefinite unimodular lattice II_{2,2} (an orthogonal sum of hyperbolic planes). This came fromNorm, where the diagonal-value ideal was the zero ideal and its empty basis was passed toMatrix. The norm of such a lattice is now computed correctly from its off-diagonal (trace) contribution. Reported by Eran Assaf.NeighbourClosurerejected theUseAutoparameter and had no overload for aLatNFargument, unlikeNeighborClosure.NeighbourClosurenow accepts exactly the same parameters and overloads asNeighborClosure.
Lie Algebras
UpperCentralSeriesandGeneratorscaused an internal error for an algebra whose base ring was a euclidean ring which is not a field, such as a univariate polynomial ring over a finite field. This has been fixed. Reported by Armand Brumer.
Local Fields
Factorizationfor a polynomial over a \(p\)-adic ring or field could occasionally hit infinite recursion and eventually crash when the requested precision was too low to separate the true factors (here this arose in the computation of an Artin representation \(L\)-series). The internal algorithm now automatically retries at higher precision and over a fixed-precision ring it raises a clean error instead of looping. Reported by Siman Wong.HenselLiftof polynomials over a local field whose leading coefficient is an imprecise zero has been improved. Reported by Aidan Hennessey.
Matrices
Operations on matrices with more than 2^31 entries could give a wrong answer or an error in the Standard version, because of 32-bit overflow in some places. This has been fixed. Reported by Eran Assaf.
Matrix Groups
StabiliserOfSpacescould take many minutes and tens of gigabytes on a long sequence of subspaces, and then crash. It is now much faster and uses far less memory. This has been fixed. Reported by Eamonn O’Brien.
Modular Curves
Both forms of
Afdeclared a return type ofModSymwhile returning the sequence of spaces thatNewformDecompositionandSortDecompositiongive, one for each Galois-conjugacy class of newforms. The declared type is nowSeqEnum, matching what is returned and what those two intrinsics declare.
Polynomial Rings
Applying a ring homomorphism to an element of a quotient of a univariate polynomial ring (where the base ring was a large residue class ring) did not reduce the coefficients to a canonical form sometimes. This has been fixed. Reported by Edgar Costa.