-
-
Notifications
You must be signed in to change notification settings - Fork 490
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
give a basis for homology and cohomology of chain complexes in terms of given generators #6100
Comments
Attachment: 13222.patch.gz main patch, implementing generators |
Doctest added |
comment:2
Attachment: 13223.patch.gz Generators of homology now computable via generators=true option in the homology() method of chain_complex. Known issues: If S is a simplicial complex, S.homology(generators=true) has not been directly implemented. 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. |
comment:3
Replying to @sagetrac-sault: Thanks for working on this; I hope we can get it into shape soon, and then into Sage.
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).
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:
It only returns generators in dimensions where there is no incoming differential. When you fix this, add a doctest like
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 |
Author: Shaun Ault |
Reviewer: John Palmieri |
comment:4
Replying to @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
|
comment:5
Hi Shaun, You should also look at ticket #8302, which now has a positive review and so should be merged some time soon. You might want to base your patches on that. In particular, you should look at how keywords are passed between the various homology and chain complex methods, and you should look at how the Sage interface to CHomP returns generators. Your patch should be consistent with that (and you could add to the file homology/tests.py -- added in #8302 -- to test that your patch and CHomP produce compatible results). Since you're just dealing with generators for chain complexes, I don't know if it's worth putting a warning in the homology method for cell complexes, or at least in the docstring: if someone asks for generators and they don't have chomp installed, it will pass |
Attachment: trac_6100-basis_homology-ts.patch.gz |
comment:6
I've uploaded a patch which combines the two previous patches and hopefully addresses the issues you've mentioned. For patchbot: Apply: trac_6100-basis_homology-ts.patch |
This comment has been minimized.
This comment has been minimized.
Dependencies: #5882 |
Changed reviewer from John Palmieri to John Palmieri, Volker Braun |
Changed author from Shaun Ault to Shaun Ault, Travis Scrimshaw |
This comment has been minimized.
This comment has been minimized.
comment:7
Looks good to me. |
Merged: sage-5.11.beta0 |
comment:10
Follow-up question: |
comment:11
See #30838 for a followup (not related to the Lie algebra question). |
Add functionality so that we can compute a basis for (co)homology in dimension n of a chain complex C_* in terms of a given basis for C_n.
Apply: attachment: trac_6100-basis_homology-ts.patch
Depends on #5882
CC: @jhpalmieri @antieau
Component: algebraic topology
Author: Shaun Ault, Travis Scrimshaw
Reviewer: John Palmieri, Volker Braun
Merged: sage-5.11.beta0
Issue created by migration from https://trac.sagemath.org/ticket/6100
The text was updated successfully, but these errors were encountered: