#6100: give a basis for homology and cohomology of chain complexes in terms of
given generators
----------------------------------+-----------------------------------------
   Reporter:  bantieau            |       Owner:  jhpalmieri
       Type:  enhancement         |      Status:  needs_work
   Priority:  minor               |   Milestone:  sage-4.3.2
  Component:  algebraic topology  |    Keywords:            
     Author:  Shaun Ault          |    Upstream:  N/A       
   Reviewer:  John Palmieri       |      Merged:            
Work_issues:                      |  
----------------------------------+-----------------------------------------
Changes (by newvalueoldvalue):

  * status:  needs_review => needs_work
  * reviewer:  => John Palmieri
  * author:  => Shaun Ault


Comment:

 Replying to [comment:2 sault]:

 Thanks for working on this; I hope we can get it into shape soon, and then
 into Sage.

 > Known issues:  If S is a simplicial complex, S.homology(generators=true)
 has not been directly implemented.

 I know a good way to deal with this, and I'll eventually submit a patch on
 another ticket that takes care of it (as part of an implementation of
 cubical complexes and Delta-complexes, among other things).

 > Furthermore, S.chain_complex().homology(generators=true) computes the
 generators based on the order in which simplices are chosen for computing
 S.chain_complex() -- which is not guaranteed to be the same order in which
 simplices are listed in S.

 I wonder what we can do to fix this.  It might be a lot of work; I'm not
 sure.  Maybe when we build the chain complex, modify the cached list of
 simplices of S?  This is something to think about for another ticket, not
 this one.

 There are three problems with this patch: the main one is that it doesn't
 work with field coefficients:
 {{{
 sage: T = simplicial_complexes.Torus()
 sage: C = T.chain_complex()
 sage: C.homology(base_ring=QQ, generators=True)
 {0: Vector space of dimension 1 over Rational Field, 1: Vector space of
 dimension 2 over Rational Field, 2: (Vector space of dimension 1 over
 Rational Field, [ 1 -1 -1 -1  1 -1 -1  1  1  1  1  1 -1 -1])}
 }}}
 It only returns generators in dimensions where there is no incoming
 differential. When you fix this, add a doctest like
 {{{
 sage: T = simplicial_complexes.Torus()
 sage: C = T.chain_complex()
 sage: C.homology(1, base_ring=QQ, generators=True)
 ???
 }}}

 The second problem is the documentation: you should explain (briefly) the
 format of the output when "generators" is True: it's giving a matrix, and
 you should say exactly what this matrix represents.

 The third issue is minor: the indentation in the docstrings is important,
 but you changed it, so it gives errors when producing the reference
 manual.  The docstring itself also looks bad: from the notebook, define a
 chain complex C and evaluate "C.homology?" to see what the formatted
 docstring looks like.  Or do {{{browse_sage_doc(C.homology)}}} from the
 command line.

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