Opened 12 years ago

Last modified 10 years ago

#9894 closed enhancement

Group cohomology spkg, version 2.1 — at Initial Version

Reported by: SimonKing Owned by: tbd
Priority: major Milestone: sage-5.0
Component: packages: optional Keywords: modular group cohomology solaris t2
Cc: graham.ellis@…,… Merged in:
Authors: Simon King Reviewers:
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Status badges


Version 2.1 of the modular group cohomology package is now available. There is extensive documentation. The package can be installed with sage -i

New Features

  1. I tried to improve the code quality. For example:
  • Typically one has methods whose result can be cached and needs only be re-computed if the ring approximation changes; this is now being taken care of by decorators.
  • I tried to reduce compiler warnings.
  • Using the package, several bugs in Singular and GAP have been uncovered. The new Singular version 3-1-1 fixes some bugs, so that in some cases more efficient methods can be used. The package tests the available Singular version; it both supports the new features and is able to work around the old Singular bugs.
  1. The completeness criteria are further improved. We use three criteria, namely the modified Benson criterion (found by David Green and myself), the Symonds criterion and the Hilbert-Poincaré criterion (suggested by Peter Symonds and worked out by myself). Due to new methods of constructing parameters, the Symonds criterion is now often the best choice - but not always, so that it is good to have three methods to choose from.
  1. New functionality includes the computation of preimages of induced homomorphisms, essential ideals and depth essential ideals. Using the package, a new example of a group was found for which the square of the essential ideal does not vanish (this is only the second known example!). So far, a conjecture of Jon Carlson on depth essential ideals can be confirmed.
  1. It works on t2!! This is a very non-trivial achievement. It involved:
    • Changing the names of several functions from C-MeatAxe, since the Sun linker seems to confuse them with functions from pari. This is a problem similar to the one found at #1396.
    • t2 is a big-endian machine. GAP's random generator depends on the endianness (which is a bug). Certain internal data used by the cohomology computations are obtained by randomised algorithms of GAP. The ring presentation found for the cohomology ring depends on these internal data. So, in order to get machine independent computationally well defined results, special care was needed, as discussed on sage-devel
  1. By oversight, the old test script failed to execute the tests of special methods (such as __add__ or __mul__. The new script now captures all tests, and complains if a class, method or function does not appear to be tested. Also, the test script does parallel tests.
  1. We finally achieved 100% doctest coverage!!


As usual, if the environment variable SAGE_CHECK is exported and has the value yes, the test script is automatically executed and the result saved in SAGE_ROOT/install.log.

The script tests parallely. By default, the number of threads is one third of the number of available CPUs. This can be overruled by exporting the environment variable SAGE_NUMBER_THREADS.

I successfully installed and tested the package on the following machines and the following versions of Sage and Singular:

  • t2.math, Sage 4.5.1, Singular 3-1-1
  • bsd.math, Sage 4.5.2, Singular 3-1-0, both in 64 and 32 bit mode
  • sage.math, Sage 4.5.1, Singular 3-1-0
  • x86_64 GNU/Linux, Intel Core2 CPU 6700 @ 2.66GHz, Sage 4.5.2, Singular 3-1-1

On another GNU Linux machine with AMD processors, it builds and seems to work even with Sage 4.2.1, but apparently the interface to the @parallel decorator has changed, so that I was not able to run the test script.

Change History (0)

Note: See TracTickets for help on using tickets.