#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.