{"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-neural-operator-for","title":"Equivariant Graph Neural Operator for Modeling 3D Dynamics","arxiv_id":"2401.11037","date":"2024-01-19","proceeding":null,"authors":["Minkai Xu","Jiaqi Han","Aaron Lou","Jean Kossaifi","Arvind Ramanathan","Kamyar Azizzadenesheli","Jure Leskovec","Stefano Ermon","Anima Anandkumar"],"abstract":"Modeling the complex three-dimensional (3D) dynamics of relational systems is an important problem in the natural sciences, with applications ranging from molecular simulations to particle mechanics. Machine learning methods have achieved good success by learning graph neural networks to model spatial interactions. However, these approaches do not faithfully capture temporal correlations since they only model next-step predictions. In this work, we propose Equivariant Graph Neural Operator (EGNO), a novel and principled method that directly models dynamics as trajectories instead of just next-step prediction. Different from existing methods, EGNO explicitly learns the temporal evolution of 3D dynamics where we formulate the dynamics as a function over time and learn neural operators to approximate it. To capture the temporal correlations while keeping the intrinsic SE(3)-equivariance, we develop equivariant temporal convolutions parameterized in the Fourier space and build EGNO by stacking the Fourier layers over equivariant networks. EGNO is the first operator learning framework that is capable of modeling solution dynamics functions over time while retaining 3D equivariance. Comprehensive experiments in multiple domains, including particle simulations, human motion capture, and molecular dynamics, demonstrate the significantly superior performance of EGNO against existing methods, thanks to the equivariant temporal modeling. Our code is available at https://github.com/MinkaiXu/egno.","url_abs":"https://arxiv.org/abs/2401.11037v2","url_pdf":"https://arxiv.org/pdf/2401.11037v2.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-neural-operator-for","repo_url":"https://github.com/minkaixu/egno","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"operator-learning","task_name":"Operator learning"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2401.11037","atlas_url":"https://app.syntology.ai/?focus=2401.11037","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2401.11037"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+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/minkaixu/egno","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":9,"ran_fixture":2,"unverified":2},"by_repo_kind":{"official":{"samples":13,"ran":11,"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":"c13557c4c4b42aff","entry":"aggregate","repo":"minkaixu/egno","repo_kind":"official","path":"model/basic.py","file_url":"https://github.com/minkaixu/egno/blob/HEAD/model/basic.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"c13557c4c4b42aff"}},{"code_sha256_prefix":"d46f2eac5def9db4","entry":"collector","repo":"minkaixu/egno","repo_kind":"official","path":"utils.py","file_url":"https://github.com/minkaixu/egno/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":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d46f2eac5def9db4"}},{"code_sha256_prefix":"09a6af5717cfe3e4","entry":"collector_simulation","repo":"minkaixu/egno","repo_kind":"official","path":"utils.py","file_url":"https://github.com/minkaixu/egno/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":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"09a6af5717cfe3e4"}},{"code_sha256_prefix":"99eee5d4194d3501","entry":"collector_simulation_no","repo":"minkaixu/egno","repo_kind":"official","path":"utils.py","file_url":"https://github.com/minkaixu/egno/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":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"99eee5d4194d3501"}},{"code_sha256_prefix":"04548c6c9fff2b3f","entry":"default_init","repo":"minkaixu/egno","repo_kind":"official","path":"model/layer_no.py","file_url":"https://github.com/minkaixu/egno/blob/HEAD/model/layer_no.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"04548c6c9fff2b3f"}},{"code_sha256_prefix":"b663f5d919fd45e0","entry":"get_timestep_embedding","repo":"minkaixu/egno","repo_kind":"official","path":"model/layer_no.py","file_url":"https://github.com/minkaixu/egno/blob/HEAD/model/layer_no.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"b663f5d919fd45e0"}},{"code_sha256_prefix":"efc11ed98d6d5af4","entry":"get_velocity_attr","repo":"minkaixu/egno","repo_kind":"official","path":"main_md17_no.py","file_url":"https://github.com/minkaixu/egno/blob/HEAD/main_md17_no.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":"00b1bc1dee272f18","entry":"parse_amc","repo":"minkaixu/egno","repo_kind":"official","path":"motion/amc_parser.py","file_url":"https://github.com/minkaixu/egno/blob/HEAD/motion/amc_parser.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"00b1bc1dee272f18"}},{"code_sha256_prefix":"2cafa259d5ab3508","entry":"read_line","repo":"minkaixu/egno","repo_kind":"official","path":"motion/amc_parser.py","file_url":"https://github.com/minkaixu/egno/blob/HEAD/motion/amc_parser.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"2cafa259d5ab3508"}},{"code_sha256_prefix":"bc66f19be57720e7","entry":"unsorted_segment_mean","repo":"minkaixu/egno","repo_kind":"official","path":"model/basic.py","file_url":"https://github.com/minkaixu/egno/blob/HEAD/model/basic.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":"f34882fce4b22d20","entry":"variance_scaling","repo":"minkaixu/egno","repo_kind":"official","path":"model/layer_no.py","file_url":"https://github.com/minkaixu/egno/blob/HEAD/model/layer_no.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f34882fce4b22d20"}},{"code_sha256_prefix":"7d820c2f22842d1c","entry":"collate_mda","repo":"minkaixu/egno","repo_kind":"official","path":"mdanalysis/dataset.py","file_url":"https://github.com/minkaixu/egno/blob/HEAD/mdanalysis/dataset.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":"7d820c2f22842d1c"}},{"code_sha256_prefix":"950a677b2fa6cb95","entry":"collate_mdd","repo":"minkaixu/egno","repo_kind":"official","path":"mdanalysis/dataset.py","file_url":"https://github.com/minkaixu/egno/blob/HEAD/mdanalysis/dataset.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":"950a677b2fa6cb95"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}