#13295: p_group_cohomology 2.1.3
----------------------------------------------------------------+-----------
       Reporter:  SimonKing                                     |         
Owner:              
           Type:  defect                                        |        
Status:  needs_review
       Priority:  major                                         |     
Milestone:  sage-5.4    
      Component:  optional packages                             |    
Resolution:              
       Keywords:  group cohomology                              |   Work 
issues:  Fix tests   
Report Upstream:  None of the above - read trac for reasoning.  |     
Reviewers:              
        Authors:  Simon King                                    |     Merged 
in:              
   Dependencies:  database_gap-4.4.12.p1, #13123                |      
Stopgaps:              
----------------------------------------------------------------+-----------

Old description:

> There is a new version of the optional p_group_cohomology package.
>
> '''__Installation__'''
>
> First, install Gap's Small Groups library (contained in the database_gap
> spkg). Then, do
> {{{
> sage -i
> http://sage.math.washington.edu/home/SimonKing/Cohomology/p_group_cohomology-2.1.3.spkg
> }}}
>
> '''__Testing__'''
>
> If the environment variable `SAGE_CHECK` is set to `yes`, then a test
> suite is run. This will take a considerable amount of time (the test
> coverage is 100%). Parallel testing is possible by setting the
> environment variable `SAGE_NUMBER_THREADS` to the number of threads being
> used.
>
> '''__Documentation__'''
>
> Set the environment variable SAGE_SPKG_INSTALL_DOCS to yes. Then, while
> installing the package, the documentation will be put into
> `SAGE_ROOT/local/share/doc/p_group_cohomology/html/`. Or see
> [http://sage.math.washington.edu/home/SimonKing/Cohomology/ here]
>
> '''__Reasons for upgrading__'''
>
> __Name mangling__
>
> There has been yet another Cython upgrade between sage-5.0 and sage-5.2.
> By consequence, Python's infamous name mangling now also applies to
> Python classes defined in Cython code:
> {{{
> sage: cython("""
> ....: class Foo:
> ....:     def __init__(self):
> ....:         self.__cache = "hi"
> ....: """)
> sage: F = Foo()
> sage: F.__cache
> ---------------------------------------------------------------------------
> AttributeError                            Traceback (most recent call
> last)
>
> /home/simon/SAGE/prerelease/sage-5.2.rc0/<ipython console> in <module>()
>
> AttributeError: Foo instance has no attribute '__cache'
> sage: F._Foo__cache
> 'hi'
> }}}
> In Sage-5.0, the attribute `F.__cache` would be available. Hence, I had
> to rename some attributes.
>
> __An improved heuristics for choosing between Hilbert-Poincaré and
> Symonds criteria__
>
> The new version uses an improved heuristics for deciding what methods
> should be used to construct parameters (without extending the base field)
> or proving the existence of parameters over some extension of the base
> field.
>
> As an example, the new version of the spkg can detect completeness of the
> mod 2 cohomology ring of `SmallGroup(384,5602)` in degree 7 using the
> Hilbert-Poincare criterion, whereas the old version detected completeness
> in degree 10 using Symonds criterion.
>
> __Storing Gap data__
>
> Some computed data (e.g., ideals in the cohomology ring simultaneously
> restricting to zero on a given set of subgroups) are defined in terms of
> data in Gap (namely, subgroups). We would like to store such data, since
> obviously we don't want to recompute everything from scratch.
>
> Unfortunately, pickling of general Gap objects is not available. The new
> spkg version works around, so that pickling works, provided that the Gap
> object can be reconstructed from its string representation (which holds,
> e.g., for permutation groups).
>
> __Use lower bounds for the depth__
>
> Some completeness criteria benefit from knowing a good estimate for the
> depth. In some cases, a good estimate is difficult to obtain. In the new
> spkg version, the computation of a good bound can be interrupted by
> Ctrl-C, and then an easier (but potentially weaker) bound is used.
>
> __New web repository__
>
> Due to a hardware problem on sage.math, the data in the old web
> repository are lost. Meanwhile I reconstructed the data and put them to a
> new location (namely my home directory on sage.math) which has a back-up.
> The new spkg version knows about the new location of the repository.
>
> __Creating a private data base__
>
> When creating a "private" data base of cohomology rings, symbolic links
> to the "public" data base (shipped with the package) are created. The old
> spkg version did sometimes fail to create the symbolic links.
>
> __A fix for `MeatAxe` matrices__
>
> In the old spkg version, comparing an MTX matrix with None would have
> resulted in a crash.
>
> '''__Information for the reviewer__'''
>
> I successfully installed and tested the package with sage-5.2.rc0 on an
> `OpenSuse` laptop and on bsd.math. It would be nice to test it on a
> variety of platforms, in particular on machines of different endianness,
> or on 32-bit machines.
>
> Apart from that, there is not much new mathematics in the spkg: It is
> mainly a bug fix release (coping with the Cython upgrade).
>
> __SPKG__
>
> http://sage.math.washington.edu/home/SimonKing/Cohomology/p_group_cohomology-2.1.3.spkg

New description:

 There is a new version of the optional p_group_cohomology package.

 '''__Installation__'''

 First, install Gap's Small Groups library (contained in the database_gap
 spkg). Then, do
 {{{
 sage -i
 
http://sage.math.washington.edu/home/SimonKing/Cohomology/p_group_cohomology-2.1.3.spkg
 }}}

 '''__Testing__'''

 If the environment variable `SAGE_CHECK` is set to `yes`, then a test
 suite is run. This will take a considerable amount of time (the test
 coverage is 100%). Parallel testing is possible by setting the environment
 variable `SAGE_NUM_THREADS` to the number of threads being used, or by
 defining the environment variable `MAKE` to use multiple threads.

 '''__Documentation__'''

 Set the environment variable SAGE_SPKG_INSTALL_DOCS to yes. Then, while
 installing the package, the documentation will be put into
 `SAGE_ROOT/local/share/doc/p_group_cohomology/html/`. Or see
 [http://sage.math.washington.edu/home/SimonKing/Cohomology/ here]

 '''__Reasons for upgrading__'''

 __Name mangling__

 There has been yet another Cython upgrade between sage-5.0 and sage-5.2.
 By consequence, Python's infamous name mangling now also applies to Python
 classes defined in Cython code:
 {{{
 sage: cython("""
 ....: class Foo:
 ....:     def __init__(self):
 ....:         self.__cache = "hi"
 ....: """)
 sage: F = Foo()
 sage: F.__cache
 ---------------------------------------------------------------------------
 AttributeError                            Traceback (most recent call
 last)

 /home/simon/SAGE/prerelease/sage-5.2.rc0/<ipython console> in <module>()

 AttributeError: Foo instance has no attribute '__cache'
 sage: F._Foo__cache
 'hi'
 }}}
 In Sage-5.0, the attribute `F.__cache` would be available. Hence, I had to
 rename some attributes.

 __An improved heuristics for choosing between Hilbert-Poincaré and Symonds
 criteria__

 The new version uses an improved heuristics for deciding what methods
 should be used to construct parameters (without extending the base field)
 or proving the existence of parameters over some extension of the base
 field.

 As an example, the new version of the spkg can detect completeness of the
 mod 2 cohomology ring of `SmallGroup(384,5602)` in degree 7 using the
 Hilbert-Poincare criterion, whereas the old version detected completeness
 in degree 10 using Symonds criterion.

 __Storing Gap data__

 Some computed data (e.g., ideals in the cohomology ring simultaneously
 restricting to zero on a given set of subgroups) are defined in terms of
 data in Gap (namely, subgroups). We would like to store such data, since
 obviously we don't want to recompute everything from scratch.

 Unfortunately, pickling of general Gap objects is not available. The new
 spkg version works around, so that pickling works, provided that the Gap
 object can be reconstructed from its string representation (which holds,
 e.g., for permutation groups).

 __Use lower bounds for the depth__

 Some completeness criteria benefit from knowing a good estimate for the
 depth. In some cases, a good estimate is difficult to obtain. In the new
 spkg version, the computation of a good bound can be interrupted by
 Ctrl-C, and then an easier (but potentially weaker) bound is used.

 __New web repository__

 Due to a hardware problem on sage.math, the data in the old web repository
 are lost. Meanwhile I reconstructed the data and put them to a new
 location (namely my home directory on sage.math) which has a back-up. The
 new spkg version knows about the new location of the repository.

 __Creating a private data base__

 When creating a "private" data base of cohomology rings, symbolic links to
 the "public" data base (shipped with the package) are created. The old
 spkg version did sometimes fail to create the symbolic links.

 __A fix for `MeatAxe` matrices__

 In the old spkg version, comparing an MTX matrix with None would have
 resulted in a crash.

 '''__Information for the reviewer__'''

 I successfully installed and tested the package with sage-5.2.rc0 on an
 `OpenSuse` laptop and on bsd.math. It would be nice to test it on a
 variety of platforms, in particular on machines of different endianness,
 or on 32-bit machines.

 Apart from that, there is not much new mathematics in the spkg: It is
 mainly a bug fix release (coping with the Cython upgrade).

 __SPKG__

 
http://sage.math.washington.edu/home/SimonKing/Cohomology/p_group_cohomology-2.1.3.spkg

--

Comment (by SimonKing):

 I modified the ticket description, since `SAGE_NUMBER_THREADS` now became
 `SAGE_NUM_THREADS`.

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/13295#comment:22>
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 post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sage-trac?hl=en.

Reply via email to