{"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/principled-simplicial-neural-networks-for","title":"Principled Simplicial Neural Networks for Trajectory Prediction","arxiv_id":"2102.10058","date":"2021-02-19","proceeding":null,"authors":["T. Mitchell Roddenberry","Nicholas Glaze","Santiago Segarra"],"abstract":"We consider the construction of neural network architectures for data on simplicial complexes. In studying maps on the chain complex of a simplicial complex, we define three desirable properties of a simplicial neural network architecture: namely, permutation equivariance, orientation equivariance, and simplicial awareness. The first two properties respectively account for the fact that the node indexing and the simplex orientations in a simplicial complex are arbitrary. The last property encodes the desirable feature that the output of the neural network depends on the entire simplicial complex and not on a subset of its dimensions. Based on these properties, we propose a simple convolutional architecture, rooted in tools from algebraic topology, for the problem of trajectory prediction, and show that it obeys all three of these properties when an odd, nonlinear activation function is used. We then demonstrate the effectiveness of this architecture in extrapolating trajectories on synthetic and real datasets, with particular emphasis on the gains in generalizability to unseen trajectories.","url_abs":"https://arxiv.org/abs/2102.10058v3","url_pdf":"https://arxiv.org/pdf/2102.10058v3.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":"abstracts"},"code_links":[{"paper_slug":"principled-simplicial-neural-networks-for","repo_url":"https://github.com/nglaze00/SCoNe_GCN","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"jax","reach":{"status":"unanswered"}},{"paper_slug":"principled-simplicial-neural-networks-for","repo_url":"https://github.com/cookbook-ms/learning_on_scs","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"jax","reach":null}],"tasks":[{"task_slug":"prediction","task_name":"Prediction"},{"task_slug":"trajectory-prediction","task_name":"Trajectory Prediction"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2102.10058","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2102.10058"}},"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/nglaze00/SCoNe_GCN","reach":{"status":"unanswered"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/cookbook-ms/learning_on_scs","reach":null}],"summary":{"ran":1,"unverified":7},"by_repo_kind":{"official":{"samples":6,"ran":0,"repositories":1},"listed":{"samples":2,"ran":1,"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":2,"samples":[{"code_sha256_prefix":"40cff188639a50d1","entry":"sccnn_conv","repo":"cookbook-ms/learning_on_scs","repo_kind":"listed","path":"simplex_pred/2-simplex_experiments/sccnn_conv.py","file_url":"https://github.com/cookbook-ms/learning_on_scs/blob/HEAD/simplex_pred/2-simplex_experiments/sccnn_conv.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"40cff188639a50d1"}},{"code_sha256_prefix":"3af86d7266bcd905","entry":"chebyshev","repo":"cookbook-ms/learning_on_scs","repo_kind":"listed","path":"simplex_pred/2-simplex_experiments/sccnn_conv.py","file_url":"https://github.com/cookbook-ms/learning_on_scs/blob/HEAD/simplex_pred/2-simplex_experiments/sccnn_conv.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":"3af86d7266bcd905"}},{"code_sha256_prefix":"05e896e36532205e","entry":"incidence_matrices","repo":"nglaze00/scone_gcn","repo_kind":"official","path":"trajectory_analysis/synthetic_data_gen.py","file_url":"https://github.com/nglaze00/scone_gcn/blob/HEAD/trajectory_analysis/synthetic_data_gen.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"05e896e36532205e"}},{"code_sha256_prefix":"4c270e9430d717f2","entry":"random_SC_graph","repo":"nglaze00/scone_gcn","repo_kind":"official","path":"trajectory_analysis/synthetic_data_gen.py","file_url":"https://github.com/nglaze00/scone_gcn/blob/HEAD/trajectory_analysis/synthetic_data_gen.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"4c270e9430d717f2"}},{"code_sha256_prefix":"4e5209e332ac17d2","entry":"relu","repo":"nglaze00/scone_gcn","repo_kind":"official","path":"trajectory_analysis/trajectory_experiments.py","file_url":"https://github.com/nglaze00/scone_gcn/blob/HEAD/trajectory_analysis/trajectory_experiments.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"4e5209e332ac17d2"}},{"code_sha256_prefix":"6ea7d3315d174727","entry":"sigmoid","repo":"nglaze00/scone_gcn","repo_kind":"official","path":"trajectory_analysis/trajectory_experiments.py","file_url":"https://github.com/nglaze00/scone_gcn/blob/HEAD/trajectory_analysis/trajectory_experiments.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"6ea7d3315d174727"}},{"code_sha256_prefix":"48d0c339fcb0d945","entry":"strip_paths","repo":"nglaze00/scone_gcn","repo_kind":"official","path":"trajectory_analysis/synthetic_data_gen.py","file_url":"https://github.com/nglaze00/scone_gcn/blob/HEAD/trajectory_analysis/synthetic_data_gen.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"48d0c339fcb0d945"}},{"code_sha256_prefix":"e38fae028966b3a2","entry":"tanh","repo":"nglaze00/scone_gcn","repo_kind":"official","path":"trajectory_analysis/trajectory_experiments.py","file_url":"https://github.com/nglaze00/scone_gcn/blob/HEAD/trajectory_analysis/trajectory_experiments.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":"VIOLATES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"e38fae028966b3a2"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}