#18514: Upgrade of group cohomology spkg
-------------------------------------------------+-------------------------
       Reporter:  SimonKing                      |        Owner:
           Type:  defect                         |       Status:
       Priority:  major                          |  needs_review
      Component:  packages: optional             |    Milestone:  sage-6.8
       Keywords:  group cohomology               |   Resolution:
        Authors:  Simon King                     |    Merged in:
Report Upstream:  None of the above - read trac  |    Reviewers:
  for reasoning.                                 |  Work issues:
         Branch:                                 |       Commit:
   Dependencies:  #18494                         |     Stopgaps:
-------------------------------------------------+-------------------------

Comment (by SimonKing):

 It seems that there is no way around creating a new-style spkg, although I
 still find it odd to artificially create an upstream source in a situation
 where the spkg IS upstream. Sigh.

 I have to
 - get a github account (or reactivate an existing account?),
 - learn how to convert the existing hg repository in the spkg to git,
 - look up how to push my private repository to github,
 - do what is said in comment:27.

 Did I forget something?

 Now comes the complicated part.

 The spkg has three sources, namely
 1. C-!MeatAxe
 2. C programs written by David Green
 3. Cython, Python, Gap and Singular code written by me.

 __Ad 1.__

 Actually the starting point is a very old version of C-!MeatAxe. If I see
 that correctly, upstream currently isn't very active. However, compared
 with the version used in the spkg, upstream has changed most function
 names.

 I apply big patches to C-!MeatAxe, as I implemented Strassen
 multiplication. It improves performance a lot (in the old sources).
 However, Strassen still is not implemented in the current upstream
 sources. Two years ago I attended a presentation of one C-!MeatAxe
 developer, and he said that they prefer to optimise the existing
 implementation rather than adding asymptotically fast implementations. It
 didn't convince him when I told him that in the old !MeatAxe, Strassen
 beats school book multiplication for matrices as small as 200x200.

 __Ad 2.__

 David Green's programs have never been published independently. Hence, the
 spkg *is* upstream. The code uses the old C-!MeatAxe extensively.

 __Ad 3.__

 My code has never been published independently. Hence, the spkg *is*
 upstream. It contains a Cython wrapper for the old C-!MeatAxe.

 '''__Conclusion__'''

 I guess in an ideal world, I would create a new spkg for C-!MeatAxe,
 containing my patches and my Cython wrapper and the !MeatAxe executable,
 but starting with current upstream. I would then create a repository for
 Green's and my code. p_group_cohomology would then depend on the new
 !MeatAxe spkg.

 If I recall correctly, I actually have a wrapper for a recent version of
 !MeatAxe, perhaps even with my Strassen implementation. Hence, creating
 the new !MeatAxe spkg might be a feasible first step.

 However, rewriting Green's programs in terms of the new !MeatAxe could be
 a pain in the neck.

 So, as a short term solution, I'd like to keep the proposed version 2.1.5
 of my spkg, that still uses the old C-!MeatAxe, with the prospect that
 version 3.0 should be based on the current !MeatAxe upstream.

--
Ticket URL: <http://trac.sagemath.org/ticket/18514#comment:28>
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.
For more options, visit https://groups.google.com/d/optout.

Reply via email to