#11523: Implementation of Cohen-Macaulay test for simplicial complexes
----------------------------------------------------------+-----------------
Reporter: stumpc5 | Owner:
malb
Type: enhancement | Status:
new
Priority: major | Milestone:
sage-4.7.2
Component: commutative algebra | Keywords:
Cohen-Macaulay, homology, simplicial complexes
Work_issues: further improvement of _enlarge_subcomplex | Upstream:
N/A
Reviewer: | Author:
Christian Stump
Merged: | Dependencies:
----------------------------------------------------------+-----------------
Comment(by stumpc5):
Replying to [comment:3 jhpalmieri]:
Thanks for looking at it again, I hope we can get it into sage soon, as it
was pretty much done. The only reason why I stopped working was that I
thought I can still speed things up, but I never found the time to do so.
I vote for leaving it as it is for now, and if someone (maybe me) needs a
faster version, we get back to it.
> Overall, I think this looks pretty good. Some comments and questions:
> - why have both `is_cohen_macaulay` and `is_cohen_macaulay_parallel`?
When would you ever want to use the first one? With ncpus=1, the parallel
one is about as fast as the first, so should we get rid of the first one?
that was just a left-over, as I first implemented is_cohen_macaulay and
then started to play with the parallel version.
> - on the other hand, when I run the parallel version with ncpus=1, I
sometimes see an error:
> {{{
> Exception OSError: (10, 'No child processes') in <generator object
__call__ at 0x10d20ee10> ignored
> }}}
> and then the computation proceeds. Should we try to catch this and
hide it? Can we do that if it says "ignored"?
If I remember right, this happens not only for 1 cpu, but if a negative
answer is returned without waiting the other parallel sessions to be
finished. I agree that we should catch that error!
> - in my testing
(`timeit('simplicial_complexes.NotIConnectedGraphs(5,2).homology()')`), I
saw no change in the time required to do homology computations from the
old version to the new one, but if you have other ideas for speeding
things up, please implement them.
See my comment at the beginning.
> - the method `face_iterator` has no documentation.
I will add it!
> I don't know if this was ready for review, but I'm attaching a new
version of the patch which makes some of these changes: it renames
`is_cohen_macaulay` to `_is_cohen_macaulay_serial` (so it's hidden),
renames the parallel version to `is_cohen_macaulay`. I wonder if we
should set ncpus to be 2 by default instead of 1? I'll try testing on a
machine with just one cpu to see what effect that has.
Thanks again, I will update your patch as soon as I have done the
changes...
Best, Christian
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/11523#comment:4>
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.