#19587: Implement the Chow ring of a matroid
-------------------------------------+-------------------------------------
       Reporter:  tscrim             |        Owner:  tscrim
           Type:  enhancement        |       Status:  positive_review
       Priority:  major              |    Milestone:  sage-6.10
      Component:  matroid theory     |   Resolution:
       Keywords:                     |    Merged in:
        Authors:  Travis Scrimshaw   |    Reviewers:  Rudi Pendavingh
Report Upstream:  N/A                |  Work issues:
         Branch:                     |       Commit:
  public/matroids/chow_ring-19587    |  7bb4a54b8c4c0fb622f9ea9bb7aeef2aec1518fa
   Dependencies:                     |     Stopgaps:
-------------------------------------+-------------------------------------
Changes (by Rudi):

 * status:  needs_review => positive_review
 * reviewer:   => Rudi Pendavingh


Comment:

 Hi Travis,

 I reviewed the code. I was worried that I might not have the necessary
 background to verify if the algebra is correct, but the definition of the
 chow ring is right on page one of the paper you refer to and is pretty
 straightforward. Your implementation follows the definition exactly.

 The code also works on my favorite fringe cases, the empty matroid,
 several other rank-0 matroids, some uniform matroids, and on various other
 small matroids.

 As far as I can tell the code is correct, looks good, survives doctesting,
 so positive review! Thank you for keeping the sage up to speed with the
 very latest developments in matroid theory this way.

 The running time of your code does increase steeply with the size/rank of
 the matroid.
 {{{
 sage: M=matroids.Uniform(3,5)
 sage: M.chow_ring().gens()
 }}}
 is more or less instantaneous, but M=matroids.Uniform(4,5) simply does not
 finish on my machine, and neither does M=matroids.Uniform(3,6). Also, the
 computation for P8 gets killed by my linux machine, probably due to
 excessive resource hogging.

 Looking at the definition of chow ring, that makes sense. The full set of
 flats is simply a very very big set of generators already for small
 matroids. Just looking at the definition (and blissfully unaware of any
 further theory),  I wonder if computing the chow ring recursively may be
 more efficient, e.g. first computing the chow ring of the truncation, then
 adding the generators and relations involving the hyperplanes. Or perhaps
 another recursion, where you first compute a deletion or contraction
 minor.

--
Ticket URL: <http://trac.sagemath.org/ticket/19587#comment:2>
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