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