A number of new features that were not ready in time for the V2.21-1 release are included as part of this patch release. Consequently, the Release Notes for V2.21-1 have been updated to include the new machinery in this release. Users seeking details about the new features should consult the updated Release Notes.
Desingularisation by local blow-up – an alternative to formal desingularisation – has been developed for surfaces. It is faster than formal desingularisation in certain cases, rendering some computations now feasible in \Magma that were formerly impossible.
Blow-up desingularisation provides additional information, not previously available with formal desingularisation. There are a number of new intrinsics which calculate such things as the intersection matrix of divisors lying above a singular point in the desingularisation. See the Release Notes for a full list.
Existing functionality for computing birational invariants of desingularisations (geometric and arithmetic genus, plurigenera) and general adjoint spaces has been extended to work with the new blow-up desingularisation as well as the formal desingularisation.
The intrinsics for classifying a rational surface, parameterizing a rational surface and testing whether a surface is rational have been extended to work with blow-up desingularisations.
A new type LSerMot has been introduced that expedites certain types of L-series computations.
In particular, the amount of (internal) precision required when invoking weighting functions (incomplete Mellin transforms) is now computed dynamically.
The principal gain is when checking the functional equation, which for L-functions of higher degree or weight is now faster and more robust.
A major speedup has been introduced into the linear algebra phase of the F4 algorithm for computing Gröbner bases. For example, over a small-prime finite field, the speedup for computing the Cyclic-10 GB is about a factor of 4 and the speedup for computing the Katsura-12 GB is about a factor of 20.
A major new asymptotically-fast modular algorithm has been developed for computing Gröbner Bases of ideals defined over algebraic number fields. The new modular algorithm handles fields of arbitrary degree (while the previous modular algorithm was only applicable for degree up to 5). Also, the new modular algorithm is applicable to fields defined as relative extensions.
New code, provided by E. O'Brien, constructs standard generators for arbitrary matrix and permutation representations of classical groups defined over finite fields (constructive recognition).
Machinery for the black-box recognition for classical groups has been included which makes computation possible with a much larger range of groups. The package was provided by E. O'Brien.
Improved algorithms, based on previous work of P. Brooksbank, have been incorporated for recognising SU(3, q), SU(4, q) and Sp(4, q). The code was supplied by E. O'Brien.
The composition tree (CT) of a finite group is a datastructure designed to enable structural computation in matrix groups defined over finite fields in cases where a base and strong generating set is not practical (either to compute or to use). The version released in V2.21-4 is a major upgrade to previous versions. It succeeds in computing a CT for a much wider range of groups and it is generally much faster than previous versions. The code was provided by E. O'Brien and associates. Some of the improvements come from the use of the new features for classical groups listed above.
Although the CT provides some basic information about a group, further machinery is needed to compute most structural information. Work is under way to re-engineer many standard structure algorithms based on the Soluble Radical Method (SRM) so that they will apply in the case of CT groups. SRM algorithms for further structural computations have been converted to work with CT groups. For example, actions on coset spaces, normal subgroups, and character table can now be computed. Some SRM algorithms previously implemented for CT groups have been improved. The set of isomorphism types of composition factors allowed has also been extended. As an example, CT+SRM has been used to compute the character table of the group 2^1+22.Co_2 in a degree 1025 representation over GF(2). The order of the group is 354,883,595,661,213,696,000. The package is due to D. Holt, B. Unger and J. Cannon.
The default precision used by the Completion of a function field has been fixed for subsequent calls to Completion so that the Precision parameter of the first call to Completion is not used as the default precision for all calls to Completion. Reported by M. Stoll.
A bug has been fixed in ExactConstantField computations for some function fields. As a result more exact constant fields will be able to be computed and less errors will occur.
A bug when computing the EulerFactor at a unramified place which is highly ramified in the field was reported by P. Solomatin and fixed by T. Dokchitser.
A major speedup has been introduced into the linear algebra phase of the F4 algorithm for computing Gröbner bases. For example, over a small-prime finite field, the speedup for computing the Cyclic-10 GB is about a factor of 4 and the speedup for computing the Katsura-12 GB is about a factor of 20. Currently the improvement only applies to ideals over small-prime finite fields, but it is hoped that it will be extended to other kinds of fields soon.
A major new asymptotically-fast modular algorithm has been developed for computing Gröbner Bases of ideals defined over algebraic number fields. The new modular algorithm handles fields of arbitrary degree (while the previous modular algorithm was only applicable for degree up to 5). Also, the new modular algorithm is applicable to fields defined as relative extensions; this is a very major improvement, since to this point there has never been any modular algorithm in Magma which handles relative extensions.
A bug in affine algebra arithmetic has been fixed. Reported by M. Grassl.
A problem with MordellWeilGroup for an elliptic curve over a number field defined by a non-monic polynomial has been fixed. Reported by M. Stoll.
Fixed a crash in AutomorphismGroup when some, but not all, of the vertices were labelled. Reported by M. Kiermaier.
A crash reading the QuasisimpleMatrixGroup 3.U(3,5) in dimension 48 has been fixed. Reported by E. O'Brien.
A crash involving one of the representations of L38 from the ATLAS database has been fixed. Reported by E. O'Brien.
An error when computing thew maximal subgroups of PSp(4,q) has been fixed. Bug fix by Derek Holt.
A bug in L3Quotients has been fixed by Sebastian Jambor. The bug was found by G. Nebe.
The NilpotencyClass bug noted in http://math.stackexchange.com/questions/1121618/magma-miscalculation-of-nilpotencyclass has been fixed.
The function ClassicalConstructiveRecognition constructs standard generators for matrix and permutation representation of classical groups defined over finite fields. Code from E. O'Brien.
Improved versions of RecogniseSU3 and RecogniseSU4 are implemented, based on original implementations of P. Brooksbank. Code courtesy of E. O'Brien.
A new function RecogniseSp4 is implemented, improving RecogniseSp4Even, and RecogniseSpOdd when d = 4. We recommend using RecogniseSp4 in place of these old functions. The algorithm is that of P. Brooksbank. Code courtesy of E. O'Brien.
The CompositionTree functions have been significantly updated, incorporating black-box recognition for classical groups and so should handle a much larger range of examples. Package from E. O'Brien.
The LMG family of functions, which use the CompositionTree functions, have been extended and improved by Derek Holt. In particular, functions for low index subgroups, normal subgroups, and actions on cosets of subgroups are new or improved.
A bug with the Domain of a Hecke character (or its ambient group) has been fixed.
A memory leak when searching for points on a Jacobian with the parameter Bound more than 2^15 was been fixed. Reported by M. Stoll.
An incorrect usage of equality of L-series (by their parents having the same object) was noted by M. Stoll, in the context of L-series of modular forms (ModFrmElt) with differing embeddings. The equality intrinsic 'eq' for L-series of modular forms over number fields now always returns false so as to prevent this.
A bug with the Integral vararg to EulerProduct was fixed.
A new functionality MotivicLSeries has been introduced, in particular to speed up the computation of CheckFunctionalEquation in many cases, and further to ensure more correctness in the results. There are still some difficulties (particularly with inheritance) in interfacing this new package while at the same time retaining backward compatibility, and so the motivic L-series must currently be constructed from an existing L-series, rather than directly from an arithmetic-geometric object (such as a number field or elliptic curve).
A crash on specific (rather rare) inputs for real matrices of low precision was fixed. The problem was an iterative test was used, and the precision in these examples increased above the ambient. Reported by M. Stoll.
A crash when calling AutomorphismGroup on the null sequence has been fixed. This now gives a runtime error.
Some bugs in computing a Minimal sequence of Generators for a module with dimension 0 have been fixed. Reported by M. Kirschmer.
MinimalPolynomial had a bug when the best approximation for the given parameters was the 1-polynomial. Reported by G. McConnell.
A bug involving length 0 schemes constructed from a ring to be the coordinate ring using Spec has been fixed. The ring is now converted to be of the expected type. A crash was seen in the use of EmptySubscheme.
It is now again possible to construct points over non-fields having some common factor in their coordinates so long as the GCD of necessary groups of coordinates is not a zero divisor. This common factor is removed from the coordinates.
Roots of polynomials over series rings over inexact rings have been disallowed. Reported by M. Stoll.
A bug has been fixed that could cause error messages to be lost when passing certain invalid types to binary operators. Reported by M. Stoll.