#6102: cohomology ring of simplicial complexes
-------------------------------------+-------------------------------------
       Reporter:  bantieau           |        Owner:  bantieau
           Type:  enhancement        |       Status:  needs_review
       Priority:  major              |    Milestone:  sage-6.4
      Component:  algebraic          |   Resolution:
  topology                           |    Merged in:
       Keywords:                     |    Reviewers:
        Authors:  John Palmieri      |  Work issues:
Report Upstream:  N/A                |       Commit:
         Branch:  u/jhpalmieri/AT-   |  5923e23d857ecdda88cd84d8b70d0ea2228acbde
  model                              |     Stopgaps:
   Dependencies:  #19179             |
-------------------------------------+-------------------------------------

Comment (by jhpalmieri):

 An update: I have a new version of `algebraic_topological_model.py`, which
 is the key to everything here. I'm calling it `AT_model.py`, and I'll
 attach it to the ticket. The good news:

 - it works for Delta complexes
 - it's faster with mod 2 coefficients:
 {{{
 sage: from sage.homology.algebraic_topological_model import
 algebraic_topological_model
 sage: from sage.homology.AT_model import AT_model
 sage: RP3 = simplicial_complexes.RealProjectiveSpace(3)
 sage: %time phi, H = algebraic_topological_model(RP3, GF(2)) # old version
 CPU times: user 813 ms, sys: 150 ms, total: 963 ms
 Wall time: 852 ms
 sage: %time phi, H = AT_model(RP3, GF(2))     # new version
 CPU times: user 345 ms, sys: 32.3 ms, total: 377 ms
 Wall time: 354 ms
 }}}
 The bad news: it's ''much'' slower with rational coefficients, and I have
 no idea why:
 {{{
 sage: %time phi, H = algebraic_topological_model(RP3, QQ)   # old version
 CPU times: user 1.27 s, sys: 138 ms, total: 1.41 s
 Wall time: 1.35 s
 sage: %time phi, H = AT_model(RP3, QQ)      # new version
 CPU times: user 23.9 s, sys: 69.6 ms, total: 24 s
 Wall time: 24 s
 }}}
 Profiling the code with `%prun` was not illuminating to me, and I couldn't
 run `%crun` because I couldn't get
 [https://github.com/gperftools/gperftools the Google performance analysis
 tools] to install on my machine. Optimizing code is not my strong suit, in
 any case.

 Because of this, I haven't tried to implement cup products for Delta
 complexes. I think I know how to do that, but it hasn't felt worth it yet.

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