{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/efficient-algorithms-for-complexes-of","title":"Efficient Algorithms for Complexes of Persistence Modules with Applications","arxiv_id":"2403.10958","date":"2024-03-16","proceeding":null,"authors":["Tamal K. Dey","Florian Russold","Shreyas N. Samaga"],"abstract":"We extend the persistence algorithm, viewed as an algorithm computing the homology of a complex of free persistence or graded modules, to complexes of modules that are not free. We replace persistence modules by their presentations and develop an efficient algorithm to compute the homology of a complex of presentations. To deal with inputs that are not given in terms of presentations, we give an efficient algorithm to compute a presentation of a morphism of persistence modules. This allows us to compute persistent (co)homology of instances giving rise to complexes of non-free modules. Our methods lead to a new efficient algorithm for computing the persistent homology of simplicial towers and they enable efficient algorithms to compute the persistent homology of cosheaves over simplicial towers and cohomology of persistent sheaves on simplicial complexes. We also show that we can compute the cohomology of persistent sheaves over arbitrary finite posets by reducing the computation to a computation over simplicial complexes.","url_abs":"https://arxiv.org/abs/2403.10958v1","url_pdf":"https://arxiv.org/pdf/2403.10958v1.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"links_only","authors_date_abstract":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license), from the Kaggle arXiv metadata snapshot of 2026-09-12"},"code_links":[{"paper_slug":"efficient-algorithms-for-complexes-of","repo_url":"https://github.com/tda-jyamiti/algos-cplxs-pers-modules","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"none","reach":{"status":"ok"}}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2403.10958","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2403.10958"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/tda-jyamiti/algos-cplxs-pers-modules","reach":{"status":"ok"}}],"summary":{"ran":5,"unverified":1},"by_repo_kind":{"official":{"samples":6,"ran":5,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":6,"samples":[{"code_sha256_prefix":"c5fbab27ffa8297d","entry":"col_redn","repo":"tda-jyamiti/algos-cplxs-pers-modules","repo_kind":"official","path":"utils.py","file_url":"https://github.com/tda-jyamiti/algos-cplxs-pers-modules/blob/HEAD/utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"c5fbab27ffa8297d"}},{"code_sha256_prefix":"88bef6efb0728136","entry":"compute_bars_birth_rows","repo":"tda-jyamiti/algos-cplxs-pers-modules","repo_kind":"official","path":"main_graph.py","file_url":"https://github.com/tda-jyamiti/algos-cplxs-pers-modules/blob/HEAD/main_graph.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"88bef6efb0728136"}},{"code_sha256_prefix":"8eef36561c9e1363","entry":"get_graph","repo":"tda-jyamiti/algos-cplxs-pers-modules","repo_kind":"official","path":"main_graph.py","file_url":"https://github.com/tda-jyamiti/algos-cplxs-pers-modules/blob/HEAD/main_graph.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"8eef36561c9e1363"}},{"code_sha256_prefix":"a65fc0b53ad5dd79","entry":"get_sparse_matrix_from_dict","repo":"tda-jyamiti/algos-cplxs-pers-modules","repo_kind":"official","path":"utils.py","file_url":"https://github.com/tda-jyamiti/algos-cplxs-pers-modules/blob/HEAD/utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"a65fc0b53ad5dd79"}},{"code_sha256_prefix":"2b58efee496366a3","entry":"time_func","repo":"tda-jyamiti/algos-cplxs-pers-modules","repo_kind":"official","path":"utils.py","file_url":"https://github.com/tda-jyamiti/algos-cplxs-pers-modules/blob/HEAD/utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"2b58efee496366a3"}},{"code_sha256_prefix":"6cd4822954fa07c5","entry":"compute_bars_birth_cols","repo":"tda-jyamiti/algos-cplxs-pers-modules","repo_kind":"official","path":"main_graph.py","file_url":"https://github.com/tda-jyamiti/algos-cplxs-pers-modules/blob/HEAD/main_graph.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"6cd4822954fa07c5"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}