= 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