#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.