{"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/equivariant-graph-mechanics-networks-with","title":"Equivariant Graph Mechanics Networks with Constraints","arxiv_id":"2203.06442","date":"2022-03-12","proceeding":null,"authors":["Wenbing Huang","Jiaqi Han","Yu Rong","Tingyang Xu","Fuchun Sun","Junzhou Huang"],"abstract":"Learning to reason about relations and dynamics over multiple interacting objects is a challenging topic in machine learning. The challenges mainly stem from that the interacting systems are exponentially-compositional, symmetrical, and commonly geometrically-constrained. Current methods, particularly the ones based on equivariant Graph Neural Networks (GNNs), have targeted on the first two challenges but remain immature for constrained systems. In this paper, we propose Graph Mechanics Network (GMN) which is combinatorially efficient, equivariant and constraint-aware. The core of GMN is that it represents, by generalized coordinates, the forward kinematics information (positions and velocities) of a structural object. In this manner, the geometrical constraints are implicitly and naturally encoded in the forward kinematics. Moreover, to allow equivariant message passing in GMN, we have developed a general form of orthogonality-equivariant functions, given that the dynamics of constrained systems are more complicated than the unconstrained counterparts. Theoretically, the proposed equivariant formulation is proved to be universally expressive under certain conditions. Extensive experiments support the advantages of GMN compared to the state-of-the-art GNNs in terms of prediction accuracy, constraint satisfaction and data efficiency on the simulated systems consisting of particles, sticks and hinges, as well as two real-world datasets for molecular dynamics prediction and human motion capture.","url_abs":"https://arxiv.org/abs/2203.06442v1","url_pdf":"https://arxiv.org/pdf/2203.06442v1.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":"equivariant-graph-mechanics-networks-with","repo_url":"https://github.com/hanjq17/gmn","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2203.06442","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2203.06442"}},"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/hanjq17/gmn","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_fixture":2,"ran_draft_wrong":1,"unverified":2},"by_repo_kind":{"official":{"samples":5,"ran":3,"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":0,"samples":[{"code_sha256_prefix":"efc11ed98d6d5af4","entry":"get_velocity_attr","repo":"hanjq17/gmn","repo_kind":"official","path":"spatial_graph/main_md17.py","file_url":"https://github.com/hanjq17/gmn/blob/HEAD/spatial_graph/main_md17.py","link_basis":"harvester_set","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"efc11ed98d6d5af4"}},{"code_sha256_prefix":"bc66f19be57720e7","entry":"unsorted_segment_mean","repo":"hanjq17/gmn","repo_kind":"official","path":"spatial_graph/models/gcl.py","file_url":"https://github.com/hanjq17/gmn/blob/HEAD/spatial_graph/models/gcl.py","link_basis":"harvester_set","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"bc66f19be57720e7"}},{"code_sha256_prefix":"dfdf6dc1a0720e57","entry":"unsorted_segment_sum","repo":"hanjq17/gmn","repo_kind":"official","path":"spatial_graph/models/gcl.py","file_url":"https://github.com/hanjq17/gmn/blob/HEAD/spatial_graph/models/gcl.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"dfdf6dc1a0720e57"}},{"code_sha256_prefix":"9aaa0db2616bb599","entry":"get_rotation_matrix","repo":"hanjq17/gmn","repo_kind":"official","path":"spatial_graph/n_body_system/dataset/physical_objects.py","file_url":"https://github.com/hanjq17/gmn/blob/HEAD/spatial_graph/n_body_system/dataset/physical_objects.py","link_basis":"harvester_set","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":"9aaa0db2616bb599"}},{"code_sha256_prefix":"0f4545be8210f37b","entry":"projection","repo":"hanjq17/gmn","repo_kind":"official","path":"spatial_graph/n_body_system/dataset/physical_objects.py","file_url":"https://github.com/hanjq17/gmn/blob/HEAD/spatial_graph/n_body_system/dataset/physical_objects.py","link_basis":"harvester_set","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":"0f4545be8210f37b"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}