Change log for Magma V2.20-6 (Released 20/5/2014)

Algebraic Function Fields

·Improvements have been made to finding a two-element form of an ideal. This fixes runtime errors in a few cases, one of which was reported by Matthieu Rambaud.

·Embed has been fixed (previously crashed) in the case where the constant fields are not the same. Reported by Matthieu Rambaud.

·Extra checking has been added to the Embed intrinsic to ensure that the coefficient field of the first argument is contained in the second argument.

·A bug has been fixed in the application of the map returned by ConstantFieldExtension when the extensions are not defined by monic integral polynomials.

·The CoveringStructure of 2 function fields has been improved.

·Some bugs involving denominators of non-simple elements have been fixed.

Elliptic Curves

·The Cremona database has been updated to include all curves up to conductor 339999.

Galois Groups

·An adjustment has been made to when ShortCosets are used in the computation of a GaloisGroup.

Graphs

·A bug preventing the use of the Invariant parameter has been fixed.

Groebner Bases

·A crash involving ideals with a large number of variables has been fixed. Reported by M. Grassl.

Groups

·Following user problems, the optional parameters for the CayleyGraph and SchreierGraph functions have been changed. They now have two parameters: Labelled and Directed, both of which are true by default. To get the unlabelled or undirected graph the user may set the approriate parameter(s) to false. Note that to compute a meaningful automorphism group of the graph, either the graph should be unlabelled, or the IgnoreLabels parameter of the automorphism group function should be set to true. Problem identified by G. Royle.

·A crash in computing the order of an fp-group has been fixed. Bug reported by Steve Humphries.

·A large waste of time when computing the conjugacy classes of a group of type GrpAb has been fixed.

·A sometime infinite loop when using AutomorphismGroup on a lattice with the Stabilizer parameter set  > 0 has been fixed.

·A bug where using NormalSubgroups with the IsTransitive flag set returned some non-transitive subgroups has been fixed. Bug reported by Gabriel Verret.

Hyperelliptic Curves

·A bug in Order for points on hyperelliptic Jacobians has been fixed. This caused a finite order rather than 0 to be returned for some points of infinite order. Reported by Christiaan Koster.

Lattices

·The LatticeWithBasis intrinsic for a matrix over the reals checks that the input has full rank using LLL now (previously the check was done by calculating an echelon form). This means now almost any input is accepted, as the linear dependence must be exact for the check to fail.

Maps

·A fix has been made to the CoveringStructure of parents of some types of maps. In particular this was seen to affect maps of type HomGrp.

Matrices

·Compatibility between non-square matrices has been improved, in particular between ModMatRngElt and ModMatFldElt types.

Modules

·A bug in IsIsomorphic for R-modules in characteristic zero has been fixed. Reported by U. Thiel.

Number Fields

·Some anomalous behaviour in the hashing of number field elements and order elements has been fixed. This manifested in poor performance in some algorithms.

·Corrections have been made to the real precision used in computing the LLL (basis) of an order. Insufficient precision lead to a result which was far from LLL in some (unusual) cases, and this in turn caused a crash in ClassGroup. Reported by Daniel Mayer.

·Improvements have been made to finding a two-element form of an ideal. This fixes runtime errors in a few cases, one of which was reported by Daniel Mayer.

·The Abs parameter is now supported in the ext<|> constructor when extending the rationals or an algebraic field.

·IsPrime(I) now works for ideals of non-maximal orders (returning only true/false). Previously it crashed in the non-prime case, if the caller attempted to assign two return values.

·An order constructed from given elements of a field now has identical EquationOrder to the field. Reported by C. Quitte.

·Some bugs involving denominators of non-simple elements have been fixed.

·When Divisor is called on an ideal it is now checked that the ideal is of a maximal order.

Numerical Linear Algebra

·Magma now has methods based on Householder reflections (RQ decompositions) for various functions involving linear algebra over a real or complex field.

·The user functionality includes RQDecomposition, QLDecomposition, NumericalKernel, NumericalRank, NumericalSolution, and NumericalPseudoinverse. The main functions for determinant and inverse for square matrices use the new code internally.

·The NumericalEigenvectors intrinsic has been fixed to deal with input that has columns that are zero. Reported by A. Kumar.

·The Cholesky decomposition of a matrix which has different precision than the default real field is now computed to the proper precision.

Orders of Associative Algebras

·Exception handling has been improved.

Schemes

·Schemes can now only be constructed over rings which contain a one.

·Classification of isolated singularities: a bug has been fixed that caused runtime errors for singularities of types Jk,i, Xk,0, X1,i, Y1r,s, Zk,i and W#k,i when the parameter option to return the explicit transformation to normal form was NOT chosen.

·A bug in HypersurfaceSingularityExpandFunction caused an error when the function expansion was zero to the required precision. This has now been fixed.