#14492: Modular group cohomology, version 2.1.4
--------------------------------------+-------------------------------------
       Reporter:  SimonKing           |         Owner:  tbd         
           Type:  defect              |        Status:  needs_review
       Priority:  major               |     Milestone:  sage-5.10   
      Component:  packages: optional  |    Resolution:              
       Keywords:  group cohomology    |   Work issues:              
Report Upstream:  N/A                 |     Reviewers:              
        Authors:  SimonKing           |     Merged in:              
   Dependencies:                      |      Stopgaps:              
--------------------------------------+-------------------------------------
Description changed by SimonKing:

Old description:

> Because of several backward incompatible internal changes in Sage (e.g.,
> removing SAGE_DATA and moving it to SAGE_SHARE), the current version of
> the optional group cohomology package `p_group_cohomology` did not work.
>
> Moreover, tmp_dir used to return a string, but now it also creates a
> directory; for this reason, many tests failed.
>
> And also some random generators (in GAP?) seem to have changed. For this
> reason, some ring presentations have changed (i.e., the rings are
> isomorphic, but a different presentation is obtained with an old or with
> a new Sage version). Hence, doctests needed to change.
>
> In any case: The new group cohomology spkg copes with these changes.
> However, it will therefore ''not'' work with old Sage versions.
>
> __Further implementation changes__
>
> * Since this spkg ''is'' the upstream source, the source code is still
> contained in the mercurial repository. Change: Now, mercurial queues are
> used (this made it a bit easier for me to manage the changes while
> developing).
> * urllib2 is used, which to me seems to work a bit better than urllib.
> * The new version uses `os.path.join` and `os.path.split`, rather than
> string concatenation using a non-portable path separator `'/'`.
> * The old version had a bug related with pickling: In order to keep the
> data base created by a user separate from the data base that is shared by
> all users of an installation, soft links were used. But when one saves
> new data into a file that used to be the name of a soft link, one should
> unlink the link first. This is fixed in the new version.
> * The protocol output has changed. In a typical cohomology computation,
> several cohomology rings are involved (the ring to-be-computed, the
> cohomology ring of a Sylow subgroup, or of a maximal elementary abelian
> subgroup, etc). The new protocol output tells in which ring the current
> computation happens.
>
> __Change of algorithms__
>
> The first change: If no new relation has been found in degree n-1, then a
> ''complete'' Gröbner basis of the relation ideal is computed, even if a
> completeness criterion can not be applied yet. This simple change reduces
> the computation time for the mod-3 cohomology of J3 by several days.
>
> The second change: By mistake, the old version would attempt to prove
> completeness with the Hilbert-Poincaré criterion, even if the Symonds
> criterion has already shown that the ring is incomplete. Now, the
> Hilbert-Poincaré criterion is only used if the Symonds criterion has not
> been conclusive.
>
> The third change: In the old version, it was first tested that the
> current ring approximation contains parameters for the complete
> cohomology ring, and then such parameters have been constructed using the
> relations in the ring approximation. These relations can be rather
> complicated. Therefore, we now compute parameters via restriction to
> maximal elementary abelian subgroups. It is known that a set of elements
> of the ring approximation yields parameters for the cohomology ring, if
> and only if the cohomology of the maximal elementary abelian subgroups is
> finite over the restriction of these elements.
>
> Hence, we can detect parameters even if the ring approximation is far
> from being complete, and we can compute in rings that are much easier to
> deal with. By consequence, it is now in most cases possible to prove
> completeness by the Symonds criterion, which relies on the explicit
> construction of parameters in small degrees. Our other criteria, which
> are able to use an ''existence proof'' for parameters of small degrees
> (without the need of their explicit construction) are of course still
> part of the package, but it became difficult to show examples in which
> they are actually used.
>
> __New features__
>
> There is no substantially new functionality. However, depending on how
> fast the reviewing goes, I could imagine to soon add a method so that
> `gap(H)` returns an algebra in the GAP interface, isomorphic to a
> cohomology ring H.
>
> __SPKG__
>
> [http://sage.math.washington.edu/home/SimonKing/Cohomology/p_group_cohomology-2.1.4.spkg
> p_group_cohomology-2.1.4.spkg]

New description:

 Because of several backward incompatible internal changes in Sage (e.g.,
 removing SAGE_DATA and moving it to SAGE_SHARE), the current version of
 the optional group cohomology package `p_group_cohomology` did not work.

 Moreover, tmp_dir used to return a string, but now it also creates a
 directory; for this reason, many tests failed.

 And also some random generators (in GAP?) seem to have changed. For this
 reason, some ring presentations have changed (i.e., the rings are
 isomorphic, but a different presentation is obtained with an old or with a
 new Sage version). Hence, doctests needed to change.

 In any case: The new group cohomology spkg copes with these changes.
 However, it will therefore ''not'' work with old Sage versions.

 __Further implementation changes__

 * Since this spkg ''is'' the upstream source, the source code is still
 contained in the mercurial repository. Change: Now, mercurial queues are
 used (this made it a bit easier for me to manage the changes while
 developing).
 * urllib2 is used, which to me seems to work a bit better than urllib.
 * The new version uses `os.path.join` and `os.path.split`, rather than
 string concatenation using a non-portable path separator `'/'`.
 * The old version had a bug related with pickling: In order to keep the
 data base created by a user separate from the data base that is shared by
 all users of an installation, soft links were used. But when one saves new
 data into a file that used to be the name of a soft link, one should
 unlink the link first. This is fixed in the new version.
 * The protocol output has changed. In a typical cohomology computation,
 several cohomology rings are involved (the ring to-be-computed, the
 cohomology ring of a Sylow subgroup, or of a maximal elementary abelian
 subgroup, etc). The new protocol output tells in which ring the current
 computation happens.

 __Change of algorithms__

 The first change: If no new relation has been found in degree n-1, then a
 ''complete'' Gröbner basis of the relation ideal is computed, even if a
 completeness criterion can not be applied yet. This simple change reduces
 the computation time for the mod-3 cohomology of J3 by several days.

 The second change: By mistake, the old version would attempt to prove
 completeness with the Hilbert-Poincaré criterion, even if the Symonds
 criterion has already shown that the ring is incomplete. Now, the Hilbert-
 Poincaré criterion is only used if the Symonds criterion has not been
 conclusive.

 The third change: In the old version, it was first tested that the current
 ring approximation contains parameters for the complete cohomology ring,
 and then such parameters have been constructed using the relations in the
 ring approximation. These relations can be rather complicated. Therefore,
 we now compute parameters via restriction to maximal elementary abelian
 subgroups. It is known that a set of elements of the ring approximation
 yields parameters for the cohomology ring, if and only if the cohomology
 of the maximal elementary abelian subgroups is finite over the restriction
 of these elements.

 Hence, we can detect parameters even if the ring approximation is far from
 being complete, and we can compute in rings that are much easier to deal
 with. By consequence, it is now in most cases possible to prove
 completeness by the Symonds criterion, which relies on the explicit
 construction of parameters in small degrees. Our other criteria, which are
 able to use an ''existence proof'' for parameters of small degrees
 (without the need of their explicit construction) are of course still part
 of the package, but it became difficult to show examples in which they are
 actually used.

 __New features__

 There is no substantially new functionality. However, depending on how
 fast the reviewing goes, I could imagine to soon add a method so that
 `gap(H)` returns an algebra in the GAP interface, isomorphic to a
 cohomology ring H.

 __Documentation__

 The documentation can be built locally. It should look as
 [http://sage.math.washington.edu/home/SimonKing/Cohomology/ here]

 __SPKG__

 
[http://sage.math.washington.edu/home/SimonKing/Cohomology/p_group_cohomology-2.1.4.spkg
 p_group_cohomology-2.1.4.spkg]

--

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/14492#comment:2>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to