= p_group_cohomology-2.1.3 = == Description == Modular Cohomology Rings of Finite Groups The documentation of the package is provided at http://sage.math.washington.edu/home/SimonKing/Cohomology/ == License == Copyright (C) 2011 Simon A. King Copyright (C) 2009 Simon A. King and David J. Green Distributed under the terms of the GNU General Public License (GPL), version 2 or later (at your choice). This code is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. The full text of the GPL is available at: http://www.gnu.org/licenses/ The package includes a data base of cohomology rings of the groups of order 64 and provides access to a data base of cohomology rings of the groups of order 128 and 243, located at http://sage.math.washington.edu/home/SimonKing/Cohomology/db/ These data bases are distributed under the Creative Commons Attribution-Share Alike 3.0 License. The full text of this licence is available at http://creativecommons.org/licenses/by-sa/3.0/ == SPKG Maintainers == Simon A. King == Upstream Contact == Simon A. King David J. Green == Acknowledgements == The development of the initial version of this SPKG was funded by the German Science Foundation, DFG project GR 1585/4.1, and was accomplished at the Friedrich Schiller University Jena. Since version 1.0.1, the further work on this SPKG was funded by Marie Curie grant MTKD-CT-2006-042685 and was pursued at the National University of Ireland, Galway. Since Novermber 2010, it is moved back to Jena. We thank William Stein for giving us access to various computers on which we could build test the SPKG and on which some huge computations could be completed, and acknowledge the support by National Science Foundation Grant No. DMS-0821725. We thank Mathieu Dutour Sikitic for hints on how to use GAP more efficiently. We owe Peter Symonds the idea of using the Poincare series in a rather efficient completeness criterion. == Dependencies == - The SmallGroups library needs to be installed in GAP. - For p-groups with a prime p>2, we require Singular at least in version 3-1-0. == Special Update/Build Instructions == Since version 2.1, the package builds on both little and big endian machines. The package includes a modified version of the Aachen C-MeatAxe. Since the changes are major, we included the modified sources into the Mercurial repository. A MeatAxe version that comes closest to what we started with is provided in the folder mtxoriginal, that is not under revision control. Note that most of the code is original. Therefore we included the files from src into the Mercurial repository. == Testing == Our package does not provide a separate test suite for the MeatAxe C-library or David Green's routines for the computation of minimal projective resolutions. But it is of course equipped with extensive doc tests in the Cython code. In fact, any class, method and function is covered by tests. Note that internet access is required for these tests, as it is attempted to download cohomology rings from a public data base in the web. The script ``spkg-check`` walks through all public methods of all classes in all modules of our package and perform the respective doc test. The test script is executed right after installation of the package, if the environment variable SAGE_CHECK is yes (do "export SAGE_CHECK=yes" on the command line before installation). Should a test fail, details are displayed on screen and can also be find in SAGEROOT/install.log. The script allows for parallel testing. By default, the number of threads equals one third of the available CPUs. The default can be changed by exporting the environment variable SAGE_NUM_THREADS (for example: ``export SAGE_NUM_THREADS=2``) or by giving a number of parallel processes for ``make``, such as ``export MAKE="make -j4"``. == Documentation == The documentation of this package is automatically built, if the environment variable SAGE_SPKG_INSTALL_DOCS is yes (do "export SAGE_SPKG_INSTALL_DOCS=yes" on the command line before installation). The documents are put into SAGE_ROOT/local/share/doc/p_group_cohomology/html/. == Changelog == * 2.1.4 (Simon King, April 2013): Computational techniques: - find_small_last_parameter will now construct a parameter of the cohomology ring, by studying the restriction to maximal elementary abelian subgroups. In previous version, we could only find parameters of the ring approximation. The additional advantage: The computations are easier, since the complicated relations of the ring approximation do not need to be considered. - Compute a complete Gröbner basis, if there was no relation in the previous degree. This is an essential speed-up for computing the mod-3 cohomology of the third Janko group. Coping with changes in Sage: - tmp_filename -> tmp_dir - SAGE_DATA -> SAGE_SHARE - Replace double underscore by single underscore attributes, to avoid name mangling - Change tests according to GAP's changed random generator Miscellaneae: - Increase optimization level. If the gcc version is too old, David Green's programs won't work in this optimization level. However, functionality will be tested before finishing installation of the package. - Remove the indentation parameter of RESL. The protocol output first prints a short descriptor of the instance whose methods are being called (the descriptor is only printed when the active instance changes). - Use utilities from os.path, for better portability - Unlink symbolic links before saving data - Use urllib2 - Some methods changed from temporary_result to permanent_result. But old data remain legible. Most important example: Construction of parameters. - Address of Simon King changed from Galway to Jena * 2.1.3 (Simon King, July 2012): - Improve the heuristic of choosing between Hilbert-Poincare and Symonds criteria. If the computation of parameters in small degrees by lifting the Dickson invariants using elimination seems too difficult to the user, then this computation can be interrupted with Ctrl-c, and then other completion tests (perhaps in higher degree) are automatically attempted, without the need of further manual intervention. - Cope with Cython's new name mangling, by avoiding double underscore attributes. - If a "permanent result" is indexed by data in the Gap interface, then these results can now be pickled, provided that the data in Gap can be reconstructed from string representation. - Use a lower bound for the depth, if the actual depth is too difficult to obtain. - Switch the public web repository to a new location. - Fix the creation of symbolic links from a private data base to a public data base. - Fix comparison of MTX matrices (comparison with None used to fail). * 2.1.2 (Simon King, March 2012): - Some fixes needed with the new version of Cython used by sage-5.0. - Some fixes needed with Singular 3-1-3. - Using the coercion framework in a better way. - Small improvements in the MeatAxe code. - Include the docs in the spkg. - Improved construction of dependent parameters for Symonds' test. * 2.1.1 (Simon King, September 2010): - Cohomology data are now by default only created in the private database. - Data in the public database are accessed via symbolic links - Code restructured: The cohomology ring constructor is modularised. - Parallel testing now only if the patch of ticket #10004 is applied. * 2.1 (Simon King, September 2010): - Full doctest coverage and a parallel test script. - Cleaning up code in order to reduce the number of compiler warnings. - Builds and tests on little and big endian machines. - Uses features of Singular-3-1-1, but still works with Singular-3-1-0. - Support for setting random seeds. If the same random seed is used, the resulting ring presentation is computationally unique and machine independent. - Kernels/preimages of induced homomorphisms; Essential and Depth Essential ideal. - Decorators for methods that cache results that may change if the ring structure changes, resp. that cache results that will not change once computed. The cached results are preserved under pickling. KeyboardInterrupts are cached as well, but a re-computation can be forced. - Improved use of the Symonds and the Hilbert-Poincare criteria, using algebraically *dependent* parameters. * 2.0 (Simon King, April 2010): - Modular cohomology rings for *any* finite groups (not just for p-groups). This is implemented in a new module pGroupCohomology.modular_cohomology, that builds on top of the old pGroupCohomology.cohomology module. - The build process now uses environment variables such as $MAKE or $MKDIR, in order to increase portability. * 1.2.p0 (Dima Pasechnik and Simon King, March 2010): Adding .hgignore (ignoring src/db and mtxoriginal). Adding a robuster test for the existence of the SmallGroups library. * 1.2 (Simon King, October 2009): - Modified printing for cocycles - Minor bug fixes and code improvements. - The data base at sage.math has moved. - New: Persistent Group Cohomology (bar codes), based on ideas of Graham Ellis and Simon King. * 1.1 (Simon King August 2009): - Yoneda cocomplex - Restricted Massey powers and general Massey products. * 1.0.2 (Simon King, July 2009): - Fixing a computation time regression and two minor bugs. - Changing Simon King's email address * 1.0.1 (Simon King, July 2009): - Licensing GPL 2 or later * 1.0 (Simon King and David Green July 2009): - First public version