#6491: [with spkg, needs review] Modular Cohomology Rings of Finite p-Groups
-------------------------------+--------------------------------------------
Reporter: SimonKing | Owner: SimonKing
Type: enhancement | Status: assigned
Priority: major | Milestone: sage-4.1.1
Component: optional packages | Keywords: cohomology ring finite p-group
Reviewer: | Author: Simon King
Merged: |
-------------------------------+--------------------------------------------
Comment(by SimonKing):
I did an update of my package. You can install it by
{{{
sage -f
http://sage.math.washington.edu/home/SimonKing/Cohomology/p_group_cohomology-1.0.2.spkg
}}}
or without the http stuff as soon as William has moved it into the
repository of experimental spkgs.
I am not sure if it is reasonable to have yet another version number
(1.0.2 instead of 1.0.1). Opinions?
Here are my comments and questions on the new version:
* In this version, I finally use _sig_on/_sig_off. Hence, you should be
able to keyboard interrupt a lengthy computation of a projective
resolution (which was impossible before). Question:
* I know that _sig_on and _sig_off must come in pairs. So, if a method
has _sig_on, then _sig_off should be used before return. But is it also
required to have _sig_off before leaving the method by raising an error?
* As usual, you can run the test suite if before installation you do
{{{export SAGE_CHECK=1}}}.
* Install and test is fine on
* AMD Athlon(tm) 64 Processor 3700+, GNU Linux openSUSE 10.2 (X86-64),
gcc version 4.2.1, sage 4.0.2
* Intel(R) Core(TM)2 CPU, GNU Linux openSUSE 11.0, gcc version 4.3.1,
sage 4.1
Please test on as many platforms as possible!
* In addition to the test suite, I did the following test, that revealed
a time regression that is now fixed:
{{{
sage: from pGroupCohomology import CohomologyRing
sage: tmp_root = tmp_filename()
sage: CohomologyRing.set_user_db(tmp_root)
sage: for i in range(1,268): # testing the performance
....: H =
CohomologyRing.user_db(64,i,options='nosave',websource=False)
....: H.make()
....: save(H, H.autosave_name())
sage: for i in range(1,268): # unit tests
....: H = CohomologyRing.user_db(64,i)
....: if not H.completed:
....: raise RuntimeError,"Forgot to save!"
....: K = CohomologyRing(64,i)
....: if H is K:
....: raise RuntimeError, "H is K"
....: if H!=K:
....: raise RuntimeError, "H!=K"
}}}
* On the AMD Athlon, the above performance test takes roughly 25 CPU
minutes or 45 "real" minutes.
* On the Intel Core 2, it is only about 19 CPU minutes or 37 "real"
minutes. As far as I know, this is a new '''world record''' for the
cohomology computation of the groups of order 64.
'''__News and Changes__'''
* Fixing a severe time regression
* Fixing some error that William revealed by the doc tests on PPC Macbook
* Fixing a minor memory leak
* Using _sig_on/_sig_off
* My Email address has changed, and I provide the new address in the
package.
If no objections arise from the version number and _sig_off questions,
then I think it is ready for review!
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/6491#comment:46>
Sage <http://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
-~----------~----~----~----~------~----~------~--~---