{"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/geometric-and-physical-quantities-improve-e-3","title":"Geometric and Physical Quantities Improve E(3) Equivariant Message Passing","arxiv_id":"2110.02905","date":"2021-10-06","proceeding":"ICLR 2022 4","authors":["Johannes Brandstetter","Rob Hesselink","Elise van der Pol","Erik J Bekkers","Max Welling"],"abstract":"Including covariant information, such as position, force, velocity or spin is important in many tasks in computational physics and chemistry. We introduce Steerable E(3) Equivariant Graph Neural Networks (SEGNNs) that generalise equivariant graph networks, such that node and edge attributes are not restricted to invariant scalars, but can contain covariant information, such as vectors or tensors. This model, composed of steerable MLPs, is able to incorporate geometric and physical information in both the message and update functions. Through the definition of steerable node attributes, the MLPs provide a new class of activation functions for general use with steerable feature fields. We discuss ours and related work through the lens of equivariant non-linear convolutions, which further allows us to pin-point the successful components of SEGNNs: non-linear message aggregation improves upon classic linear (steerable) point convolutions; steerable messages improve upon recent equivariant graph networks that send invariant messages. We demonstrate the effectiveness of our method on several tasks in computational physics and chemistry and provide extensive ablation studies.","url_abs":"https://arxiv.org/abs/2110.02905v3","url_pdf":"https://arxiv.org/pdf/2110.02905v3.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":"geometric-and-physical-quantities-improve-e-3","repo_url":"https://github.com/robdhess/steerable-e3-gnn","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"geometric-and-physical-quantities-improve-e-3","repo_url":"https://github.com/gerkone/segnn-jax","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"jax","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"graph-property-prediction","task_name":"Graph Property Prediction"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/graph-property-prediction-on-qm9","task":"Graph Property Prediction","dataset":"QM9","model":"SEGNN","rank_in_archive_order":9,"of":10,"metrics":{"Standardized MAE":"1.08","alpha (ma)":"60","gap (meV)":"42","logMAE":"-5.27"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2110.02905","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2110.02905"}},"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/gerkone/segnn-jax","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/robdhess/steerable-e3-gnn","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":8},"by_repo_kind":{"official":{"samples":5,"ran":0,"repositories":1},"listed":{"samples":3,"ran":0,"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":"1171171b62e0ac43","entry":"InstanceNorm","repo":"robdhess/steerable-e3-gnn","repo_kind":"official","path":"models/segnn/segnn.py","file_url":"https://github.com/robdhess/steerable-e3-gnn/blob/HEAD/models/segnn/segnn.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":"1171171b62e0ac43"}},{"code_sha256_prefix":"9f7bf38381aa3222","entry":"O3TensorProduct","repo":"robdhess/steerable-e3-gnn","repo_kind":"official","path":"models/segnn/segnn.py","file_url":"https://github.com/robdhess/steerable-e3-gnn/blob/HEAD/models/segnn/segnn.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":"9f7bf38381aa3222"}},{"code_sha256_prefix":"b6e3e19d513294a7","entry":"O3TensorProductSwishGate","repo":"robdhess/steerable-e3-gnn","repo_kind":"official","path":"models/segnn/segnn.py","file_url":"https://github.com/robdhess/steerable-e3-gnn/blob/HEAD/models/segnn/segnn.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":"b6e3e19d513294a7"}},{"code_sha256_prefix":"a7fca12b2eefe502","entry":"SEGNN","repo":"robdhess/steerable-e3-gnn","repo_kind":"official","path":"models/segnn/segnn.py","file_url":"https://github.com/robdhess/steerable-e3-gnn/blob/HEAD/models/segnn/segnn.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":"a7fca12b2eefe502"}},{"code_sha256_prefix":"685755f1fe2e1aac","entry":"SEGNNLayer","repo":"robdhess/steerable-e3-gnn","repo_kind":"official","path":"models/segnn/segnn.py","file_url":"https://github.com/robdhess/steerable-e3-gnn/blob/HEAD/models/segnn/segnn.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":"685755f1fe2e1aac"}},{"code_sha256_prefix":"94758c31f6143bca","entry":"config","repo":"gerkone/segnn-jax","repo_kind":"listed","path":"segnn_jax/config.py","file_url":"https://github.com/gerkone/segnn-jax/blob/HEAD/segnn_jax/config.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":"94758c31f6143bca"}},{"code_sha256_prefix":"0afd518896c69568","entry":"get_cormorant_features","repo":"gerkone/segnn-jax","repo_kind":"listed","path":"experiments/qm9/dataset.py","file_url":"https://github.com/gerkone/segnn-jax/blob/HEAD/experiments/qm9/dataset.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":"0afd518896c69568"}},{"code_sha256_prefix":"e782bfec3086d0e8","entry":"numpy_collate","repo":"gerkone/segnn-jax","repo_kind":"listed","path":"experiments/nbody/utils.py","file_url":"https://github.com/gerkone/segnn-jax/blob/HEAD/experiments/nbody/utils.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":"e782bfec3086d0e8"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}