Patch Notes
Magma V2.13-4 Patch Notes
Patch release for Magma V2.13-4. Updated areas: Algebraic Geometry, Algebraically Closed Fields, Arithmetic Geometry, Brandt Modules, Coding Theory and 16 more.
Algebraic Geometry¶
- Extra functionality has been added to work with automorphism groups of curves. These groups are now returned as objects of a new type
GrpAutCrvand individual automorphisms within these groups are constructed with typeGrpAutCrvElt. As in the initial V2.13 release, the full group of automorphisms of a curve over the base field can be computed. In addition, the new structures allow the construction of subgroups of the full automorphism group and a range of additional functions for the groups and elements have been added.
Algebraically Closed Fields¶
- Algebraically closed fields may now be defined over finite fields and rational function fields over finite fields or the rationals (as well as the originally supported rational field).
Arithmetic Geometry¶
- A function
HeightOnAmbientfor calculating the height of a point on a general variety in projective or affine space has been added. - The function
PointSearchnow works on varieties in affine spaces too. - There is now a type
ModelG1for genus one models.
Brandt Modules¶
- A bug preventing certain Brandt modules from being created has now been fixed.
Coding Theory¶
- A memory leak in linear codes has been fixed. Reported by M. Grassl.
MinimumDistanceno longer prints verbose output when the verbose flag is not set. Reported by M. Grassl.IsIsomorphicis now the same asIsEquivalentfor linear codes over fields. Request of Markus Grassl.
Cohomology¶
- Cocycles are now represented as functions taking a single argument which is a tuple of the appropriate size.
Commutative Algebra¶
- A bug in
MinimalAlgebraGeneratorswith inhomogeneous input has been fixed. Reported by M. Grassl. HomogeneousModuleTesthas been fixed to handle zero polynomials.- A bug in polynomial factorization over number fields has been fixed. Reported by M. Grassl.
- A bug that could cause a crash when taking GCDs of polynomials defined over polynomial quotient rings has been fixed.
- Some memory leaks in integer polynomial divisibility testing were fixed.
- Various fixes to the Galois group computation for polynomials.
Elliptic Curves¶
- The function
CMPointsnow works also for non-fundamental discriminants (although the conductor of the quadratic order is still required to be coprime to the conductor of the elliptic curve). IntegralPointsnow has an optional parameterFast, which only uses the new version of the routine. By default, both the new and old version are run, as a check.- The function
Saturationfor Mordell-Weil groups of elliptic curves has been improved so that it is useful on non-saturated examples, rather than only for proving that a set of points is saturated. - The
DivisionFunctionfunction now works and returns an element of the (geometric) function field of the curve rather than an element of the maximal finite order of its algebraic funxtion field. - A bug in the counting functions for supersingular elliptic curves over finite fields has been fixed.
Finitely Presented Groups¶
SimpleQuotients(F, ord1, ord2)added.
Hyperelliptic Curves¶
- A bug in
Pointsfor hyperelliptic Jacobians has been fixed (thanks to Michael Stoll).
Integers¶
- A potential infinite loop in the MPQS algorithm for integer factorisation has been removed. Reported by M. Grassl.
- Calling
IsDivisibleBywith a rational and a negative integer no longer crashes.
Lattices¶
- A bug introduced in V2.13-2 caused LLL to ignore the associated inner product of a lattice (if it had one). This has now been fixed.
- Fixed a leak in lattice enumeration. Reported by D. Kohel.
Lie Theory¶
- The "classical" multiplication method for groups of Lie type has been improved enormously.
- A bug in
StandardRepresentationof groups of Lie type for type D1 has been fixed. - A bug in
StandardRepresentationof groups of Lie type for types F4 and G2 has been fixed. Reported by A. Previtali. - A bug in Bruhat decomposition of negative root elements of groups of Lie type has been fixed. Reported by B. Späth.
- A bug in
IsIsogenousfor groups of Lie type has been fixed. - The methods
SymbolicFromRightandCollectionFromRighthave been renamed back toSymbolicToLeftandCollectionToLeft. The...FromRightnames were only used in 2.13-3.
Maps¶
- The
homconstructor now handles length one sequences better.
Matrices and Linear Algebra¶
- Solution has been fixed to handle null sequence arguments. Some memory leaks were also fixed.
- ChangeRing has been fixed to return an matrix space element if given one. Reported by M. Grassl.
- Sundry bugs in the new LLL algorithm have been fixed.
- More verbose information has been added for LLL.
- The parameters to LLL are now listed in alphabetical order.
- The computation of the determinant has been improved for dense matrices over certain Euclidean rings.
- Functions
PfaffianandPfaffianshave been added to compute the Pfaffian of a skew-symmetric matrix or the sequence of Pfaffians of principal submatrices of such a matrix.
Matrix Groups¶
- The error message when
IsOverSmallerFieldis called on a reducible group has been improved.
Number Fields¶
- Bugs have been fixed in
IsMaximalandMaximalOrderwhen non-monic defining polynomials were used. - Non-integral inputs are now longer allowed when creating an extension of an order. (i.e., via
ext<RngOrd | ...>.)
Permutation Groups¶
- A bug in the maximal subgroups machinery for permutation groups has been corrected. Originally, in the case of the group $PSp(4,7)$, $A_6$ was returned as a maximal subgroup, which it is not because it is contained in the maximal subgroup $A_7$.
ASL,AGL, etc. have been fixed to handle larger field sizes.
Quaternion Algebras¶
- A bug preventing certain quaternion orders from being created has now been fixed.
- Several bugs in
pMatrixRinghave been fixed, and the code has been optimised. RightIdealClassesnow used the Eichler mass formula to determine when enumeration is complete.
Rings and Fields¶
- An error is now raised when attempting to construct a p-adic extension using a zero polynomial.
System and Language¶
- The maximum number of return values for an intrinsic package function has been increased from 5 to 256.
- Setting the system memory limit to zero (no limit) no longer crashes.