#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.4
  Component:  algebraic topology  |    Keywords:            
     Author:  Shaun Ault          |    Upstream:  N/A       
   Reviewer:  John Palmieri       |      Merged:            
Work_issues:                      |  
----------------------------------+-----------------------------------------

Comment(by sault):

 Replying to [comment:3 jhpalmieri]:

 Thanks John, for reviewing this patch and for spotting the bugs/omissions.
 I'll be working on this today and I hope to get it up to speed soon.

 -S


 > 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: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