Changes between Version 91 and Version 136 of Ticket #18514


Ignore:
Timestamp:
09/06/16 10:36:32 (4 years ago)
Author:
SimonKing
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #18514

    • Property Work issues changed from Create a new-style package with least effort to
    • Property Dependencies changed from #18494 to #12103
    • Property Branch changed from u/SimonKing/upgrade_of_group_cohomology_spkg to
    • Property Commit changed from ad6cea059d383bbb0a97c8430caca125d2ca78b7 to
  • Ticket #18514 – Description

    v91 v136  
    1 The current "official" version of `p_group_cohomology` is 2.1.4. However, due to recent backward incompatible changes in Sage, the package would not install, respectively it would install if some header were present but wouldn't work. Note that such backward incompatible changes happened repeatedly.
     1The current "official" version of `p_group_cohomology` is 2.1.4. However, due to recent backward incompatible changes in Sage, the package would not install, respectively it would install if some header were present but wouldn't work. Hence, an upgrade is needed.
    22
    3 Hence, an upgrade is needed. While I was at it, I have also improved the computation of Poincaré series, depth and filter degree type (the latter now uses a Hilbert-driven computation of Gröbner bases in elimination order, which works since in that setting the Hilbert function is easily available), and I added new functionality related with nilpotency.
     3While I was at it, I have also improved the computation of Poincaré series, depth and filter degree type (the latter now uses a Hilbert-driven computation of Gröbner bases in elimination order, which works since in that setting the Hilbert function is easily available), and I added new functionality related with nilpotency.
    44
    5 There is an old-style spkg at http://users.minet.uni-jena.de/cohomology/p_group_cohomology-2.1.5.spkg that users can install if they want to do cohomology calculations *now*. However, I suggest to a version 3.0 of the package, which shall be a new-style package.
     5There is an old-style spkg at http://users.minet.uni-jena.de/cohomology/p_group_cohomology-2.1.6.spkg that users can install if they want to do cohomology calculations *now*. However, I suggest to a version 3.0 of the package, which shall be a new-style package.
    66
    7 The new package shall be modularised as follows.
     7The old-style package comprises three code bases: An old meataxe version, C code of David Green that uses a custom makefile, and P/Cython/Gap/Singular code equipped with a doc builder and a large-ish doc tester that executes each test in a separate Sage session, rather than running all tests of one file in one session (in order to prevent side-effects).
    88
    9 - First, install meataxe (see #12103) and database_gap.
    10 - Second, get the branch from here.
    11 - Third, get the sources for modular_resolution-1.0. It is based on code of David Green, which I refactored rather extensively:
    12   * It now uses the optional meataxe-2.4.24 package, rather than meataxe-2.2.4 whose sources used to be part of the old spkg.
    13   * It propagates errors (at least to some extent). The original version would just crash if a file was missing.
    14   * It is autotoolized.
     9The group cohomology spkg will be refactored as follows:
    1510
    16 I am upstream, and you find the tarball at http://users.minet.uni-jena.de/cohomology/ (To be precise: http://users.minet.uni-jena.de/cohomology/modular_resolution-1.0.tar.bz2).
    17 
    18 The next step will be to relocate all the Cython and Python source files from the old package into the !SageMath library, say, sage.groups.modular_cohomology.
    19 
    20 And the final step will be to fix the doctests somehow. I think there should be a way to declare that the tests of all files in sage.group.modular_cohomology are optional.
     11- It depends on the optional meataxe package (see #12103), which is based on the most recent upstream version available in Aachen and is of independent use in Sage (as it speeds up matrix arithmetic over some fields).
     12- Its first component is a refactored version of David Green's code, which is based on the new optional meataxe package, does proper error propagation, and is built using autotools.
     13- Its second component is all the Python/Cython/Gap/Singular code, that spkg-install installs the pip way.
     14- The custom logging in the old spkg is replaced by Python's logging module.
     15- The tests avoid side-effects by using a reset function. Hence, no custom doc tester is needed.
     16- In some way (perhaps using google-style docstrings) the docs are built.