Title: Change log for Magma V2.13-4
Author: Computational Algebra Group

Change log for Magma V2.13-4 (Released 22/9/2006)

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 GrpAutCrv and individual automorphisms within these groups are constructed with type GrpAutCrvElt. 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 HeightOnAmbient for calculating the height of a point on a general variety in projective or affine space has been added.

•The function PointSearch now works on varieties in affine spaces too.

•There is now a type ModelG1 for 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.

•MinimumDistance no longer prints verbose output when the verbose flag is not set. Reported by M. Grassl.

•IsIsomorphic is now the same as IsEquivalent for 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 MinimalAlgebraGenerators with inhomogeneous input has been fixed. Reported by M. Grassl.

•HomogeneousModuleTest has 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 CMPoints now 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).

•IntegralPoints now has an optional parameter Fast, which only uses the new version of the routine. By default, both the new and old version are run, as a check.

•The function Saturation for 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 DivisionFunction function 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 Points for 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 IsDivisibleBy with 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 StandardRepresentation of groups of Lie type for type D1 has been fixed.

•A bug in StandardRepresentation of 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 IsIsogenous for groups of Lie type has been fixed.

•The methods SymbolicFromRight and CollectionFromRight have been renamed back to SymbolicToLeft and CollectionToLeft. The ...FromRight names were only used in 2.13-3.

Maps

•The hom constructor 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 Pfaffian and Pfaffians have 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 IsOverSmallerField is called on a reducible group has been improved.

Number Fields

•Bugs have been fixed in IsMaximal and MaximalOrder when 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 pMatrixRing have been fixed, and the code has been optimised.

•RightIdealClasses now 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.