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

Reply via email to