#19179: Chain homotopies
-------------------------------------+-------------------------------------
       Reporter:  jhpalmieri         |        Owner:
           Type:  enhancement        |       Status:  needs_review
       Priority:  major              |    Milestone:  sage-6.9
      Component:  algebraic          |   Resolution:
  topology                           |    Merged in:
       Keywords:                     |    Reviewers:
        Authors:  John Palmieri      |  Work issues:
Report Upstream:  N/A                |       Commit:
         Branch:                     |  07c9c4258f68999ecf4e2659890a3385c8f8aa0e
  u/jhpalmieri/chains                |     Stopgaps:
   Dependencies:  #6102              |
-------------------------------------+-------------------------------------

Comment (by cnassau):

 I've been playing around with this for the last week and I'm essentially
 ready to give the ticket a positive review. I can think of a couple of
 very minor improvements that might be better addressed in a follow-up
 ticket:
    - add syntactic sugar to replace `H._g` with something like `H[1]`, or
 `H.endpoint(1)` or whatever
    - create a parent for chain homotopies so that linear combinations can
 be taken easily

 I encountered one more serious surprise in my experiments, and I'm not
 quite sure how to address this: I was starting with a chain complex `C`
 over the integers, and I wanted to work with its reduction modulo 2. The
 code that I came up with actually messed up the original complex:
 {{{
 sage: d1 = matrix([[-1,1,0],[1,-1,0],[-1,0,1],[1,0,-1]]).transpose()
 sage: d2 = matrix([[-1,-1,+1,+1],[1,1,1,1]]).transpose()
 sage: C=ChainComplex({2:d2,1:d1},degree_of_differential=-1,base_ring=ZZ)
 sage: ascii_art(C)
                                 [-1  1]
             [-1  1 -1  1]       [-1  1]
             [ 1 -1  0  0]       [ 1  1]
             [ 0  0  1 -1]       [ 1  1]
  0 <-- C_0 <-------------- C_1 <-------- C_2 <-- 0
 sage:
 
D=ChainComplex(C._diff,degree_of_differential=C.degree_of_differential(),base_ring=GF(2))
 sage: ascii_art(C)
                             [1 1]
             [1 1 1 1]       [1 1]
             [1 1 0 0]       [1 1]
             [0 0 1 1]       [1 1]
  0 <-- C_0 <---------- C_1 <------ C_2 <-- 0
 }}}
 I would have expected an error here, and possibly a more convenient way to
 carry out the base change.

 As for the patchbot errors: these are a bit confusing; I think they're all
 due to the fact that the dependencies of the ticket have not been properly
 merged for the test. Given the dependencies with #6101, #6102 I wonder if
 it isn't the best approach to approve them all at once, eventually.... (?)

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